Skip to main content

GitOps Approach Basics

Learn GitOps basics for SecureAuth on Kubernetes.

What is GitOps

GitOps is a methodology to manage and maintain infrastructure and application configurations using Git as the single source of truth. By treating infrastructure as code, changes are submitted as code reviews, and once merged, they are automatically applied to the target environment.

The primary principles of GitOps are:

  • Descriptive: The desired state of your system is described declaratively and versioned in a Git repository.

  • Automated: Changes to the desired state in the Git repository trigger the system to change its actual state to match the described state.

  • Versioned: All changes are version-controlled and can be reverted or re-applied at any given time.

  • Verified: Before applying changes, the system ensures that the changes are valid and will not disrupt its operations.

SecureAuth and GitOps using FluxCD

SecureAuth utilizes GitOps practices for deploying and managing its systems on Kubernetes. For this purpose, SecureAuth leverages FluxCD, a set of continuous and progressive delivery solutions for Kubernetes that are used to implement GitOps methodologies.

FluxCD Resources

FluxCD operates based on custom resources to manage the applications lifecycle and their configurations. Here are some of the primary FluxCD resources:

  • Source: This resource defines the origin of your code, be it from Git repositories, Helm repositories, or even specific storage buckets. The source ensures that FluxCD always knows where to fetch the desired state of your applications.

  • Kustomization: Building upon Kubernetes Kustomize, this resource allows users to customize raw, template-free YAML files for multiple purposes, ensuring that the exact configuration can be maintained across various environments.

  • HelmRelease: This resource is a Helm-specific extension by FluxCD. It defines how a Helm chart, possibly fetched from a Source, should be released (i.e., which values to use, what namespace to install into). With this, you can automate Helm operations using GitOps principles.

By combining these resources, SecureAuth can describe and control precisely how applications should be deployed, configured, and maintained on Kubernetes clusters.

To learn more, visit the FluxCD official documentation.