[ { "name": "packages", "become": true, "ansible.builtin.apt": { "update_cache": true, "pkg": [ "git", "make", "rsync", "nodejs" ] } }, { "name": "user and directory", "become": true, "ansible.builtin.user": { "name": "{{var_arc_core_user}}", "create_home": true, "home": "{{var_arc_core_directory}}" } }, { "name": "program | fetch", "become": true, "become_user": "{{var_arc_core_user}}", "ansible.builtin.git": { "repo": "https://gitlab.die-linke.cloud/arc/core", "version": "{{var_arc_core_git_reference}}", "dest": "/tmp/arc-core-repo" } }, { "name": "program | build", "become": true, "become_user": "{{var_arc_core_user}}", "ansible.builtin.command": { "chdir": "/tmp/arc-core-repo", "cmd": "tools/build --output-directory=/tmp/arc" } }, { "name": "program | deploy", "become": true, "become_user": "{{var_arc_core_user}}", "ansible.builtin.command": { "chdir": "/tmp/arc-core-repo", "cmd": "tools/deploy localhost --build-directory=/tmp/arc --target-directory={{var_arc_core_directory}}" } }, { "name": "configuration", "become": true, "become_user": "{{var_arc_core_user}}", "ansible.builtin.template": { "src": "conf.json.j2", "dest": "{{var_arc_core_directory}}/conf.json" } }, { "name": "systemd unit", "become": true, "ansible.builtin.template": { "src": "systemd_unit.j2", "dest": "/etc/systemd/system/arc.service" } }, { "name": "run", "become": true, "ansible.builtin.systemd_service": { "name": "arc", "enabled": true, "state": "restarted" } } ]