jokerwrld999.bootstrap
Rola Ansible: Bootstrap
Opis
Ta rola zapewnia podstawowe zadania wstępnej konfiguracji dla Twoich serwerów.
Funkcje
Ustawienia systemu
- Aktualizacja systemu i konfiguracja repozytoriów
Konfiguracja użytkowników
- Konfiguracja użytkownika root
- Tag: lxc
- Konfiguracja użytkownika niestandardowego
- Konfiguracja użytkownika root
Instalacja oprogramowania
- Instalacja pakietów deweloperskich
- Tag: lxc
- Instalacja poprawek
- Instalacja Dockera
- Tag: docker
- Instalacja narzędzi
- Instalacja pakietów deweloperskich
Wykonywanie poprawek
- Konfiguracja nazwy hosta
- Konfiguracja przechowywania dzienników
- Instalacja mikroprogramu
- Konfiguracja OpenSSH
- Instalacja Qemu Guest Agent
Użycie
Wymagania
Ta rola wymaga zainstalowania kilku kolekcji z ansible-galaxy. Oto przykład pliku requirements.yml
:
---
collections:
- name: community.general
- name: kewlfft.aur
roles:
- name: jokerwrld999.bootstrap
Instalacja wymagań
ansible-galaxy install -r requirements.yml
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi:
Wstępna konfiguracja
set_hostname
: Boolean, domyślniefalse
. Ustaw natrue
, aby skonfigurować niestandardową nazwę hosta.custom_hostname
: String, szablon dla nazwy hosta używający${{ custom_user }}
.Przykład:
{{ custom_user }}-server
SSH
ssh_port
: Integer, domyślnie22
. Ustaw żądany port SSH.
Konfiguracja użytkownika
setup_user
: Boolean, domyślniefalse
. Ustaw natrue
, aby utworzyć niestandardowego użytkownika z powłoką ZSH, dostosowaniami p10k i wygenerowanymi kluczami ssh typued25519
.custom_user
: String, domyślnie wartość znaleziona w zmiennej środowiskowejCUSTOM_USER
. Wartość zapasowa to"jokerwrld"
. Nazwa użytkownika dla konta użytkownika niestandardowego.Przykład utworzenia zmiennej środowiskowej:
export CUSTOM_USER=username
.temp_dir
: String, domyślnie"tmp"
. Katalog tymczasowy używany do niektórych zadań.
Hasło użytkownika (Opcjonalne - Uwagi dotyczące bezpieczeństwa)
Szyfrowanie hasła
python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Potwierdź: ")) else exit())'
root_passwd
: String, domyślnie pusty. Ustaw swoje hasło dla roota.custom_user_passwd
: String, domyślnie pusty. Ustaw hasło dla użytkownika niestandardowego.
Rozważ użycie Ansible Vault lub innych bezpiecznych rozwiązań do zarządzania poświadczeniami.
Przykład pliku zmiennych
---
# Wstępna konfiguracja
# Niestandardowa nazwa hosta
set_hostname: false
custom_hostname: "{{ custom_user }}-server"
# SSH
ssh_port: 22
# Konfiguracja użytkowników
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | custom_user
temp_dir: "tmp"
# Szyfrowanie hasła
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Potwierdź: ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo
Przykład playbooka
- name: Wstępna konfiguracja serwerów
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: Wstępna konfiguracja serwerów
block:
- name: Dołącz rolę bootstrap
ansible.builtin.include_role:
name: jokerwrld999.bootstrap
tags: lxc, docker
rescue:
- name: Wstępna konfiguracja | Ratunek
ansible.builtin.set_fact:
task_failed: true
Zależności
Brak.
Licencja
MIT / BSD
Informacje o autorze
Ta rola została stworzona w 2024 roku przez Joker Wrld.
Bootstrap your Linux servers.
ansible-galaxy install jokerwrld999.bootstrap