- name: Add admin user community.docker.docker_container_exec: container: "{{ forgejo_app_container_name['stdout'] }}" command: > forgejo admin user create --admin --username {{ forgejo_app_admin_username }} --password {{ forgejo_app_admin_password }} --email {{ forgejo_app_admin_email }} user: git become: true listen: "no admin user" ## Register reverse proxy - name: Upstream directory exists ansible.builtin.file: path: "{{ forgejo_upstream_file_dir }}" state: directory mode: "0755" become: true listen: "update forgejo upstream" - name: Update upstream template ansible.builtin.template: src: upstream.json.j2 dest: "{{ forgejo_upstream_file_dir }}/upstream.json" mode: "0600" become: true listen: "update forgejo upstream" - name: Update ci upstream template ansible.builtin.template: src: upstream_ci.json.j2 dest: "{{ forgejo_upstream_file_dir }}/upstream_ci.json" mode: "0600" become: true listen: "update forgejo upstream" # figure out if upstream id exists - name: check {{ stack_name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl localhost:2019/id/{{ stack_name }}_upstream/ changed_when: False register: result become: true listen: "update forgejo upstream" # upstream already exists, patch it - name: remove old {{ stack_name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X DELETE localhost:2019/id/{{ stack_name }}_upstream/ become: true when: (result.stdout | from_json)['error'] is not defined listen: "update forgejo upstream" # upstream has to be created - name: add {{ stack_name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X POST -H "Content-Type: application/json" -d @{{ forgejo_upstream_file_dir }}/upstream.json localhost:2019/config/apps/http/servers/{{ (forgejo_use_https == True) | ternary(caddy_https_server_name, caddy_http_server_name) }}/routes/0/ become: true listen: "update forgejo upstream" # figure out if upstream id exists - name: check {{ stack_name }}_ci upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl localhost:2019/id/{{ stack_name }}_ci_upstream/ changed_when: False register: result become: true listen: "update forgejo upstream" # upstream for ci already exists, patch it - name: remove old {{ stack_name }}_ci upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X DELETE localhost:2019/id/{{ stack_name }}_ci_upstream/ become: true when: (result.stdout | from_json)['error'] is not defined listen: "update forgejo upstream" # upstream for ci has to be created - name: add {{ stack_name }}_ci upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X POST -H "Content-Type: application/json" -d @{{ forgejo_upstream_file_dir }}/upstream_ci.json localhost:2019/config/apps/http/servers/{{ (forgejo_use_https == True) | ternary(caddy_https_server_name, caddy_http_server_name) }}/routes/0/ become: true listen: "update forgejo upstream" - name: Ensure upstream directory is gone again ansible.builtin.file: path: "{{ forgejo_upstream_file_dir }}" state: absent become: true listen: "update forgejo upstream"