Skip to content

dannylongeuay/gitops-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitOps Playground

This repo serves as a starting point to explore and learn GitOps tooling in a local Kubernetes cluster.

What is GitOps?

GitOps is the automation of DevOps best practices for application management.

Key Properties:

  • Git is the single source of truth
  • System state is defined in a declarative manner
  • CI/CD is responsible for building, testing, and deployment
  • Commits are the trigger for changes to a target environment
  • Changes to the environment can be monitored and provide feedback

Application Deployment Tooling

  • Flux
    • Pros
      • Supports Helm and Kustomize
      • Simple approach to automatic application deployments
      • Multi-tenant support
    • Cons
      • CLI driven, no native UI support
  • ArgoCD
    • Pros
      • Supports Helm and Kustomize
      • Native UI
      • Multi-tenant support
    • Cons
      • Argo deployments are a bit more involved

Local Development

Local development leverages K3D to create a local Kubernetes cluster.

Kubectl and FluxCLI are used to bootstrap the cluster.

A hello world app will be deployed via Flux and ArgoCD. The built-in Traefik ingress controller is used to proxy the applications.

URL endpoints:

Requirements

Usage

Run make create to create the local Kubernetes cluster and bootstrap Flux and ArgoCD.

Make Targets

❯ make
help                           View help information
asdf-bootstrap                 Install all tools through asdf-vm
flux-bootstrap                 Install flux in k3d cluster
argo-bootstrap                 Install argo in k3d cluster
bootstrap                      Perform all bootstrapping required for local development
create                         Create local development environment
clean                          Destroy local development environment

About

Explore and Learn GitOps Tooling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published