diff --git a/.envs/.cloudflare.template b/.envs/.base/.cloudflare.template similarity index 100% rename from .envs/.cloudflare.template rename to .envs/.base/.cloudflare.template diff --git a/.envs/.pihole.template b/.envs/.base/.pihole.template similarity index 100% rename from .envs/.pihole.template rename to .envs/.base/.pihole.template diff --git a/.gitignore b/.gitignore index 9de2b2c..e9c3cc8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -.envs/.* -!.envs/.*.template \ No newline at end of file +.envs/.*/.* +!.envs/.*/.*.template \ No newline at end of file diff --git a/README.md b/README.md index 643388c..fa75e69 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,25 @@ # gitops -This repository contains core services for my kubernetes cluster which are +This repository contains three level configration of core services + +## Stage 1 - `base` stage +These services are needed to run the cluster in general - MetalLB - LoadBalancer - Ingress Nginx - Ingress Controller -- CSI NFS - PVC +- CSI Drifer NFS - PVC - PiHole and ExternalDNS - LAN DNS + +## Stage 2 - `identity` stage +These services are needed to run all other core services in stage 3 + +- VaultWarden - Password and secret management - TODO: create chart or using Kustomize +- Authentik - SSO and auth provider for the whole cluster + +## Stage 3 - `delivery` stage +All other core services with auth or secrets + - ArgoCD - GitOps for my other services -## How to use +- Forgejo - Repository for ArgoCD and all of my other projects -1. Get the secrets -Either manually put your secrets in .env or run `./scripts/bw2secrets` - TODO +# How to use -2. Apply Kustomizations -`kubectl apply -k .` - -3. Install all the apps -`helmfile apply` - -4. Profit! \ No newline at end of file +## Stage 1