![]() |
1 year ago | |
---|---|---|
charts/heqet | 1 year ago | |
docs | 1 year ago | |
examples/my-first-project | 1 year ago | |
manifests | 1 year ago | |
.drone.yml | 2 years ago | |
.gitignore | 2 years ago | |
.helmignore | 1 year ago | |
README.md | 1 year ago | |
mkdocs.yml | 1 year 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 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.
Keyfeatures
- 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 like generation of
VaultSecret
andNetworkPolicy
resources
This project is still in a very early stage of development, but feel free to try it out, give feedback, create an issue and contribute!
Overview
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 VaultSecret
s, NetworkPolicies
, Argo-CD Repositories and more.
The configuration is seperated in different files & directories:
projects/
- This directory contains all your Application/Project configname-of-project/
- This directory name represents the name of our projectproject.yaml
- The most important config, containing all our applications of this projectvalues/
- Every app in our project can have it's ownvalues.yaml
here, named:name-of-app.yaml
name-of-app.yaml
- Values file for the application "name-of-app"
resources/
- This directory contains all global config, like NetworkPolcies, Reposmanifests/
- Can be used for static YAML-Manifests
Installation
Installing heqet can't be simpler:
- Install Argo-CD on your cluster & set it up to your needs
- Configure
manifests/heqet-apps.yaml
to match your Setup kubectl apply -f manifests/heqet-apps.yaml
- Create your configuration in
projects
andresources
folders
Example Configuration
Check out the hive
-branch of this repository for the latest deployment configuration in my homelab environment.
Docs
Check out the full documentation: here