atosatto.caddy
Rol de Ansible: Caddy
Instala y configura Caddy.
Requisitos
Una instalación de Ansible 2.2 o superior.
Este rol utiliza el json_filter
de Ansible que requiere que jmespath
esté instalado en la máquina de Ansible.
Consulta el archivo requirements.txt
para más detalles sobre la versión específica de jmespath
requerida por el rol.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):
caddy_download_url: ""
# caddy_download_url: "https://caddyserver.com/download/linux/amd64?plugins=http.prometheus&license=personal&telemetry=off"
La ubicación del binario de Caddy que se instalará.
El ejemplo anterior muestra cómo descargar una versión precompilada de Caddy que incluye el plugin http.prometheus
.
Cuando está vacío, el rol descargará Caddy de Github.
caddy_release_tag: "latest"
La versión de Caddy de Github que se instalará.
Por defecto, se publica la última versión en https://github.com/caddy/caddy/releases.
Nota: esta opción solo tiene efecto cuando caddy_download_url == ""
.
caddy_user: "caddy"
caddy_group: "caddy"
Usuario y grupo del sistema para Caddy.
caddy_install_path: "/opt"
Directorio que contiene los artefactos de la versión de Caddy descargada.
caddy_bin_path: "/usr/local/bin"
Directorio al cual se vinculará el binario de Caddy.
caddy_config_file: "/etc/caddy.conf"
Ruta al archivo principal de configuración de Caddy.
caddy_config_import_path: "/etc/caddy.conf.d"
caddy_config_import_files:
default: |
127.0.0.1:8080 {
root {{ caddy_web_root }}
}
Archivos de configuración adicionales de Caddy que se importarán en el archivo caddy_config_file
.
caddy_ssl_certificates_path: "/etc/ssl/caddy"
La dirección IP y el puerto en los que escucha Caddy.
caddy_web_root: "/var/www"
La carpeta web predeterminada para el servidor HTTP de Caddy.
caddy_log_path: "/var/log/caddy"
Directorio que contiene los archivos de registro de Caddy.
caddy_additional_cli_args: ""
Argumentos adicionales de línea de comando que se agregarán a la unidad del servicio de Caddy.
Para la referencia completa de los argumentos CLI disponibles, consulta la salida
del comando caddy --help
.
Dependencias
Ninguna.
Ejemplo de Playbooks
$ cat playbook.yml
- name: "Instalar y configurar Caddy"
hosts: all
roles:
- { role: atosatto.caddy }
Pruebas
Las pruebas están automatizadas con Molecule.
$ pip install tox
Para probar todos los escenarios, ejecuta
$ tox
Para ejecutar un comando de molécula personalizado
$ tox -e py27-ansible23 -- molecule test -s caddy-latest
Licencia
MIT
Información del Autor
Andrea Tosatto (@_hilbert_)
ansible-galaxy install atosatto.caddy