||2 years ago|
|bin||2 years ago|
|crds||2 years ago|
|docs||2 years ago|
|manifests||2 years ago|
|templates||2 years ago|
|values.d||2 years ago|
|.drone.yml||2 years ago|
|.gitignore||2 years ago|
|Chart.yaml||2 years ago|
|Makefile||2 years ago|
|README.md||2 years ago|
|mkdocs.yml||2 years ago|
|values.yaml||2 years ago|
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 configuration by generating the required Application definitions for you. Heqet heavily relies on a Helm-Chart which will generate all applications, namespaces & more using ArgoCDs App-of-Apps-Pattern.
- Easy Setup [Sane Kubernetes cluster + PVC-StorageClass]
- Easy application definition & configuration
- Follows the GitOps principles
- Deploy a whole application environment or cluster from a singe git-repo
This project is still in a very early stage of development, but feel free to try it out & contribute!
Components & Configuration
Core component is
ArgoCD which will deploy Heqet & also your apps! All you need is a git-repo & k8s cluster.
The heqet Helm-Chart will generate ArgoCD Applications, namespaces and if required vault Secrets. All you need to do if add your Helm-Application to heqet's
If more configuration values are required, simply throw your applications
values.yaml into heqets
values.d folder, named as the application [e.g.
Check out the full documentation here: Heqet Docs
Installing heqet can't be simpler, after configuring your apps, argocd and pushing it to your git repo:
manifests/heqet-apps.yamlto match your Setup
kubectl apply -f manifests/argocd.yaml
kubectl apply -f manifests/heqet-apps.yaml
ArgoCD will start and bootstrap heqet.
Heqet contains a "generators" feature which will create additional resources for you. Currently only one generator is implemented.
The VaultSecret generator will create
VaultSecret for the secrets specified in
secrets. It's based on the vault-secret-operator.
Custom Resource Definitions
CRDs might be required before applying application configuration. If so, copy the
crd.yaml into heqets
Check out the
test-Branch of this repo for my current testing setup.