In this video I set up Flux running in a local cluster on my MacBook by following the getting started guide. Then I learn about how to structure the repo according to Flux methodology. I implement this structure in my homelab repo and deploy flux to my homelab cluster. Then I manage to configure Grafana and the Weave UI to be accessbible via ingress using a custom fake domain.

Notes:

  • kustomization resources live in the cluster

  • source resources also live in the cluster

  • To suspend updates for a kustomization, run the command flux suspend kustomization .

  • To resume updates run the command flux resume kustomization .

  • use flux reconcile source git podinfo to force a sync, nn waiting

  • love the fact that helm releases are still accessible and visible on the cluster

  • flux is just managing helm for you based on code

  • love the fact that weave dashboard is also part of the cluster manifests

  • learned about Kubernetes controllers

  • an operator is a controller

  • basically everything that enables CRD’s to run is a controller

“A kubernetes controller is a control loop that watches the shared state of the cluster through the apiserver and makes changes attempting to move the current state towards the desired state”

Sources

A Source defines the origin of a repository containing the desired state of the system and the requirements to obtain it (e.g. credentials, version selectors). For example, the latest 1.x tag available from a Git repository over SSH.

All sources are specified as Custom Resources in a Kubernetes cluster, examples of sources are GitRepository, OCIRepository, HelmRepository and Bucket resources.

https://fluxcd.io/flux/concepts/#sources

Weave UI

Follow this guide

https://docs.gitops.weave.works/docs/installation/weave-gitops/

  • sources are located in the clusters directory in a monorepo structure

Repo

Decided to fully commit to Flux and their practices.

Set up the repo according to this guide:

https://fluxcd.io/flux/guides/repository-structure/

And following this example:

https://github.com/fluxcd/flux2-kustomize-helm-example

202312261612

https://kubernetes.io/docs/concepts/architecture/controller/

https://youtu.be/BtuqzsyztBc