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:
8
environments/proxmoxes/group_vars/proj-a.yml
Normal file
8
environments/proxmoxes/group_vars/proj-a.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
a_users:
|
||||||
|
- name: test-nigger2
|
||||||
|
sudo: true
|
||||||
|
#- name: ivan
|
||||||
|
# sudo: false
|
||||||
|
|
||||||
|
a_projects:
|
||||||
|
- zagon
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
project_users:
|
b_users:
|
||||||
- name: test-nigger
|
- name: test-nigger
|
||||||
sudo: true
|
sudo: true
|
||||||
#- name: ivan
|
#- name: ivan
|
||||||
# sudo: false
|
# sudo: false
|
||||||
|
|
||||||
allowed_projects:
|
b_projects:
|
||||||
- zagon
|
|
||||||
- zagon2
|
- zagon2
|
||||||
@@ -4,6 +4,40 @@
|
|||||||
# Путь к ПУБЛИЧНОМУ ключу User CA на вашей Ansible-машине
|
# Путь к ПУБЛИЧНОМУ ключу User CA на вашей Ansible-машине
|
||||||
local_ssh_user_ca_pub_path: "/etc/step-ca/ssh_user_ca_key.pub"
|
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:
|
tasks:
|
||||||
- name: Создание системной директории для принципалов
|
- name: Создание системной директории для принципалов
|
||||||
file:
|
file:
|
||||||
|
|||||||
Reference in New Issue
Block a user