This repository contains the applications in my private homeserver infrastructure.
All applications described in this repository are managed via ArgoCD.
This application is used as the entry application. From here the applications in this Folder are created, which contain the applications to be hosted.
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml
kubectl create secret generic cloudflare-api-key-secret -n cert-manager --from-literal=api-key="<your_cloudflare_secret>"
A Docker Registry with included UI used for management.
No persistent Volumes are used at this point, because every image saved in this registry can be rebuild from their respective source if needed.
MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.
For reference see here.
nginx is used as the ingress controller.
Seq is the self-hosted search, analysis, and alerting server built for structured log data.
For reference see here.
Skooner is an open source Kubernetes dashboard that helps to understand & manage your cluster. Via the dashboard, you can manage your cluster's components and gain an in-depth look at its health and viability.
For reference see here.
PostgreSQL is a powerful, open source object-relational database.
For reference see here.
TODO: Move this to a secret
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
namespace: postgres
labels:
app: postgres
data:
POSTGRES_USER: <user>
POSTGRES_PASSWORD: <password>