marcusianlevine.airflow

Rôle Ansible : airflow

Statut de la construction

Installer et configurer un hôte airflow. Peut être utilisé pour configurer des nœuds maîtres et travailleurs.

Exigences

Vous aurez besoin d'un accès sudo sur l'hôte à provisionner, utilisez ce qui suit pour exécuter en tant que root.

- name: Provisionner les hôtes maître airflow
  hosts: airflow_hosts
  become: yes
  roles:
    - marcusianlevine.airflow

Variables de rôle

Variables de configuration de base d'airflow :

# Utilisateur sous lequel airflow doit être démarré
airflow_user: airflow

# Groupe sous lequel airflow doit être démarré
airflow_user: "{{ airflow_user }}"

# Version d'airflow à installer
airflow_version: 1.8.1

# Dossier dans lequel airflow sera installé
airflow_install_directory: /usr/share/airflow

# Paquets supplémentaires qui seront installés pour airflow via pip install
airflow_extra_packages:
  - celery
  - alldbs

# Services qui seront démarrés sur l'hôte
airflow_services:
  - webserver
  - scheduler
  - worker

Variables supplémentaires pour soutenir des modèles de déploiement spécifiques :

# déterminer si et quel gestionnaire de processus configurer
use_systemd: yes
use_supervisor: no

# support pour l'installation d'airflow dans un environnement virtuel
# NOTE : requis pour une utilisation avec ansible-container
virtualenv_path: undefined

airflow.cfg

La configuration principale d'airflow se fait avec des objets yaml, qui est simplement la configuration par défaut default_airflow fusionnée avec les remplacements trouvés dans l'objet airflow. Toutes les clés des objets seront insérées dans le airflow.cfg sous la section appropriée. Toutes les valeurs sont les valeurs par défaut d'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

Dépendances

Aucune

Exemple 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"

Licence (MIT)

Copyright (c) 2017 CreditCards.com

La permission est par la présente accordée, sans frais, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de traiter dans le Logiciel sans restriction, y compris sans limitation les droits d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et/ou vendre des copies du Logiciel, et de permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve des conditions suivantes :

Le mention de copyright ci-dessus et cet avis de permission doivent être inclus dans toutes les copies ou portions substantielles du Logiciel.

LE LOGICIEL EST FOURNI "EN L'ÉTAT", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER AUX GARANTIES DE COMMERCIALITÉ, D'ADÉQUATION À UN USAGE PARTICULIER ET DE NON-VIOLATION. EN AUCUN CAS LES AUTEURS OU DÉTENTEURS DE DROITS D'AUTEUR NE SAURAIENT ÊTRE TENUS RESPONSABLES DE TOUTE REVENDICATION, DOMMAGE OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS UNE ACTION DE CONTRAT, UN DÉLIT OU AUTRE, RESSORTISSANT DE, OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION D'AUTRES TRANSACTIONS DANS LE LOGICIEL.

À propos du projet

Installs and configures the airflow project

Installer
ansible-galaxy install marcusianlevine.airflow
Licence
other
Téléchargements
429
Propriétaire
Data Science + DevOps = DataEng