kubefirst / gitops-template

a template of gitops infrastucture for consumption by kubefirst users
MIT License
53 stars 50 forks source link

Kubefirst Instant GitOps Platforms

Install |  Twitter |  LinkedIn |  Slack |  Blog

# gitops The `gitops` repository has 2 main sections - `/registry`: the argocd gitops application registry for each of our clusters - `/terraform`: infrastructure as code & configuration as code for your cloud, git provider, vault, and user resources ## kubefirst apps The [kubefirst cli](https://github.com/kubefirst/kubefirst) has established the following applications: | Application | Namespace | Description | URL (where applicable) | | ------------------------ | ---------------- | ------------------------------------------- | ---------------------------------- | | Argo CD | argocd | GitOps Continuous Delivery | | | Argo Workflows | argo | Application Continuous Integration | | | Atlantis | atlantis | Terraform Workflow Automation | | | Cert Manager | cert-manager | Certificate Automation Utility | | | Certificate Issuers | clusterwide | Let's Encrypt browser-trusted certificates | | | Chart Museum | chartmuseum | Helm Chart Registry | | | External Secrets | external-secrets | Syncs Kubernetes secrets with Vault secrets | | | Metaphor Development | development | Development instance of sample application | | | Metaphor Staging | staging | Staging instance of sample application | | | Metaphor Production | production | Production instance of sample application | | | Nginx Ingress Controller | ingress-nginx | Ingress Controller | | | Vault | vault | Secrets Management | | --- ## gitops registry The argocd configurations in this repo can be found in the [registry directory](./registry). The applications that we build and release on the kubefirst platform will also be registered here in the development, staging, and production folders. The `metaphor` application can be found there to serve as an example to follow for building and shipping code on the platform. The `main` branch's registry directory represents the gitops desired state for all apps registered with kubernetes. Argo CD will automatically apply your desired state to kubernetes through. You can see the Sync status of all of your apps in [argo cd](). ## terraform infrastructure as code The terraform in this repository can be found in the [terraform directory](./terraform). It has entry points for management of cloud resources, vault configurations, git provider configurations, and user management. All of our terraform is automated with a tool called atlantis that integrates with your git pull requests. To see the terraform entry points and under what circumstance they are triggered, see [atlantis.yaml](./atlantis.yaml). Any change to a `*.tf` file, even a whitespace change, will trigger its corresponding Atlantis workflow once a pull request is submitted. Within a minute it will post the plan to the pull request with instruction on how to apply the plan if approved.