jokerwrld999.bootstrap

Rol de Ansible: Bootstrap

CI

Descripción

Este rol proporciona tareas básicas de preconfiguración para tus servidores.

Características

  • Configuración del Sistema

    • Actualizar el Sistema y Configurar Repositorios
  • Configuración de Usuarios

    • Configurar Usuario Root
      • Etiquetas: lxc
    • Configurar Usuario Personalizado
  • Instalar Software

    • Instalar Paquetes de Desarrollo
      • Etiquetas: lxc
    • Instalar Ajustes
    • Instalar Docker
      • Etiquetas: docker
    • Instalar Utilidades
  • Realizar Ajustes

    • Configurar Nombre del Host
    • Configurar Retención de Registros
    • Instalar Microcódigo
    • Configurar OpenSSH
    • Instalar Agente Invitado Qemu

Uso

Requisitos

Este rol requiere que se instalen algunas colecciones desde ansible-galaxy. Aquí tienes un ejemplo de archivo requirements.yml:

---
colecciones:
  - nombre: community.general
  - nombre: kewlfft.aur

roles:
  - nombre: jokerwrld999.bootstrap

Instalar Requisitos

ansible-galaxy install -r requirements.yml

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con valores predeterminados:

Preconfiguración

  • set_hostname: Booleano, predeterminado en false. Establecer en true para configurar un nombre de host personalizado.

  • custom_hostname: Cadena, una plantilla para el nombre de host utilizando ${{ custom_user }}.

    Ejemplo: {{ custom_user }}-server

SSH

  • ssh_port: Entero, predeterminado en 22. Establece el puerto SSH deseado.

Configuración del Usuario

  • setup_user: Booleano, predeterminado en false. Establecer en true para crear un usuario personalizado con shell ZSH, personalizaciones de p10k y claves ssh generadas de tipo ed25519.

  • custom_user: Cadena, predeterminada al valor encontrado en la variable de entorno CUSTOM_USER. La alternativa es "jokerwrld". Nombre de usuario para la cuenta de usuario personalizada.

    Ejemplo para crear una variable de entorno: export CUSTOM_USER=nombredeusuario.

  • temp_dir: Cadena, predeterminada en "tmp". Directorio temporal utilizado para ciertas tareas.

Contraseña del Usuario (Opcional - Consideración de Seguridad)

Cifrar Contraseña

python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirmar: ")) else exit())'
  • root_passwd: Cadena, vacía por defecto. Establece tu contraseña de Root.

  • custom_user_passwd: Cadena, vacía por defecto. Establece la contraseña de tu Usuario Personalizado.

Considera usar Ansible Vault u otras soluciones de gestión de credenciales seguras.

Ejemplo de Archivo de Variables

---
# Preconfiguración
# Nombre del Host Personalizado
set_hostname: false
custom_hostname: "{{ custom_user }}-server"

# SSH
ssh_port: 22

# Configuración de Usuarios
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | custom_user
temp_dir: "tmp"

# Cifrar Contraseña
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirmar: ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo

Ejemplo de Playbook

- name: Preconfigurando servidores
  hosts: all
  become: true
  vars_files:
    - main.yml
  vars:
    set_hostname: true
    custom_hostname: "{{ custom_user }}-server"
    setup_user: true
    custom_user: miusuario
    ssh_port: 2234
  tasks:
    - name: Preconfigurando servidores
      block:
        - name: Incluir rol bootstrap
          ansible.builtin.include_role:
            name: jokerwrld999.bootstrap
          tags: lxc, docker

      rescue:
        - name: Preconfiguración | Rescate
          ansible.builtin.set_fact:
            task_failed: true

Dependencias

Ninguna.

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2024 por Joker Wrld.

Instalar
ansible-galaxy install jokerwrld999.bootstrap
Licencia
mit
Descargas
166
Propietario