Files
computer-playbook/roles/web-app-wordpress/tasks/main.yml
Kevin Veen-Birkenbach 6ea8301364 Refactor: migrate cmp/* and srv/* roles into sys-stk/* and sys-svc/* namespaces
- Removed obsolete 'cmp' category, introduced 'stk' category (fa-bars-staggered icon).
- Renamed roles:
  * cmp-db-docker → sys-stk-back-stateful
  * cmp-docker-oauth2 → sys-stk-back-stateless
  * srv-domain-provision → sys-stk-front
  * cmp-db-docker-proxy → sys-stk-full-stateful
  * cmp-docker-proxy → sys-stk-full-stateless
  * cmp-rdbms → sys-svc-rdbms
- Updated all include_role references, vars, templates and README.md files.
- Adjusted run_once comments and variable paths accordingly.
- Updated all web-app roles to use new sys-stk/* and sys-svc/* roles.

Conversation: https://chatgpt.com/share/68b0ba66-09f8-800f-86fc-76c47009d431
2025-08-28 22:23:09 +02:00

73 lines
2.4 KiB
YAML

---
- name: "Include role sys-stk-front for {{ application_id }}"
include_role:
name: sys-stk-front
loop: "{{ WORDPRESS_DOMAINS }}"
loop_control:
loop_var: domain
vars:
proxy_extra_configuration: "client_max_body_size {{ WORDPRESS_MAX_UPLOAD_SIZE }};"
http_port: "{{ ports.localhost.http[application_id] }}"
- name: "load docker and db for {{ application_id }}"
include_role:
name: sys-stk-back-stateful
vars:
docker_compose_flush_handlers: false
- name: "Transfering upload.ini to {{ docker_compose.directories.instance }}"
template:
src: upload.ini.j2
dest: "{{ docker_compose.directories.instance }}upload.ini"
notify: docker compose up
- name: "Transfering msmtprc to {{ WORDPRESS_HOST_MSMTP_CONF }}"
template:
src: "{{ playbook_dir }}/roles/sys-svc-msmtp/templates/msmtprc.conf.j2"
dest: "{{ WORDPRESS_HOST_MSMTP_CONF }}"
notify: docker compose up
- name: Flush handlers to make {{ WORDPRESS_CONFIG_FILE }} available before patch
meta: flush_handlers
- name: Check if {{ WORDPRESS_CONFIG_FILE }} exists in WordPress
command: docker exec -u {{ WORDPRESS_USER }} {{ WORDPRESS_CONTAINER }} test -f {{ WORDPRESS_CONFIG_PATH }}
register: wp_config_file_exists
changed_when: false
failed_when: false
- name: Patch WordPress {{ WORDPRESS_CONFIG_FILE }} with updated DB credentials
include_tasks: 01_patch_config.yml
when: wp_config_file_exists.rc == 0
- name: "Install wordpress"
include_tasks: 02_install.yml
- name: "Install and activate WordPress plugins"
block:
- name: "Iterate through WordPress plugins"
include_tasks: 03_enable_plugin.yml
loop: "{{ WORDPRESS_PLUGINS }}"
loop_control:
label: "{{ item.key }}"
vars:
plugin_name: "{{ item.key }}"
plugin_enabled: "{{ item.value.enabled | bool }}"
plugin_task_path: "{{ role_path }}/tasks/plugins/{{ plugin_name }}/install.yml"
when: plugin_enabled
- name: Detect if WordPress is Multisite
command: >
docker exec -u {{ WORDPRESS_USER }} {{ WORDPRESS_CONTAINER }}
wp eval 'echo (int) is_multisite();' --path={{ WORDPRESS_DOCKER_HTML_PATH }}
register: wp_is_multisite
changed_when: false
- name: "Update Single Side WordPress domain"
include_tasks: 04_update_domain.yml
when: (wp_is_multisite.stdout | trim) == '0'
vars:
# Target URL to switch to (uses your helper)
wp_new_url: "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"