![]() |
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 |
README.md
Heqet
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.
Keyfeatures
- 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 values.yaml
.
If more configuration values are required, simply throw your applications values.yaml
into heqets values.d
folder, named as the application [e.g. values.d/argocd.yaml
.
Docs
Check out the full documentation here: Heqet Docs
Installation
Installing heqet can't be simpler, after configuring your apps, argocd and pushing it to your git repo:
- Configure
manifests/heqet-apps.yaml
to match your Setup kubectl apply -f manifests/argocd.yaml
kubectl apply -f manifests/heqet-apps.yaml
ArgoCD will start and bootstrap heqet.
Generators
Heqet contains a "generators" feature which will create additional resources for you. Currently only one generator is implemented.
VaultSecret
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 templates/crds
-Directory.
Full Example
Check out the test
-Branch of this repo for my current testing setup.