136 lines
3.1 KiB
JSON
136 lines
3.1 KiB
JSON
[
|
|
{
|
|
"name": "packages",
|
|
"become": true,
|
|
"ansible.builtin.apt": {
|
|
"update_cache": true,
|
|
"pkg": [
|
|
"git",
|
|
"gcc",
|
|
"libpq-dev",
|
|
"libldap2-dev",
|
|
"libsasl2-dev",
|
|
"python3-venv",
|
|
"python3-dev",
|
|
"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}}",
|
|
"single_branch": true,
|
|
"dest": "{{var_tandoor_directory}}/program",
|
|
"force": true
|
|
}
|
|
},
|
|
{
|
|
"name": "venv",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{var_tandoor_directory}}",
|
|
"cmd": "python3 -m venv program"
|
|
}
|
|
},
|
|
{
|
|
"name": "python requirements",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"ansible.builtin.pip": {
|
|
"virtualenv": "{{var_tandoor_directory}}/program",
|
|
"virtualenv_python": "python3",
|
|
"requirements": "{{var_tandoor_directory}}/program/requirements.txt"
|
|
}
|
|
},
|
|
{
|
|
"name": "configuration",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"ansible.builtin.template": {
|
|
"src": "conf.j2",
|
|
"dest": "{{var_tandoor_directory}}/program/.env",
|
|
"mode": "644"
|
|
}
|
|
},
|
|
{
|
|
"name": "initialize",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"environment": {
|
|
"VIRTUAL_ENV": "{{var_tandoor_directory}}/program"
|
|
},
|
|
"loop": [
|
|
"migrate",
|
|
"collectstatic --no-input",
|
|
"collectstatic_js_reverse"
|
|
],
|
|
"ansible.builtin.shell": {
|
|
"chdir": "{{var_tandoor_directory}}/program",
|
|
"cmd": "bin/python3 manage.py {{item}}"
|
|
}
|
|
},
|
|
{
|
|
"name": "admin account",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"environment": {
|
|
"VIRTUAL_ENV": "{{var_tandoor_directory}}/program"
|
|
},
|
|
"ansible.builtin.shell": {
|
|
"chdir": "{{var_tandoor_directory}}/program",
|
|
"cmd": "DJANGO_SUPERUSER_PASSWORD={{var_tandoor_admin_password}} bin/python3 manage.py createsuperuser --no-input --username {{var_tandoor_admin_username}} --email {{var_tandoor_admin_email}}"
|
|
}
|
|
},
|
|
|
|
{
|
|
"name": "frontend stuff | core",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"ansible.builtin.shell": {
|
|
"chdir": "{{var_tandoor_directory}}/program/vue",
|
|
"cmd": "yarnpkg install && yarnpkg build"
|
|
}
|
|
},
|
|
{
|
|
"name": "frontend stuff | link",
|
|
"become": true,
|
|
"become_user": "{{var_tandoor_user}}",
|
|
"ansible.builtin.file": {
|
|
"type": "link",
|
|
"src": "{{var_tandoor_directory}}/program/cookbook/static/vue",
|
|
"dest": "{{var_tandoor_directory}}/program/staticfiles/vue",
|
|
}
|
|
},
|
|
{
|
|
"name": "systemd unit",
|
|
"become": true,
|
|
"ansible.builtin.template": {
|
|
"src": "systemd-unit.j2",
|
|
"dest": "/etc/systemd/system/tandoor.service"
|
|
}
|
|
},
|
|
{
|
|
"name": "start",
|
|
"become": true,
|
|
"ansible.builtin.systemd_service": {
|
|
"enabled": true,
|
|
"state": "started",
|
|
"name": "tandoor"
|
|
}
|
|
}
|
|
]
|