Heqet (Egyptian ḥqt, also ḥqtyt "Heqtit") is an Egyptian goddess of fertility.
Heqet is my attempt to make Kubernetes GitOps Deployments as easy as possible. It reduces the need of redundant configuration by generating the required Kubernetes resource definitions for you. Heqet heavily relies on a Helm-Chart which will generate all ArgoCD-Applications, -Projects, Namespaces & more using Argo-CDs App-of-Apps-Pattern.
- Easy Setup [Just requires a sane Kubernetes cluster + ArgoCD + PVC-StorageClass]
- Easy / DRY application definition & configuration
- Follows the GitOps principles
- Deploy a whole application environment or cluster from a singe git-repo
- Addons for simple generation of
- Include reuseable resources like value snippets & NetworkPolicies into your app
This project is still under active development. Feel free to try it out, give feedback, create an issue and contribute!
Components & Configuration
Core component is
ArgoCD which will deploy Heqet & also your other apps! All you need is a git-repo & k8s cluster.
The heqet Helm-Chart will generate ArgoCD-Applications & -Projects, Namespaces and if required
NetworkPolicies, Argo-CD Repositories and more.
The configuration is seperated in different files & directories:
projects/- This directory contains all your Application/Project config
name-of-project/- This directory name represents the name of our project
project.yaml- The most important config, containing all our applications of this project
values/- Every app in our project can have it's own
name-of-app.yaml- Values file for the application "name-of-app"
manifests/- Static yaml manifests for your app
resources/- This directory contains all global config, like NetworkPolcies, Repos
manifests/- Can be used for static YAML-Manifests
sippets/- Value snippets for your apps
Installing heqet can't be simpler:
- Install Argo-CD on your cluster & set it up to your needs
manifests/heqet-apps.yamlto match your Setup
kubectl apply -f manifests/heqet-apps.yaml
- Create your configuration in
Check out the
hive-branch of this repository for the latest deployment configuration in my homelab environment.
Check out the full documentation: here