marcusianlevine.airflow

Rol de Ansible: airflow

Estado de la construcción

Instala y configura un host de airflow. Se puede usar para configurar nodos maestros y trabajadores.

Requisitos

Necesitarás acceso sudo al host que se está provisionando, usa lo siguiente para ejecutarlo como root.

- name: Provisionar hosts maestros de airflow
  hosts: airflow_hosts
  become: yes
  roles:
    - marcusianlevine.airflow

Variables del Rol

Variables de configuración base de airflow:

# Usuario bajo el cual se debe iniciar airflow
airflow_user: airflow

# Grupo bajo el cual se debe iniciar airflow
airflow_user: "{{ airflow_user }}"

# Versión de airflow que se instalará
airflow_version: 1.8.1

# Directorio donde se instalará airflow
airflow_install_directory: /usr/share/airflow

# Paquetes adicionales que se instalarán para airflow a través de pip install
airflow_extra_packages:
  - celery
  - alldbs

# Servicios que se iniciarán en el host
airflow_services:
  - webserver
  - scheduler
  - worker

Variables extra para apoyar patrones de despliegue específicos:

# determinar si se debe configurar y qué gestor de procesos usar
use_systemd: yes
use_supervisor: no

# soporte para instalar airflow en un entorno virtual
# NOTA: requerido para usar con ansible-container
virtualenv_path: indefinido

airflow.cfg

La configuración principal de airflow se realiza con objetos yaml, que simplemente fusionan la configuración predeterminada default_airflow con cualquier anulación encontrada en el objeto airflow. Todas las claves de los objetos se templatan en el airflow.cfg bajo la sección apropiada. Todos los valores son los valores predeterminados de airflow.

airflow:
  core:
    dags_folder: "/usr/share/airflow_dags"
    base_log_folder: "/var/log/airflow"

  webserver:
    base_url: "{{ airflow_base_url }}"

  scheduler:
    statsd_on: True

Dependencias

Ninguna

Ejemplo de Playbook

play.yml

- hosts: airflow-masters
  become: yes
  roles:
    - creditcardscom.airflow

vars/main.yml

airflow_user: airflow_user
airflow_version: 1.8.0
airflow_services:
  - webserver
  - scheduler

airflow:
  core:
    dags_folder: "/home/{{ airflow_user }}/dags"

Licencia (MIT)

Copyright (c) 2017 CreditCards.com

Se concede por la presente, sin cargo, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "Software"), para tratar en el Software sin restricción, incluyendo sin limitación los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar, y/o vender copias del Software, y permitir a personas a quienes se les suministra el Software hacerlo, sujeto a las siguientes condiciones:

Se deberá incluir el aviso de copyright anterior y este aviso de permiso en todas las copias o porciones sustanciales del Software.

EL SOFTWARE SE PROVEE "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITÁNDOSE A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES POR CUALQUIER RECLAMO, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, O EN CONEXIÓN CON EL SOFTWARE O EL USO O CUALQUIER OTRA TRANSACCIÓN EN EL SOFTWARE.

Acerca del proyecto

Installs and configures the airflow project

Instalar
ansible-galaxy install marcusianlevine.airflow
Licencia
other
Descargas
429
Propietario
Data Science + DevOps = DataEng