Minikube UsageΒΆ

This is an example of how to install airflow using avionix_airflow locally.

import logging

from avionix_airflow import add_host, build_airflow_image, get_chart_builder
from avionix_airflow.kubernetes.airflow import AirflowOptions
from avionix_airflow.kubernetes.monitoring import MonitoringOptions
from avionix_airflow.tests.utils import dag_copy_loc, parse_shell_script

logger = logging.getLogger()
logger.setLevel(level=logging.INFO)
logging.basicConfig(format="[%(filename)s:%(lineno)s] %(message)s", level=logging.INFO)


def install_chart():
    build_airflow_image()
    airflow_options = AirflowOptions(
        dag_sync_image="alpine/git",
        dag_sync_command=["/bin/sh", "-c", parse_shell_script(str(dag_copy_loc))],
        dag_sync_schedule="* * * * *",
        default_timezone="est",
        core_executor="KubernetesExecutor",
        open_node_ports=True,
        image_pull_policy="Never",
    )
    add_host(airflow_options)
    builder = get_chart_builder(
        airflow_options=airflow_options,
        monitoring_options=MonitoringOptions(grafana_role="Admin"),
    )
    if builder.is_installed:
        builder.upgrade_chart({"dependency-update": None})
        return
    builder.install_chart(options={"create-namespace": None, "dependency-update": None})