mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
1f870b1e5left two marks the layout rules reject. friendica's utils/ held patch_config.yml beside patch_db_credentials.yml, which is a shared delimiter-bounded prefix, and its numbered files ran 00, 01, 02, 04, 05 with nothing at 03 after the config patch moved out of the sequence. The prefix becomes the folder it was standing in for, the way8e8dbbd08cdid it for the AI files. All four roles move, not only the one the lint could see: the path post_deploy.yml resolves a role's declaration through has to read the same everywhere, so a folder in one role and a prefix in the other three would be no domain at all. utils/patch_db_credentials.yml -> utils/patch/db_credentials.yml (4 roles) utils/patch_config.yml -> utils/patch/config.yml (friendica) The numbers close up behind the file that left: 04_addons and 05_user_bootstrap become 03 and 04. Four references follow: the include in 01_manager_ops.yml, the lookup in post_deploy.yml, the caller path in the unit test that reads each role's declaration, and a requirement doc that linked the old addon file. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
1.3 KiB
YAML
22 lines
1.3 KiB
YAML
---
|
|
- name: 🩹 Patch Friendica local.config.php (DB host, name, user, system.url)
|
|
shell: > # nocheck: container-exec-resolver FRIENDICA_LOCAL_CID resolved at delegate_to runtime
|
|
container exec --user {{ FRIENDICA_USER }} {{ FRIENDICA_LOCAL_CID | quote }}
|
|
sed -ri
|
|
-e "s/('hostname'\s*=>\s*')[^']*(',)/\1{{ lookup('database', application_id, 'host') | sed_escape('/') }}:{{ lookup('database', application_id, 'port') | sed_escape('/')
|
|
}}\2/"
|
|
-e "s/('database'\s*=>\s*')[^']*(',)/\1{{ lookup('database', application_id, 'name') | sed_escape('/') }}\2/"
|
|
-e "s/('username'\s*=>\s*')[^']*(',)/\1{{ lookup('database', application_id, 'username') | sed_escape('/') }}\2/"
|
|
-e "s#('url'\s*=>\s*')[^']*(',)#\1{{ FRIENDICA_BASE_URL | sed_escape('#') }}\2#"
|
|
{{ FRIENDICA_CONFIG_FILE }}
|
|
delegate_to: "{{ FRIENDICA_HOST_NODE }}" # nocheck: include-uniform-apply-keyword
|
|
|
|
- name: 🩹 Patch Friendica local.config.php (DB password)
|
|
shell: >
|
|
container exec --user {{ FRIENDICA_USER }}
|
|
-e PATCH_PASSWORD={{ lookup('database', application_id, 'password') | sed_escape('/') | quote }}
|
|
{{ FRIENDICA_LOCAL_CID | quote }}
|
|
sh -c "sed -ri -e \"s/('password'\\s*=>\\s*')[^']*(',)/\\1\${PATCH_PASSWORD}\\2/\" {{ FRIENDICA_CONFIG_FILE }}"
|
|
delegate_to: "{{ FRIENDICA_HOST_NODE }}"
|
|
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
|