vbotka.linux_postinstall

linux_postinstall

calidad Estado de la construcción Estado de la documentación Etiqueta de GitHub

Rol de Ansible. Configura Linux: acpi, alias, apparmor, apt, claves autorizadas, autofs, actualizaciones automáticas, bluetooth, cron, debsums, dnsmasq, fstab, gpg, gpsd, grupos, grub, nombre de host, hosts, chrony, iptables, kvm, latex, libvirt, tapa, logrotate, administrador de módem, módulos, netplan, networkd, networkmanager, nfsd, paquetes, contraseñas, pm-utils, postfix, rc.local, repos, resolvconf, servicio, smart, speech-dispatcher, ssh, sshd, sudoers, swap, sysctl, systemd, timesyncd, zona horaria, tlp, udev, ufw, usuarios, virtualbox, wpa_gui, wpa_supplicant, xen, xorg.conf.d, zfs, (en desarrollo ...)

Documentación en readthedocs.io

Este rol y la documentación están en progreso. Si falta la documentación de una tarea, es necesario revisar el código fuente para aprender a usarlo. Si falta una funcionalidad, considera el rol config_light. Consulta varios ejemplos. Si config_light no puede hacer lo que deseas, crea nuevas tareas.

No dudes en compartir tus comentarios e informar problemas.

Las contribuciones son bienvenidas.

Plataformas soportadas

Este rol ha sido desarrollado y probado en

El soporte para otras plataformas está en progreso. Algunas tareas son también soportadas por Centos. Se te anima a personalizar las variables en vars/defaults y probar las tareas por tu cuenta.

Requisitos

Roles

Colecciones

  • ansible.posix
  • ansible.utils
  • community.general

Variables del rol

Consulta los valores predeterminados y ejemplos en vars.

Flujo de trabajo

  1. Instala los roles y colecciones

Instalar roles

shell> ansible-galaxy role install vbotka.linux_postinstall
shell> ansible-galaxy role install vbotka.ansible_lib
shell> ansible-galaxy role install vbotka.linux_lib

Las colecciones ansible.posix y community.general están incluidas en los paquetes principales de ansible. Si faltan, instálalas.

shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
  1. Cambia las variables, por ejemplo en vars/main.yml
shell> editor vbotka.linux_postinstall/vars/main.yml
  • Consulta las variables específicas del sistema operativo en vars/defaults
  • Consulta ejemplos en vars/main.yml.sample
  • Personaliza y/o agrega variables específicas de sabor en vars/flavors
  • Opcionalmente, habilita lp_flavors_enable: true. Esto ralentizará el playbook.
  • Opcionalmente, coloca variables personalizadas específicas del SO en el directorio vars
  • Consulta tasks/vars.yml para las convenciones de nombres y precedencia
  • Las variables específicas del SO sobrescribirán las variables en var/main.yml
  1. Crea el inventario
shell> cat hosts
[group1]
host1.example.com
[group1:vars]
ansible_user=admin
ansible_connection=ssh
ansible_python_interpreter=/usr/bin/python3.8
ansible_perl_interpreter=/usr/bin/perl
  1. Crea el playbook
shell> cat lp.yml
- hosts: group1
  become: yes
  become_user: root
  become_method: sudo
  roles:
    - vbotka.linux_postinstall
  1. Ejecuta el playbook
shell> ansible-playbook lp.yml

Mejores prácticas

Verifica la sintaxis del playbook

shell> ansible-playbook lp.yml --syntax-check

Revisa las variables. Opcionalmente, detecta y guarda sabores.

shell> ansible-playbook lp.yml -t lp_vars

Ejecuta el playbook en modo de comprobación

shell> ansible-playbook lp.yml --check

Si todo está correcto, ejecuta el playbook dos veces. En la segunda ejecución, todas las tareas deben estar OK y sin cambios, inalcanzables o fallidas.

shell> ansible-playbook lp.yml

Instalación automática de paquetes

Los paquetes listados en las variables lp_*_packages serán instalados automáticamente por las tareas/packages.yml si se habilitan mediante las variables lp_*_install. Por ejemplo,

lp_libvirt_install: true
lp_libvirt_packages:
  - libvirt0
  - libvirt-bin
  - libvirt-daemon
  - libvirt-daemon-driver-storage-rbd
  - libvirt-daemon-system
  - virtinst

Los paquetes listados en lp_libvirt_packages se incluirán en los paquetes instalados por

shell> ansible-playbook lp.yml -t lp_packages_auto -e lp_packages_auto=true

Consulta:

Gestión automática de servicios

La variable lp_service_auto contiene una lista de servicios gestionados automáticamente por la tarea service.yml. Un servicio será gestionado por la tarea service.yml si lp_<service>: true. Establecer lp_<service>: false desactivará la gestión del servicio por la tarea service.yml. Las variables lp_<service>_enable y lp_<service>_state controlan la habilitación y el estado del servicio. Por ejemplo, el servicio udev, si se establece lp_udev: true, será habilitado y comenzado porque está listado entre lp_service_auto y por defecto (precedencia 2.):

lp_udev: true
lp_udev_enable: true
lp_udev_state: started

Ejecuta el siguiente comando para ver qué servicios serán gestionados.

shell> ansible-playbook lp.yml -e lp_service_debug=true -t lp_service_debug

Consulta:

Configuración recomendada tras la instalación del SO

  1. Configura usuarios, sudoers e interfaces de red persistentes
ansible-playbook lp.yml -t lp_vars
ansible-playbook lp.yml -t lp_hostname
ansible-playbook lp.yml -t lp_groups
ansible-playbook lp.yml -t lp_users
ansible-playbook lp.yml -t lp_sudoers
ansible-playbook lp.yml -t lp_udev
ansible-playbook lp.yml -t lp_netplan
ansible-playbook lp.yml -t lp_wpasupplicant
ansible-playbook lp.yml -t lp_reboot -e 'lp_reboot=true lp_reboot_force=true'
  1. Configura el firewall. Por ejemplo, iptables
shell> ansible-playbook lp.yml -t lp_iptables
  1. Prueba la instalación de los paquetes
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
  1. Instala los paquetes
shell> ansible-playbook -t lp_packages lp.yml
  1. Verifica, instala y configura otras tareas
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml

Ansible lint

Usa el archivo de configuración .ansible-lint.local al ejecutar ansible-lint. Algunas reglas pueden estar desactivadas y algunas advertencias pueden ser ignoradas. Consulta las notas en el archivo de configuración.

shell> ansible-lint -c .ansible-lint.local

Licencia

licencia

Información del autor

Vladimir Botka

Referencias

Acerca del proyecto

Configure Linux.

Instalar
ansible-galaxy install vbotka.linux_postinstall
Licencia
bsd-2-clause
Descargas
446
Propietario