feat: добавлен пользователь devops по аналогии с k8s-user

Роль k8s-user сделана универсальной:
- generate_keys.yml: имена фактов стали динамическими — {{ k8s_service_user }}_ssh_private_key
  вместо захардкоженных k8s_ssh_private_key (поддержка любого пользователя)
- distribute_keys.yml: обращение к фактам через [k8s_service_user + '_ssh_private_key']

playbooks/k8s-user.yml переработан — 12 plays (6 для k8s + 6 для devops):
- devops plays вызывают ту же роль k8s-user с vars-переопределением k8s_service_user
- теги k8s/k8s_user и devops/devops_user — можно запустить одного пользователя
- ключи сохраняются: ./keys/k8s_id_rsa, ./keys/devops_id_rsa (приватные в .gitignore)
- имя файла ключа динамическое: {{ k8s_service_user }}_id_rsa

group_vars/all/main.yml:
- добавлены devops_service_user, devops_service_user_comment, devops_service_user_sudo и др.

Запуск только devops: ansible-playbook playbooks/k8s-user.yml --tags devops
This commit is contained in:
Sergey Antropoff
2026-04-24 07:05:50 +03:00
parent 437d0cce34
commit 7c71b69333
5 changed files with 170 additions and 36 deletions

View File

@@ -207,8 +207,18 @@ k8s_service_user_key_comment: "k8s@cluster"
k8s_service_user_ssh_dir: ".ssh"
k8s_service_user_sudo: true
# Локальная директория для сохранения сгенерированных SSH ключей k8s пользователя
# ─── devops-user ──────────────────────────────────────────────────────────────
# Дополнительный пользователь для инженеров DevOps
# Создаётся на тех же серверах что и k8s, та же RSA 4096 схема с ключами
devops_service_user: devops
devops_service_user_shell: /bin/bash
devops_service_user_comment: "DevOps Engineer"
devops_service_user_key_comment: "devops@cluster"
devops_service_user_sudo: true
# Локальная директория для сохранения сгенерированных SSH ключей
# Сохраняется на машине запуска Ansible (./keys/ относительно корня проекта)
# Файлы: keys/k8s_id_rsa, keys/k8s_id_rsa.pub, keys/devops_id_rsa, keys/devops_id_rsa.pub
k8s_local_keys_dir: "./keys"
# ─── k3s-certs — автоматическая ротация сертификатов K3S ─────────────────────