Add ticketsystem playbook#2143
Conversation
deploys zammad ticketsystem using docker compose and adds traefik and tailscale so we can access the ticketsystem using a tailscale domain and tailscale SSL certificates.
domgz
left a comment
There was a problem hiding this comment.
I have not reviewed templates/ticket_system/docker_compose.yml.j2, but I have heard that this PR still needs an update, so I will just drop my unfinished review and re-review later.
| @@ -0,0 +1,9 @@ | |||
| --- | |||
| hostname: "ticketsystem.{{ tailscale_domain }}" | |||
| hosts: ticketsystem | ||
| vars_files: | ||
| - secret_group_vars/all.yml | ||
| - group_vars/ticket_system.yml |
There was a problem hiding this comment.
I am aware you prefer to specify which files to load because you find it easier to track it this way. To me it feels like "swimming against a current" (the Ansible design) for not much benefit in exchange. Therefore it comes with downsides (e.g. why did I add another playbook/play for "mygroup" and it's not behaving like other playbooks for "mygroup"?, repeat for every play/playbook, etc).
If you happen to have "room" (and will) for internalizing the part of the variable precedence rules "group vars rule files/directories named after a group are automatically loaded for that group" that's welcome. I won't nag you about this again for a couple of months.
There was a problem hiding this comment.
I know this rule and I also try to use it, pinky promise 😌
| - name: Clone zammad-docker-compose repository | ||
| ansible.builtin.git: | ||
| repo: "https://github.com/zammad/zammad-docker-compose.git" | ||
| dest: "{{ zammad_compose_dir }}" | ||
| version: "{{ zammad_compose_version }}" | ||
| force: false | ||
|
|
||
| - name: Template Docker Compose file | ||
| ansible.builtin.template: | ||
| src: ticket_system/docker_compose.yml.j2 | ||
| dest: "{{ zammad_compose_dir }}/docker-compose.yml" | ||
| owner: root | ||
| group: root | ||
| mode: '0644' | ||
| register: zammad_compose_templated |
There was a problem hiding this comment.
There is something I don't quite get: We are providing the Docker Compose file ourselves via the "Template Docker Compose file" task, and I do not see anything else of value in the Zammad repo (the .env.dist file is all comments). Do we actually need then to clone their repository?
| --- | ||
| hostname: "ticketsystem.{{ tailscale_domain }}" | ||
| zammad_compose_dir: /opt/zammad-docker-compose | ||
| zammad_compose_version: a1feeee |
There was a problem hiding this comment.
deploys zammad ticketsystem using docker compose
and adds traefik and tailscale so we can access the ticketsystem using a tailscale domain and tailscale SSL certificates.
part of: