ssh-certs hosts.
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 0s
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 0s
This commit is contained in:
@@ -4,6 +4,40 @@
|
||||
# Путь к ПУБЛИЧНОМУ ключу User CA на вашей Ansible-машине
|
||||
local_ssh_user_ca_pub_path: "/etc/step-ca/ssh_user_ca_key.pub"
|
||||
|
||||
pre_tasks:
|
||||
- name: Динамический сбор и мерж пользователей изо всех групп хоста
|
||||
set_fact:
|
||||
# Ищем переменные вида *_users (alpha_users, beta_users) для групп текущего хоста
|
||||
project_users: >-
|
||||
{{
|
||||
group_names
|
||||
|
||||
| map('extract', hostvars[inventory_hostname])
|
||||
| map('dict2items') | flatten
|
||||
| selectattr('key', 'match', '.*_users$')
|
||||
|
||||
| map(attribute='value') | flatten
|
||||
| unique
|
||||
}}
|
||||
|
||||
# Ищем переменные вида *_projects (alpha_projects, beta_projects) и склеиваем в один список принципалов
|
||||
allowed_projects: >-
|
||||
{{
|
||||
group_names
|
||||
|
||||
| map('extract', hostvars[inventory_hostname])
|
||||
| map('dict2items') | flatten
|
||||
| selectattr('key', 'match', '.*_projects$')
|
||||
|
||||
| map(attribute='value') | flatten
|
||||
| unique
|
||||
}}
|
||||
|
||||
- name: Дебаг получившейся матрицы доступов (Опционально)
|
||||
debug:
|
||||
msg: "Хост {{ inventory_hostname }} получит юзеров {{ project_users }} и принципалы {{ allowed_projects }}"
|
||||
|
||||
|
||||
tasks:
|
||||
- name: Создание системной директории для принципалов
|
||||
file:
|
||||
|
||||
Reference in New Issue
Block a user