7ahir / flamingo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FSA - the Flux Subsystem for Argo

FSA (aka Flamingo) is the Flux Subsystem for Argo. FSA's container image can be used as a drop-in replacement for the equivalent ArgoCD version to visualize, and manage Flux workloads, along side ArgoCD.

Getting Started with a Fresh KIND cluster

In this getting started guide, you'll be walked through steps to prepare your ultimate GitOps environment using ArgoCD and Flux. We'll bootstrap everything, including installation of ArgoCD, from this public repo. So no manual step of ArgoCD installation is required. In case you're forking this repo and change its visibility to private, you will be required to setup a Secret to authenticate your Git repo.

At the end of this guide, you'll have Flux running alongside ArgoCD locally on your KIND cluster. You'll run FSA in the anonymous mode, and see 2 pre-defined ArgoCD Applications, each of which points to its equivalent Flux Kustomization.

Install CLIs

Example install in macOS or Linux via homebrew

# install KIND cli
brew install kind

# install Flux CLI
brew install fluxcd/tap/flux

# install ArgoCD CLI
brew install argocd

Create a fresh KIND cluster

kind create cluster

Install Flux

flux install

You can check the Flux namespace (flux-system) for running pods kubectl get pods -n flux-system

image

Copy, and paste this snippet to bootstrap the demo.

cat <<EOF | kubectl apply -f -
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
  name: fsa-demo
  namespace: flux-system
spec:
  interval: 30s
  # Change url to your forked gitrepo e.g, https://github.com/GitHubUserID/flamingo
  url: https://github.com/chanwit/flamingo
  ref:
    branch: main
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
  name: fsa-demo
  namespace: flux-system
spec:
  prune: true
  interval: 2m
  path: "./demo"
  sourceRef:
    kind: GitRepository
    name: fsa-demo
  timeout: 3m
EOF

Check ArgoCD pods are running and Ready kubectl get -n argocd pods

image

Finally, port forward and open your browser to http://localhost:8080

kubectl -n argocd port-forward svc/argocd-server 8080:443

You'll find 2 ArgoCD Applications, each of which consists of 1 Flux's Kustomization and 1 Flux's GitRepository.

image

About