KubeForge is a comprehensive Kubernetes provisioner. It provides a complete stack for setting up a Kubernetes cluster on AWS EC2 instances using Terraform and Ansible.
- Automatic Cilium installation and configuration with Ansible
Before you begin, ensure you have the following:
- An AWS account with billing enabled
- Terraform installed locally
- Ansible installed locally
- Git installed locally
-
Clone the repository:
git clone https://github.com/adamconrad7/kubeforge.git cd kubeforge
-
Set up your AWS credentials:
export AWS_ACCESS_KEY_ID="your_access_key" export AWS_SECRET_ACCESS_KEY="your_secret_key"
-
Run the setup script:
./scripts/setup.sh
This script will:
- Use Terraform to provision EC2 instances on AWS
- Use Ansible to install and configure K3s, Cilium, and other components
- Set up monitoring with Prometheus and Grafana
- Deploy Argo Workflows and Argo CD
terraform/
: Contains Terraform configurations for AWS infrastructureansible/
: Contains Ansible playbooks and roles for cluster setupkubernetes/
: Contains Kubernetes manifests and Helm chartsargo/
: Contains Argo Workflows and CD configurationsmonitoring/
: Contains Prometheus and Grafana configurationsscripts/
: Contains utility scripts for setup and teardown
To tear down the infrastructure and clean up resources:
./scripts/teardown.sh
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.