This GitLab project contains the configuration files and scripts for managing my homelab infrastructure. The homelab consists of three physical Dell OptiPlex servers running a Kubernetes cluster.
The purpose of this project is to provide a centralized repository for all configuration files, scripts, and documentation related to the setup and maintenance of the homelab. This includes Kubernetes manifests, Helm charts, Ansible playbooks, and any other relevant configuration files.
- Servers: 3 x Dell OptiPlex
- Cluster: Kubernetes
.
├── ansible/ # Ansible playbooks for server provisioning and configuration
├── kubernetes/ # Kubernetes manifests and Helm charts
│ ├── deployments/ # Deployment configurations
│ ├── services/ # Service definitions
│ ├── configmaps/ # ConfigMap definitions
│ └── secrets/ # Secret definitions
├── scripts/ # Utility scripts for various tasks
├── docs/ # Documentation
└── README.md # Project overview and instructions
- Ansible: Used for provisioning and configuring the servers.
- kubectl: Command-line tool for interacting with the Kubernetes cluster.
- Helm: Package manager for Kubernetes.
- Clone the Repository:
git clone https://gitlab.com/yourusername/homelab-config.git cd homelab-config
- Provision Servers:
Use the Ansible playbooks to provision and configure the Dell OptiPlex servers.
ansible-playbook ansible/provision.yml
- Deploy Kubernetes Resources:
Apply the Kubernetes manifests to set up the cluster.
kubectl apply -f kubernetes/deployments/ kubectl apply -f kubernetes/services/