2024-12-30 13:35:21 +01:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "packages",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.apt": {
|
|
|
|
"update_cache": true,
|
|
|
|
"pkg": [
|
|
|
|
"git",
|
2024-12-31 13:17:26 +01:00
|
|
|
"gcc",
|
|
|
|
"libldap2-dev",
|
|
|
|
"libsasl2-dev",
|
2024-12-30 15:09:22 +01:00
|
|
|
"python3-venv",
|
2024-12-31 13:17:26 +01:00
|
|
|
"python3-dev",
|
2024-12-30 13:35:21 +01:00
|
|
|
"nodejs",
|
|
|
|
"yarnpkg"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "user and directory",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.user": {
|
|
|
|
"name": "{{var_tandoor_user}}",
|
|
|
|
"create_home": true,
|
|
|
|
"home": "{{var_tandoor_directory}}"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "sources",
|
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
|
|
|
"ansible.builtin.git": {
|
|
|
|
"repo": "{{var_tandoor_repository_url}}",
|
|
|
|
"version": "{{var_tandoor_repository_reference}}",
|
2024-12-30 14:55:58 +01:00
|
|
|
"dest": "{{var_tandoor_directory}}/program"
|
2024-12-30 13:35:21 +01:00
|
|
|
}
|
|
|
|
},
|
2024-12-30 17:02:04 +01:00
|
|
|
{
|
|
|
|
"name": "venv",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-30 17:02:04 +01:00
|
|
|
"ansible.builtin.command": {
|
|
|
|
"chdir": "{{var_tandoor_directory}}",
|
|
|
|
"cmd": "python3 -m venv program"
|
|
|
|
}
|
|
|
|
},
|
2024-12-30 13:35:21 +01:00
|
|
|
{
|
|
|
|
"name": "python requirements",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.pip": {
|
2024-12-30 14:55:58 +01:00
|
|
|
"virtualenv": "{{var_tandoor_directory}}/program",
|
2024-12-30 15:09:22 +01:00
|
|
|
"virtualenv_python": "python3",
|
2024-12-30 14:55:58 +01:00
|
|
|
"requirements": "{{var_tandoor_directory}}/program/requirements.txt"
|
2024-12-30 13:35:21 +01:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "database",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-31 13:21:29 +01:00
|
|
|
"environment": {
|
|
|
|
"VIRTUAL_ENV": "{{var_tandoor_directory}}/program",
|
|
|
|
},
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.shell": {
|
2024-12-31 13:23:17 +01:00
|
|
|
"chdir": "{{var_tandoor_directory}}/program",
|
2024-12-30 13:35:21 +01:00
|
|
|
"cmd": "bin/python3 manage.py migrate"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "static files",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-31 13:21:29 +01:00
|
|
|
"environment": {
|
|
|
|
"VIRTUAL_ENV": "{{var_tandoor_directory}}/program",
|
|
|
|
},
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.shell": {
|
2024-12-31 13:23:17 +01:00
|
|
|
"chdir": "{{var_tandoor_directory}}/program",
|
2024-12-30 13:35:21 +01:00
|
|
|
"cmd": "bin/python3 manage.py collectstatic --no-input"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "static files",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-31 13:21:29 +01:00
|
|
|
"environment": {
|
|
|
|
"VIRTUAL_ENV": "{{var_tandoor_directory}}/program",
|
|
|
|
},
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.shell": {
|
2024-12-31 13:23:17 +01:00
|
|
|
"chdir": "{{var_tandoor_directory}}/program",
|
2024-12-30 13:35:21 +01:00
|
|
|
"cmd": "bin/python3 manage.py collectstatic_js_reverse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "frontend stuff",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.shell": {
|
2024-12-30 14:55:58 +01:00
|
|
|
"chdir": "{{var_tandoor_directory}}/program/vue",
|
2024-12-30 13:35:21 +01:00
|
|
|
"cmd": "yarn install && yarn build"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "configuration",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
|
|
|
"become_user": "{{var_tandoor_user}}",
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.template": {
|
|
|
|
"src": "conf.j2",
|
2024-12-30 14:55:58 +01:00
|
|
|
"dest": "{{var_tandoor_directory}}/program/.env"
|
2024-12-30 13:35:21 +01:00
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "systemd unit",
|
2024-12-30 17:04:03 +01:00
|
|
|
"become": true,
|
2024-12-30 13:35:21 +01:00
|
|
|
"ansible.builtin.template": {
|
|
|
|
"src": "systemd-unit.js",
|
|
|
|
"dest": "/etc/systemd/system/tandoor.service"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "start",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.systemd_service": {
|
|
|
|
"enabled": true,
|
|
|
|
"state": "started",
|
|
|
|
"name": "tandoor"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|