GitOps
GitOps is a way to do Kubernetes application delivery. It works by using Git as a single source of truth for declarative infrastructure and applications. With GitOps, you can make changes to your applications and infrastructure by making changes to your Git repository. SkyU uses GitOps to manage your applications and infrastructure.
How SkyU uses GitOps
Every project in SkyU is associated with a GitOps repository. This repository is used to store the Kubernetes manifests and other configuration files for your applications and infrastructure. SkyU uses this repository to deploy and manage your applications and infrastructure.
When you create a project in SkyU, SkyU creates a GitOps repository for you. You can use this repository to store your Kubernetes manifests and other configuration files. You can also use your own repository for GitOps. You can learn more about how to use your own repository for GitOps in the Projects section.
GitOps Repository
The GitOps repository is where you store the Kubernetes manifests and other configuration files for your applications and infrastructure. SkyU uses this repository to deploy and manage your applications and infrastructure.
The underlying technology used in this GitOps repository is Kustomize. Kustomize is a tool that lets you customize Kubernetes resources through a Kubernetes-style configuration file. You can learn more about Kustomize in the Kustomize (opens in a new tab) website.
Just because the GitOps folder structure is Kustomize, it does not mean you have to use Kustomize. You can use any templating engine or configuration management tool that you are comfortable with to work with SkyU
The folder structure of the GitOps repository is as follows:
- (*).yaml
- (*).yaml
- (*)-patch.yaml
- (*).yaml
You can create PRs to this repository to make changes to your applications and infrastructure. SkyU will automatically deploy these changes to your environments.
If you want to make direct changes to GitOps, please go to GitOps
in the left navigation bar of the SkyU Console. make the necessary changes and press Save
to deploy the changes to the environment.
You can learn more about Kustomize usage and File Merging in the Kustomize Transformer section.
Rollbacks and Change History
Since everything is committed to Git, you can easily rollback configs and go through the change history. SkyU also provides a detailed change history for each environment in the project. You can view the change history by going to the Releases
tab in the environment details page.
If SkyU UI does not provide a control to change a specific configuration, you can always make the changes in the GitOps repository and create a PR to deploy the changes to the environment.
IAC Repository
A separate repository is used to store the infrastructure as code templates. This repository is linked to the project during project creation. The infrastructure as code repository is used to store the infrastructure templates for your project. You can use this repository to store the Terraform, CloudFormation, or any other infrastructure as code templates for your project.
More information on how to use the IAC repository can be found in the Infrastructure section.