User-defined Playground

ArgoCD + Gitea Playground

Experiment with GitOps - deploy a demo app to a Kubernetes cluster with ArgoCD, with app manifests stored in a Git repo hosted in Gitea.

Startup configuration
dev-machine
cplane-01
node-01
node-02
ArgoCD + Gitea playground: Experiment with GitOps - deploy a demo app to a Kubernetes cluster with ArgoCD, with app manifests stored in a Git repo hosted in Gitea.

Motivation

This is a playground to see GitOps in action using ArgoCD and Gitea. A demo app is deployed to a Kubernetes cluster when the playground starts. We can make changes to the app's manifest in the Git repo hosted in Gitea and see how ArgoCD automatically syncs those changes to the cluster.

Getting Started

  1. Go to Gitea tab and login with:
  • username: laborant
  • password: laborant
  1. Go to ArgoCD tab and login with:
  • username: admin
  • password: laborant
  1. Go to HelloWorldApp tab to view the demo app.
  2. Make changes to hello-world.yaml in the hello-world repository in Gitea and observe how ArgoCD syncs the changes to the cluster.
    The git repo can be cloned by:
    git clone http://cplane-01:32000/laborant/hello-world.git
    

Under the hood

ArgoCD is deployed by following the instructions in the Getting Started section.

Gitea is deployed as a single-pod instance with dev configs using the official Helm chart.

When the playground starts:

  • A hello-world Git repo is created in Gitea.
  • An app manifest hello-world.yaml is pushed to the repo. This is a simple HTML page served on nginx web server.
  • An hello-world ArgoCD app is created that points to the hello-world Git repo and the hello-world.yaml manifest.

References

Start
Settings