Harnessing the power of GitOps with Rig

Harnessing the power of GitOps with Rig

5 mins

Feb 19, 2024

Kubernetes

GitOps has among the cloud-native community become a standard or a given for how you should manage what is installed in your Kubernetes clusters. At Rig.dev, we even use GitOps for managing our own Kubernetes clusters.

What GitOps is and all the advantages it brings is out of scope of this article. If you want to know more about it, you can read this excellent one-pager: https://www.gitops.tech/.

In the process of designing our product we have been talking to 100s of engineering leaders from companies of various sizes, and GitOps has been a recurring topic in our chats. This raises the question: How does the Rig.dev platform integrate with the GitOps pattern? In this article, we will delve deeper into this topic.


Seamless co-existence to experience the full value of GitOps

We aim for Rig to seamlessly integrate into any Kubernetes setup, providing a natural fit. This principle guides our platform design in several ways:

  • We avoid imposing specific components or methodologies on our users.

  • Rig is designed not to dominate the Kubernetes cluster; it should coexist peacefully with workloads managed outside the Rig platform.

  • Whenever feasible, we strive to integrate Rig into the broader cloud-native ecosystem.

When opting for GitOps, one of the significant advantages is the comprehensive audit log it provides for any changes made to the Kubernetes cluster. Allowing a platform to make changes to the cluster without passing through the GitOps toolchain would undermine the integrity of this audit log.

Therefore, to develop a platform that seamlessly aligns with clusters using GitOps for change management, we must be capable of integrating with the GitOps workflow.


How we at Rig.dev integrate with GitOps

As a first step towards integration with GitOps, we have implemented a feature where Rig can write changes to files in a Git repository instead of directly modifying a Kubernetes cluster.

We do not enforce a specific choice between Flux or Argo CD. Instead, we simply commit YAML manifests, leaving it to you to select a GitOps tool responsible for applying these changes to the underlying cluster.

This GitOps integration allows you to maintain all Kubernetes cluster modifications within your GitOps workflow. For detailed instructions on setting this up in your Rig.dev environment, please refer to the GitOps section in the documentation: https://docs.rig.dev/operator-manual/gitops


Upcoming Rig-features related to GitOps

Currently, we support creating resources from the Rig platform, which are then synced to Git. We do not currently support creating resources in Git that are then adopted by the Rig platform. If you would like to see this feature implemented, please voice your opinion on the GitHub issue: https://github.com/rigdev/rig/issues/607.

In some setups, changes to the Kubernetes cluster need to be approved through a pull request workflow. We do not currently support this feature, but we will be implementing it soon. The pull request feature is being tracked in this GitHub issue: https://github.com/rigdev/rig/issues/608.

Due to the asynchronous nature of a GitOps workflow, we aim to provide further support for this in our dashboard. For example, it should be easy to see whether changes you made have actually been applied to your cluster, as well as any potential problems in the GitOps pipeline. We are tracking this feature here: https://github.com/rigdev/rig/issues/609.


Introducing Rig.dev

At Rig.dev, we offer an application platform for Kubernetes. We empower developers with our developer-friendly deployment engine that simplifies the process of rolling out, managing, troubleshooting, and scaling applications on Kubernetes. The platform provides elevated Kubernetes-abstractions, cloud-native integrations, and powerful tooling that unlocks true developer experience and -productivity while enabling DevOps/Platform Team to manage risk at scale.

We would love to have a chat and give your a live demo, so please schedule a call with us through this link. If you want to take it for a spin yourself to experience the platform then sign up here.

GitOps has among the cloud-native community become a standard or a given for how you should manage what is installed in your Kubernetes clusters. At Rig.dev, we even use GitOps for managing our own Kubernetes clusters.

What GitOps is and all the advantages it brings is out of scope of this article. If you want to know more about it, you can read this excellent one-pager: https://www.gitops.tech/.

In the process of designing our product we have been talking to 100s of engineering leaders from companies of various sizes, and GitOps has been a recurring topic in our chats. This raises the question: How does the Rig.dev platform integrate with the GitOps pattern? In this article, we will delve deeper into this topic.


Seamless co-existence to experience the full value of GitOps

We aim for Rig to seamlessly integrate into any Kubernetes setup, providing a natural fit. This principle guides our platform design in several ways:

  • We avoid imposing specific components or methodologies on our users.

  • Rig is designed not to dominate the Kubernetes cluster; it should coexist peacefully with workloads managed outside the Rig platform.

  • Whenever feasible, we strive to integrate Rig into the broader cloud-native ecosystem.

When opting for GitOps, one of the significant advantages is the comprehensive audit log it provides for any changes made to the Kubernetes cluster. Allowing a platform to make changes to the cluster without passing through the GitOps toolchain would undermine the integrity of this audit log.

Therefore, to develop a platform that seamlessly aligns with clusters using GitOps for change management, we must be capable of integrating with the GitOps workflow.


How we at Rig.dev integrate with GitOps

As a first step towards integration with GitOps, we have implemented a feature where Rig can write changes to files in a Git repository instead of directly modifying a Kubernetes cluster.

We do not enforce a specific choice between Flux or Argo CD. Instead, we simply commit YAML manifests, leaving it to you to select a GitOps tool responsible for applying these changes to the underlying cluster.

This GitOps integration allows you to maintain all Kubernetes cluster modifications within your GitOps workflow. For detailed instructions on setting this up in your Rig.dev environment, please refer to the GitOps section in the documentation: https://docs.rig.dev/operator-manual/gitops


Upcoming Rig-features related to GitOps

Currently, we support creating resources from the Rig platform, which are then synced to Git. We do not currently support creating resources in Git that are then adopted by the Rig platform. If you would like to see this feature implemented, please voice your opinion on the GitHub issue: https://github.com/rigdev/rig/issues/607.

In some setups, changes to the Kubernetes cluster need to be approved through a pull request workflow. We do not currently support this feature, but we will be implementing it soon. The pull request feature is being tracked in this GitHub issue: https://github.com/rigdev/rig/issues/608.

Due to the asynchronous nature of a GitOps workflow, we aim to provide further support for this in our dashboard. For example, it should be easy to see whether changes you made have actually been applied to your cluster, as well as any potential problems in the GitOps pipeline. We are tracking this feature here: https://github.com/rigdev/rig/issues/609.


Introducing Rig.dev

At Rig.dev, we offer an application platform for Kubernetes. We empower developers with our developer-friendly deployment engine that simplifies the process of rolling out, managing, troubleshooting, and scaling applications on Kubernetes. The platform provides elevated Kubernetes-abstractions, cloud-native integrations, and powerful tooling that unlocks true developer experience and -productivity while enabling DevOps/Platform Team to manage risk at scale.

We would love to have a chat and give your a live demo, so please schedule a call with us through this link. If you want to take it for a spin yourself to experience the platform then sign up here.

Author

Benjamin Nørgaard

Benjamin Nørgaard

Share on X
Share on LinkedIn

Get the Latest from Rig.dev

Get the Latest from Rig.dev