ansible: секреты закрыты no_log в выводе плейбуков

- Пятнадцать задач, рендерящих файлы с секретами из vault, и три
  `docker_login` получили `no_log: true`: раньше `--diff` печатал значения
  в терминал целой строкой при каждом изменении файла.
- Цена — дифф этих файлов больше не виден. Снимать по мере переезда
  секретов в отдельные файлы; у tududi и wanderer снять не выйдет.
This commit is contained in:
av
2026-07-25 12:30:06 +03:00
parent fbd0a66f44
commit b7b1f49c8a
13 changed files with 47 additions and 0 deletions
+2
View File
@@ -38,6 +38,8 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
- name: "Copy docker compose file"
ansible.builtin.template:
+5
View File
@@ -46,6 +46,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0600"
# Vault-файл: ansible расшифровывает его при копировании, и без no_log
# --diff покажет содержимое открытым текстом.
no_log: true
notify: "Restart application"
- name: "Copy configuration file"
@@ -55,6 +58,8 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0600"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
notify: "Restart application"
- name: "Copy gobackup config"
+6
View File
@@ -36,6 +36,8 @@
owner: root
group: root
mode: "0640"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
- name: "Create backup config file"
ansible.builtin.template:
@@ -44,6 +46,8 @@
owner: root
group: root
mode: "0640"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
- name: "Allow user to run the backup script without a password"
ansible.builtin.lineinfile:
@@ -60,6 +64,8 @@
owner: root
group: root
mode: "0700"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
- name: "Copy backup all script"
ansible.builtin.copy:
+2
View File
@@ -42,6 +42,8 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0600"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
notify: "Restart application"
- name: "Copy docker compose file"
+3
View File
@@ -48,6 +48,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Секреты стоят прямыми значениями в environment: — без no_log их
# печатает --diff. Снять, когда они переедут в файлы.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2:
+3
View File
@@ -80,6 +80,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Секреты стоят прямыми значениями в environment: — без no_log их
# печатает --diff. Снять, когда они переедут в файлы.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2:
+3
View File
@@ -30,6 +30,9 @@
registry_url: "{{ yc_container_registry }}"
username: "oauth"
password: "{{ yc_oauth_token }}"
# Токен — аргумент модуля: по умолчанию не печатается, но всплывает
# при -v и в отчёте о падении задачи.
no_log: true
- name: "Copy docker compose file"
ansible.builtin.template:
+3
View File
@@ -67,6 +67,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Секреты стоят прямыми значениями в environment: — без no_log их
# печатает --diff. Снять, когда они переедут в файлы.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2:
+5
View File
@@ -41,6 +41,8 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Файл содержит секреты из vault — без no_log их печатает --diff.
no_log: true
notify: "Restart application"
- name: "Copy docker compose file"
@@ -56,6 +58,9 @@
registry_url: '{{ yc_container_registry }}'
username: 'oauth'
password: '{{ yc_oauth_token }}'
# Токен — аргумент модуля: по умолчанию не печатается, но всплывает
# при -v и в отчёте о падении задачи.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2:
+6
View File
@@ -36,12 +36,18 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0600"
# Vault-файл: ansible расшифровывает его при копировании, и без no_log
# --diff покажет содержимое открытым текстом.
no_log: true
- name: "Login to Yandex Container Registry"
community.docker.docker_login:
registry_url: "{{ yc_container_registry }}"
username: "oauth"
password: "{{ yc_oauth_token }}"
# Токен — аргумент модуля: по умолчанию не печатается, но всплывает
# при -v и в отчёте о падении задачи.
no_log: true
- name: "Copy docker compose file"
ansible.builtin.template:
+3
View File
@@ -55,6 +55,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Секреты стоят прямыми значениями в environment: — без no_log их
# печатает --diff. Файловых секретов tududi не умеет, снять не выйдет.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2:
+3
View File
@@ -57,6 +57,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Секреты стоят прямыми значениями в environment: — без no_log их
# печатает --diff. Снять, когда они переедут в файлы.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2:
+3
View File
@@ -77,6 +77,9 @@
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: "0640"
# Секреты стоят прямыми значениями в environment: — без no_log их
# печатает --diff. Файловых секретов wanderer не умеет, снять не выйдет.
no_log: true
- name: "Run application with docker compose"
community.docker.docker_compose_v2: