nginxinc.nginx_config

Ansible Galaxy Molecule CI/CD Licencia Estado del Proyecto: Activo – El proyecto ha alcanzado un estado estable, utilizable y se está desarrollando activamente. Soporte Comunitario Covenant del Contribuyente

👾 Ayuda a mejorar el rol de configuración de NGINX en Ansible participando en nuestra encuesta! 👾

Rol de Configuración de NGINX en Ansible

Este rol configura NGINX Open Source y NGINX Plus en tu host objetivo.

[!IMPORTANTE] Este rol todavía está en desarrollo activo. Puede haber problemas no identificados y las variables del rol pueden cambiar a medida que avanza el desarrollo.

Requisitos del Rol

Ansible

Si deseas usar este rol, necesitarás una versión compatible de Ansible core y Jinja2, así como algunas colecciones de Ansible.

Para facilitar su uso, puedes instalar y/o actualizar Ansible core, Jinja2 y las colecciones mencionadas ejecutando los siguientes cuatro comandos en tu host de Ansible:

pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible.txt
curl -O https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_collections.yml
ansible-galaxy install --force -r requirements_collections.yml
rm -f requirements_collections.yml

Esto también asegurará que estás implementando/ejecutando este rol con una versión completamente probada de los paquetes/colecciones mencionados.

Ansible core

  • Este rol se desarrolló y probó con versiones mantenidas de Ansible core y Python.

  • Al usar Ansible core, también deberás instalar las siguientes colecciones de Ansible:

    ---
    collections:
      - name: ansible.posix
        version: 1.5.4
      - name: community.general
        version: 9.0.1
      - name: community.docker # Solo necesario si planeas usar Molecule (ver más abajo)
        version: 3.10.3
    
  • Las instrucciones para instalar Ansible core se pueden encontrar en la documentación de Ansible.

  • Las instrucciones para instalar colecciones de Ansible se pueden encontrar en la guía de colecciones de Ansible.

[!CONSEJO] Alternativamente, puedes instalar la distribución de la comunidad de Ansible (lo que aún se conoce como Ansible -- en lugar de Ansible core) si no deseas gestionar colecciones individuales.

Jinja2

  • Este rol utiliza plantillas de Jinja2. Ansible core instala Jinja2 por defecto, pero dependiendo de tu ruta de instalación y/o actualización, podrías estar ejecutando una versión desactualizada de Jinja2. La versión mínima de Jinja2 requerida para que el rol funcione correctamente es 3.1.
  • Las instrucciones sobre cómo instalar Jinja2 se pueden encontrar en el sitio web de Jinja2.

Suite de Pruebas (Opcional)

Si deseas contribuir a este rol, también necesitarás instalar Ansible Lint y Molecule.

Ansible Lint (Opcional)

  • Ansible Lint se utiliza para verificar el rol tanto para las mejores prácticas de Ansible como para posibles problemas de Ansible/YAML.

  • Las instrucciones sobre cómo instalar Ansible Lint se pueden encontrar en el sitio web de Ansible Lint.

  • Una vez instalado, usar Ansible Lint es tan fácil como ejecutar:

    ansible-lint
    
  • Para facilitar su uso, puedes instalar y/o actualizar Ansible Lint ejecutando el siguiente comando en tu host de Ansible:

    pip install -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible_lint.txt
    

Molecule (Opcional)

  • Molecule se utiliza para probar las diversas funcionalidades del rol.

  • Las instrucciones sobre cómo instalar Molecule se pueden encontrar en el sitio web de Molecule. También necesitarás instalar el paquete de plugins de Molecule y el SDK de Python para Docker.

  • Para ejecutar las pruebas de configuración de NGINX Plus/App Protect con Molecule, debes copiar tu licencia de NGINX Plus/App Protect al directorio Molecule common/files/license.

    Alternativamente, puedes agregar tu certificado y clave de repositorio de NGINX Plus/App Protect al entorno local. Ejecuta los siguientes comandos para exportar estos archivos como variables codificadas en base64 y ejecutar las pruebas de Molecule:

    export NGINX_CRT=$( cat <ruta a tu archivo de certificado> | base64 )
    export NGINX_KEY=$( cat <ruta a tu archivo de clave> | base64 )
    molecule test -s plus
    
  • Para facilitar su uso, puedes instalar y/o actualizar Molecule, el paquete de plugins de Molecule y el SDK de Python para Docker ejecutando el siguiente comando en tu host de Ansible:

    pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_molecule.txt
    

Instalación del Rol

Este rol se puede instalar a través de Ansible Galaxy (el mercado de la comunidad de Ansible) o clonando este repositorio. Una vez instalado, deberás incluir el rol en tu playbook de Ansible utilizando la palabra clave roles, el módulo import_role o el módulo include_role.

Ansible Galaxy

Para instalar la última versión estable del rol en tu sistema, usa:

ansible-galaxy install nginxinc.nginx_config

Alternativamente, si ya has instalado el rol, puedes actualizarlo a la última versión usando:

ansible-galaxy install -f nginxinc.nginx_config

Para usar el rol, incluye la siguiente tarea en tu playbook:

- name: Configurar NGINX
  ansible.builtin.include_role:
    name: nginxinc.nginx_config

Git

Para obtener el último commit de desarrollo del rol desde GitHub, usa:

git clone https://github.com/nginxinc/ansible-role-nginx-config.git

Para usar el rol, incluye la siguiente tarea en tu playbook:

- name: Configurar NGINX
  ansible.builtin.include_role:
    name: <ruta/al/repositorio> # e.g. <roles/ansible-role-nginx-config> si clonas el repo dentro del directorio de roles de tu proyecto

Plataformas

El rol de configuración de NGINX en Ansible es compatible con todas las plataformas soportadas por NGINX Open Source y NGINX Plus.

[!NOTA] Debes poder usar este rol para configurar cualquier instalación de NGINX -- donde/como sea que se haya instalado -- bajo tu propio riesgo. Cualquier posible error con el rol relacionado con métodos/plataformas de instalación no soportados se abordará de la mejor manera posible y podría ser desestimado de plano.*

Variables del Rol

Este rol tiene múltiples variables. Las descripciones y valores predeterminados de todas estas variables se pueden encontrar en el defaults/main/ directorio en los siguientes archivos:

Nombre Descripción
main.yml Variables de configuración simple de NGINX
selinux.yml Configura SELinux para permitir las conexiones necesarias a tu configuración de NGINX
template.yml Variables de plantilla de configuración de NGINX
upload.yml Variables de carga de configuración/HTML/SSL de NGINX

Ejemplos de Playbooks

Ejemplos de playbooks funcionales se pueden encontrar en la molecule/ directorio en los siguientes archivos:

Nombre Descripción
api/converge.yml Configura la API de NGINX Plus y el panel de métricas en vivo
cleanup_config/converge.yml Limpia una configuración de NGINX
complete/converge.yml Prueba que todas las directivas de NGINX estén correctamente plantilladas
complete_plus/converge.yml Prueba que todas las directivas específicas de NGINX Plus estén correctamente plantilladas
default/converge.yml Configura NGINX con una configuración lo más cercana posible a la configuración predeterminada
push_config/converge.yml Envía una configuración de NGINX preexistente desde tu sistema a tu instancia de NGINX
reverse_proxy/converge.yml Configura NGINX como un proxy inverso entre dos servidores web
stub_status/converge.yml Configura las métricas de estado de stub de NGINX Open Source
web_server/converge.yml Configura NGINX como un servidor web

[!NOTA] Si instalas este repositorio a través de Ansible Galaxy, necesitarás reemplazar la variable include_role en los ejemplos de playbooks de ansible-role-nginx-config a nginxinc.nginx_config.

Otras Colecciones y Roles de NGINX en Ansible

Puedes encontrar la colección de roles de Ansible NGINX Core para instalar y configurar NGINX Open Source, NGINX Plus y NGINX App Protect aquí.

Puedes encontrar el rol de Ansible NGINX para instalar NGINX OSS y NGINX Plus aquí.

Puedes encontrar el rol de Ansible NGINX App Protect para instalar y configurar NGINX App Protect WAF y NGINX App Protect DoS aquí.

Puedes encontrar el rol de Ansible NGINX Unit para instalar NGINX Unit aquí.

Licencia

Licencia Apache, Versión 2.0

Información del Autor

Alessandro Fael Garcia

© F5, Inc. 2020 - 2024

Acerca del proyecto

Official Ansible role for configuring NGINX

Instalar
ansible-galaxy install nginxinc.nginx_config
Licencia
apache-2.0
Descargas
1.6M
Propietario
Welcome to this part of the NGINX open source world. We're constantly expanding our ecosystem designed to help you create the best web and app experience around