Kubernetes HomeLab is a project designed to provide a hands-on environment for learning and experimenting with Kubernetes clusters. It is built on top of vagrant-kubeadm-kubernetes with some security related features.
- Nginx-Ingress using MetalLB
- Local SMTP Server using MailHog
- Container Image Signature Verification using Connaisseur
Follow vagrant-kubeadm-kubernetes instructions to deploy and setup access to your local cluster.
- Clone the Repository:
git clone https://github.com/zAbuQasem/Kubernetes-HomeLab
cd Kubernetes-HomeLab
- Setup Metallb IPAddressPool
# Make sure to change the address range to non-allocated IPs
kubectl apply -f infrastructure/metallb/configure.yaml
- Deploy Ingress-Nginx
cd infrastructure/ingress-nginx
./setup.sh
- Deploy MailHog
cd infrastructure/mailhog
./setup.sh
- Deploy Connaisseur
cd infrastructure/connaisseur
./setup.sh
Note: Read the
README.md
ininfrastructure/connaisseur/README.md
For more information.
Build a Github Action CI to build and sign container images and push them to Container Registry.Build a SAST Github action.- Create ArgoCd App of Apps Deployment.
- Create Users and Groups with least privilege in mind.