--- - name: Validate the NPM Gitea cutover override tags: [services, gitea_cutover] ansible.builtin.assert: that: - server_gitea_cutover_tools_enabled | bool - server_gitea_npm_domains | length > 0 - server_gitea_npm_domains | select('match', '^[a-zA-Z0-9.-]+$') | list | length == server_gitea_npm_domains | length fail_msg: Declare the exact NPM Gitea hostnames before enabling the Atlas upstream. when: server_gitea_on_atlas | bool - name: Ensure the NPM custom configuration directory exists tags: [services, gitea_cutover] ansible.builtin.file: path: /opt/npm/data/nginx/custom state: directory owner: root group: root mode: "0755" when: server_gitea_cutover_tools_enabled | bool - name: Render the Gitea-only NPM runtime upstream override tags: [services, gitea_cutover] ansible.builtin.template: src: prometheus-gitea-npm-proxy.conf.j2 dest: /opt/npm/data/nginx/custom/server_proxy.conf owner: root group: root mode: "0644" register: server_gitea_npm_override when: server_gitea_on_atlas | bool - name: Remove the Gitea NPM override when source routing is selected tags: [services, gitea_cutover] ansible.builtin.file: path: /opt/npm/data/nginx/custom/server_proxy.conf state: absent when: - server_gitea_cutover_tools_enabled | bool - not server_gitea_on_atlas | bool - name: Validate NPM configuration after a Gitea upstream change tags: [services, gitea_cutover] ansible.builtin.command: argv: [podman, exec, nginx-proxy-manager, nginx, -t] changed_when: false when: - server_gitea_on_atlas | bool - server_gitea_npm_override is changed - not ansible_check_mode - name: Reload NPM after validating the Gitea upstream change tags: [services, gitea_cutover] ansible.builtin.command: argv: [podman, exec, nginx-proxy-manager, nginx, -s, reload] when: - server_gitea_on_atlas | bool - server_gitea_npm_override is changed - not ansible_check_mode