Fluxcd

Install / Uninstall

export GHUSER=nnbr
export GHREPO=zher-flux
fluxctl install \
          --git-user=${GHUSER} \
          --git-email=${GHUSER}@users.noreply.github.com \
          --git-url=git@github.com:${GHUSER}/${GHREPO} \
          --namespace=flux | kubectl delete -f -

fluxctl install \
          --git-user=${GHUSER} \
          --git-email=${GHUSER}@users.noreply.github.com \
          --git-url=git@github.com:${GHUSER}/${GHREPO} \
          --namespace=flux | kubectl apply -f -

flux bootstrap github \
  --url=ssh://git@github.com./nnbr/zher-flux \
  --branch=master \
  --namespace=flux

export GITHUB_TOKEN=zzz
flux bootstrap github \
       --owner=nnbr \
       --repository=zher-flux \
       --namespace=flux \
       --personal

Another installation way

kubectl apply -f https://raw.githubusercontent.com/fluxcd/helm-operator/master/deploy/crds.yaml

kubectl create namespace flux

helm repo add fluxcd https://charts.fluxcd.io

helm upgrade -i flux fluxcd/flux \
--set git.url=git@github.com:aamedia-admarket/flux \
--set git.branch=develop \
--set git.path="dev-cluster" \
--set git.timeout=120s \
--set git.pollInterval=1m \
--path=clusters/dev-cluster \
--namespace flux

helm upgrade -i helm-operator fluxcd/helm-operator \
  --set helm.versions=v3 \
  --set git.ssh.secretName=flux-git-deploy \
  --set git.branch=main \
  --namespace flux

kubectl get pods -n flux

sudo wget -O /usr/local/bin/fluxctl $(curl https://api.github.com/repos/fluxcd/flux/releases/latest | jq -r ".assets[] | select(.name | test(\"linux_amd64\")) | .browser_download_url")
sudo chmod 755 /usr/local/bin/fluxctl

fluxctl version
fluxctl identity --k8s-fwd-ns flux # (key ssh for github repo)

Cheatsheet

# list workloads
fluxctl list-workloads --k8s-fwd-ns flux

# sync with git
fluxctl sync --k8s-fwd-ns flux