yuanli1 / astronomer

Helm Charts for the Astronomer Platform, Apache Airflow as a Service on Kubernetes

Home Page:https://www.astronomer.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Astronomer Platform Helm Charts

This repository contains the helm charts for deploying the Astronomer Platform into a Kubernetes cluster.

Astronomer is a commercial "Airflow as a Service" platform that runs on Kubernetes. Source code is made available for the benefit of our customers, if you'd like to use the platform reach out for a license or try out Astronomer Cloud.

Architecture

Astronomer Architecture

Docker images

Docker images for deploying and running Astronomer are currently available on DockerHub.

Documentation

The Astronomer Platform documentation is located at https://www.astronomer.io/docs/

Contributing

We welcome any contributions:

  • Report all enhancements, bugs, and tasks as GitHub issues
  • Provide fixes or enhancements by opening pull requests in Github

Local Development

Install the following tools:

  • docker (make sure your user has permissions - try 'docker ps')
  • kubectl
  • kind
  • mkcert (make sure mkcert in PATH)
  • helm

Make sure you have access to the GCP development account

# Check that you can generate development TLS cert:
./bin/generate_ssl_keys

If this does not work, anyone with 'Owner' in the development project can grant you 'Owner' via IAM.

Run this script from the root of this repository:

bin/reset-local-dev

Each time you run the script, the platform will be fully reset to the current helm chart.

Customizing the local deployment

Turn on or off parts of the platform

Modify the "tags:" in configs/local-dev.yaml

  • platform: core Astronomer components
  • logging (large impact on RAM use): ElasticSearch, Kibana, Fluentd (aka 'EFK' stack)
  • monitoring: Prometheus
  • kubed: leave on

Add a Docker image into KinD's nodes (so it's available for pods):

kind load docker-image <your local image tag>

Make use of that image:

Make note of your pod name

kubectl get pods -n astronomer

Find the corresponding deployment, daemonset, or statefulset

kubectl get deployment -n astronomer

Replace the pod with the new image Look for "image" on the appropriate container and replace with the local tag, and set the pull policy to never.

kubectl edit deployment -n astronomer <your deployment>

Change Kubernetes version:

export KUBE_VERSION='v1.16.3'
bin/reset-local-dev

Releasing

Releasing Guide

License

Usage of Astronomer code requires an Astronomer Platform Enterprise Edition license.

About

Helm Charts for the Astronomer Platform, Apache Airflow as a Service on Kubernetes

https://www.astronomer.io

License:Apache License 2.0


Languages

Language:Shell 68.7%Language:Smarty 21.7%Language:Makefile 7.0%Language:Python 2.6%