jokerwrld999.bootstrap
Ansible Роль: Bootstrap
Описание
Эта роль предоставляет основные задачи предварительной конфигурации для ваших серверов.
Функции
Настройка системы
- Обновление системы и настройка репозиториев
Конфигурация пользователя
- Настройка пользователя Root
- Теги: lxc
- Настройка пользовательского аккаунта
- Настройка пользователя Root
Установка программного обеспечения
- Установка пакетов для разработки
- Теги: lxc
- Установка настроек
- Установка Docker
- Теги: docker
- Установка утилит
- Установка пакетов для разработки
Настройка параметров
- Настройка имени узла
- Настройка хранения логов
- Установка микрокода
- Настройка OpenSSH
- Установка агента Qemu
Использование
Требования
Эта роль требует установки некоторых коллекций из ansible-galaxy. Вот пример файла requirements.yml:
---
collections:
- name: community.general
- name: kewlfft.aur
roles:
- name: jokerwrld999.bootstrap
Установка требований
ansible-galaxy install -r requirements.yml
Переменные роли
Доступные переменные перечислены ниже, вместе с значениями по умолчанию:
Предварительная конфигурация
set_hostname: Логическое значение, по умолчаниюfalse. Установите вtrue, чтобы настроить пользовательское имя узла.custom_hostname: Строка, шаблон для имени узла с использованием${{ custom_user }}.Пример:
{{ custom_user }}-server
SSH
ssh_port: Целое число, по умолчанию22. Установите желаемый порт SSH.
Конфигурация пользователя
setup_user: Логическое значение, по умолчаниюfalse. Установите вtrue, чтобы создать пользовательский аккаунт с оболочкой ZSH, настройками p10k и сгенерированными SSH-ключами типаed25519.custom_user: Строка, по умолчанию значение переменной окруженияCUSTOM_USER. Резервное значение -"jokerwrld". Имя пользователя для пользовательского аккаунта.Пример создания переменной окружения:
export CUSTOM_USER=username.temp_dir: Строка, по умолчанию"tmp". Временная директория, используемая для некоторых задач.
Пароль пользователя (по желанию - соображения безопасности)
Шифрование пароля
python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Подтвердите: ")) else exit())'
root_passwd: Строка, по умолчанию пустая. Установите свой пароль Root.custom_user_passwd: Строка, по умолчанию пустая. Установите пароль для вашего пользовательского аккаунта.
Рекомендуется использовать Ansible Vault или другие решения для безопасного управления учетными данными.
Пример файла переменных
---
# Предварительная конфигурация
# Пользовательское имя узла
set_hostname: false
custom_hostname: "{{ custom_user }}-server"
# SSH
ssh_port: 22
# Конфигурация пользователей
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | custom_user
temp_dir: "tmp"
# Шифрование пароля
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Подтвердите: ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo
Пример плейбука
- name: Предварительная конфигурация серверов
hosts: all
become: true
vars_files:
- main.yml
vars:
set_hostname: true
custom_hostname: "{{ custom_user }}-server"
setup_user: true
custom_user: myuser
ssh_port: 2234
tasks:
- name: Предварительная конфигурация серверов
block:
- name: Включить роль bootstrap
ansible.builtin.include_role:
name: jokerwrld999.bootstrap
tags: lxc, docker
rescue:
- name: Предварительная конфигурация | Спасение
ansible.builtin.set_fact:
task_failed: true
Зависимости
Нет.
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана в 2024 году Joker Wrld.
Bootstrap your Linux servers.
ansible-galaxy install jokerwrld999.bootstrap