jokerwrld999.bootstrap

Ansible Роль: Bootstrap

CI

Описание

Эта роль предоставляет основные задачи предварительной конфигурации для ваших серверов.

Функции

  • Настройка системы

    • Обновление системы и настройка репозиториев
  • Конфигурация пользователя

    • Настройка пользователя Root
      • Теги: lxc
    • Настройка пользовательского аккаунта
  • Установка программного обеспечения

    • Установка пакетов для разработки
      • Теги: 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.

Установить
ansible-galaxy install jokerwrld999.bootstrap
Лицензия
mit
Загрузки
174
Владелец