This repository contains all the infrastructure as code (IaC) files, Kubernetes manifests, and other configurations required to manage the infrastructure for CodeBrewery. The application follows a GitOps approach to infrastructure management.
CodeBrewery Infra provides all the scripts and manifests to define and manage the infrastructure for CodeBrewery. The repository leverages Terraform for cloud resource provisioning and Kubernetes for application orchestration.
It follows a GitOps model, ensuring infrastructure is declaratively managed, version-controlled, and easily reproducible.
The repository is organized as follows:
codebrewery-infra/
│
├── k8s/ # Kubernetes manifests for CodeBrewery services
│ ├── deployments/ # Deployment manifests
│ ├── services/ # Service definitions
│ └── configmaps/ # Configuration files for Kubernetes
│
├── terraform/ # Terraform scripts for cloud resource provisioning
│ ├── modules/ # Reusable Terraform modules
│ ├── variables.tf # Terraform input variables
│ └── main.tf # Main Terraform configuration
│
├── CONTRIBUTING.md # Contribution guidelines
└── README.md # Documentation
- Terraform: Infrastructure as Code (IaC) to provision cloud resources.
- Kubernetes: For container orchestration.
- GitOps: Version-controlled infrastructure management.
- HCL: HashiCorp Configuration Language (used with Terraform).
Make sure you have the following tools installed:
- Terraform (v1.4+)
- Kubectl (v1.25+)
- Kubernetes Cluster (Minikube, k3s, or cloud-managed clusters)
- Git
-
Clone the repository:
git clone https://github.com/slashexx/codebrewery-infra.git cd codebrewery-infra
-
Provision infrastructure with Terraform: Navigate to the
terraform/
directory and initialize Terraform:cd terraform terraform init terraform plan terraform apply
-
Deploy Kubernetes manifests: Navigate to the
k8s/
directory:kubectl apply -f k8s/deployments/ kubectl apply -f k8s/services/
-
Verify the deployment:
kubectl get pods kubectl get services
We welcome contributions! 🎉
To get started, check out the CONTRIBUTING.md file for details on how to:
- Report issues and suggest new features
- Contribute code
- Follow coding style and guidelines
Distributed under the MIT License. See LICENSE for more information.
If you have any questions or issues, feel free to open a discussion or raise an issue in this repository.
Let’s build CodeBrewery together! 🚀