{"id":13649974,"url":"https://github.com/astronomer/astronomer","last_synced_at":"2026-02-02T23:21:05.817Z","repository":{"id":37600164,"uuid":"117595674","full_name":"astronomer/astronomer","owner":"astronomer","description":"Helm Charts for the Astronomer Platform, Apache Airflow as a Service on Kubernetes","archived":false,"fork":false,"pushed_at":"2025-05-13T06:21:54.000Z","size":11548,"stargazers_count":473,"open_issues_count":24,"forks_count":93,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-05-13T06:25:23.483Z","etag":null,"topics":["apache-airflow","astronomer-platform","astronomer-software","docker","kubernetes"],"latest_commit_sha":null,"homepage":"https://www.astronomer.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astronomer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-15T21:09:14.000Z","updated_at":"2025-05-13T05:21:27.000Z","dependencies_parsed_at":"2023-02-16T16:32:38.730Z","dependency_job_id":"5fa0d96f-712e-4efc-a044-c12aa4e45db3","html_url":"https://github.com/astronomer/astronomer","commit_stats":{"total_commits":2562,"total_committers":84,"mean_commits":30.5,"dds":0.7014051522248244,"last_synced_commit":"1b23b3a482f3c9bf36e4b065e7f43797377fba7f"},"previous_names":[],"tags_count":382,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastronomer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastronomer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastronomer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastronomer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astronomer","download_url":"https://codeload.github.com/astronomer/astronomer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254319718,"owners_count":22051072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-airflow","astronomer-platform","astronomer-software","docker","kubernetes"],"created_at":"2024-08-02T02:00:31.922Z","updated_at":"2026-02-02T23:21:05.810Z","avatar_url":"https://github.com/astronomer.png","language":"Python","readme":"# Astronomer Platform Helm Charts\n\nThis repository contains the helm charts for deploying the [Astronomer Platform](https://github.com/astronomer/astronomer) into a Kubernetes cluster.\n\nAstronomer 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](https://www.astronomer.io/get-astronomer).\n\n## Architecture\n\n![Astronomer Architecture](https://assets2.astronomer.io/main/enterpriseArchitecture.svg \"Astronomer Architecture\")\n\n## Docker images\n\nDocker images for deploying and running Astronomer are currently available on\n[Quay.io/Astronomer](https://quay.io/organization/astronomer).\n\n## Documentation\n\nYou can read the Astronomer platform documentation at https://docs.astronomer.io/enterprise. For a record of all user-facing changes to the Astronomer platform, see [Release Notes](https://www.astronomer.io/docs/software/release-notes).\n\n## Contributing\n\nWe welcome any contributions:\n\n* Report all enhancements, bugs, and tasks as [GitHub issues](https://github.com/astronomerio/helm.astronomer.io/issues)\n* Provide fixes or enhancements by opening pull requests in GitHub\n\n## Local Development\n\nWhen doing chart development, you only need python \u003e=3.13 and some python packages. The test environment for unit testing will be installed into `venv` when you run `make test-unit`, or you can setup the venv by running `make venv`.\n\nThe `DEBUG` env var will make it easier to debug a failure by leaving the helm values files generated by pytest test cases in place, and by printing out the helm command that was used to render the charts.\n\nSetting `INTERNET_ACCESS=false` env will attempt to avoid connecting to the internet for things like `helm repo update`. This obviously requires setting up your developer environment beforehand if you want to actually be able to run tests.\n\nSetting `PYTEST_ADDOPTS` to any pytest args will modify how pytest runs.\n\nFor example, you could run `make test-unit PYTEST_ADDOPTS='--pdb -k 1.30' INTERNET_ACCESS=false DEBUG=1` if you only want to debug kubernetes 1.30 tests, enter pdb when there is a failure, keep values files, and avoid internet access.\n\n### Development against a local KinD cluster\n\nThese components are advised for local development:\n\n- docker (make sure your user has permissions - try 'docker ps')\n- kubectl\n- [kind](https://github.com/kubernetes-sigs/kind#installation-and-usage)\n- [mkcert](https://github.com/FiloSottile/mkcert) (make sure mkcert is in your PATH)\n- [helm](https://helm.sh)\n- python \u003e=3.13\n\nRun this script from the root of this repository:\n\n```sh\nbin/reset-local-dev\n```\n\nEach time you run the script, the platform will be fully reset to the current helm chart.\n\n### Customizing the local deployment\n\n#### Turn on or off parts of the platform\n\nModify the \"tags:\" in configs/local-dev.yaml\n- platform: core Astronomer components\n- logging (large impact on RAM use): ElasticSearch, Vector\n- monitoring: Prometheus\n\n#### Load a Docker image into KinD's nodes (so it's available for pods)\n\n```sh\nkind load docker-image $your_local_image_name_with_tag\n```\n\n#### Make use of that image\n\nMake note of your pod name\n\n```sh\nkubectl get pods -n astronomer\n```\n\nFind the corresponding deployment, daemonset, or statefulset\n\n```sh\nkubectl get deployment -n astronomer\n```\n\nReplace the pod with the new image\nLook for \"image\" on the appropriate container and replace with the local tag,\nand set the pull policy to \"Never\".\n\n```sh\nkubectl edit deployment -n astronomer \u003cyour deployment\u003e\n```\n\n#### Specify the Kubernetes version\n\n```sh\nbin/reset-local-dev -K 1.28.6\n```\n\n#### How to upgrade airflow chart json schema\n\nEvery time we upgrade the airflow chart we will also need to update the json schema file with the list of acceptable top level params (eventually this will be fixed on the OSS side but for now this needs to be a manual step https://github.com/astronomer/issues/issues/3774). Additionally the json schema url will need to be updated to something of the form https://raw.githubusercontent.com/apache/airflow/helm-chart/1.x.x/chart/values.schema.json. This param is found in astronomer/values.schema.json at the astronomer.houston.config.deployments.helm.airflow.$ref parameter\n\nTo get a list of the top level params it is best to switch to the apache/airflow tagged commit for that chart release. Then run the ag command to get a list of all top level params.\n\nExample:\n\n```\ngit checkout tags/helm-chart/1.2.0\ngit grep -ho \"\\.Values\\.\\w\\+\" | sort -u\n```\n\nThe values output by this command will need to be inserted manually into astronomer/values.schema.json at the `astronomer.houston.config.deployments.helm.airflow.allOf` parameter. There are two additional params that need to be at this location outside of what is returned from above. They are `podMutation` and `useAstroSecurityManager`. These can be found by running the same ag command against the astronomer/airflow-chart values.yaml file.\n\n### Searching code\n\nWe include k8s schema files and calico CRD manifests in this repo to aid in testing, but their inclusion makes grepping for code a bit difficult in some cases. You can exclude those files from your `git grep`` results if you use the following syntax:\n\n```sh\ngit grep .Values.global. -- ':!tests/k8s_schema' ':!tests/kind'\n```\n\nThe `--` ends the `git` command arguments and indicates that the rest of the arguments are filenames or `pathspecs`. `pathspecs` begin with a colon. `:!tests/k8s_schema` is a pathspec that instructs git to exclude the directory `tests/k8s_schema`.\n\nNote that this `pathspec` syntax is a `git` feature, so this exclusion technique will not work with normal `grep`.\n\n## License\n\nThe code in this repo is licensed Apache 2.0 with Commons Clause, however it installs Astronomer components that have a commercial license, and requires a commercial subscription from Astronomer, Inc.\n\n## Optional schema validation\n\nThe ./values.schema.json.example file can be used to validate the helm values you are using work with the default airflow chart shipped with this repo. To use it remove the .example postfix from the file and proceed with the helm lint, install, and upgrade commands as normal.\n","funding_links":[],"categories":["Airflow deployment solutions"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronomer%2Fastronomer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastronomer%2Fastronomer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronomer%2Fastronomer/lists"}