Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era.
Report Bug or Request Feature
This repository is a collection of code, scripts, and configuration files that enable the creation and management of a scalable, secure, and reliable cloud infrastructure. The repository includes Terraform configurations that define the infrastructure as code, including the creation of an Azure Kubernetes Cluster and associated resources such as virtual networks, resource groups etc.
In addition, the repository includes ArgoCD, a GitOps tool that automates the deployment of applications and services to the Kubernetes cluster. ArgoCD enables continuous delivery by automatically synchronizing the Kubernetes cluster with the Git repository where the application code resides.
The combination of Terraform and ArgoCD provides a powerful foundation for creating and managing cloud-based infrastructure and deploying applications with ease and efficiency.
Following points will help you to understand How To use this repository?
.
This repo is distributed in three major directories.
Click to view tree structure
.
├── argocd
│ ├── apps
│ │ ├── azure-infrastructure-crossplane
│ │ ├── cert-manager
│ │ ├── crossplane
│ │ ├── external-dns
│ │ └── external-secrets-operator
│ └── crossplane
│ └── azure
├── scripts
└── terraform
├── azure-kubernetes-service
├── github
└── terraform-kubernetes-resources
└── helm-values
This directory is further divided into two subdirectories
-
The
azure-kubernetes-service
directory uses the Terraform aks module for creating an Azure Kubernetes Cluster and explicit terraform resources for its dependencies such asresource group
andnetwork
. -
The
terraform-kubernetes-resources
directory includeterraform helm releases
for the GitOps utilityArgoCd
,ingress-nginx-controller
and supporting kubernetes resources. This folder also includes the terraform configuration for the concept ofAKS workload idenity
for the secret management controllerexternal-secrets-operator
used in this project.
This directory is further divided into into sub directories.
-
apps
contain other directories which together makes an ArgoCD application definitions.crossplane
contain anotherazure
sub-dir with resource group config deployed via crossplane using azure kubernetes cluster on Azure Portal.
This directory is meant to contain any automation script which may be useful in the project context. Currently a shell script to check/install the Kustomize
program on the local machine.
Please have a look at each directory's
README
for details on how to use this repository code.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have any suggestion that would make this project better, feel free to fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement" with your suggestion.
⭐️Don't forget to give the project a star! Thanks again!⭐️
See CONTRIBUTING
for more information.
Released under MIT by @ishuar.