I am back! In past days/ months I do not post. Reason why this happend, I played with KubeSpray installation and Longhorn. I try to automate some process, but self learnining has costs in time and errors.
To summary my story, I select K3s Kubernetes with Longhorn for Storage for my Homelab.
I have bash script to install Argo Cd in my Homelab.
I used advanced instalation with helm. To have in the future be able to easer to update Helm chart.
https://github.com/andsidor/Homelab-argocd/tree/master/argo-cd
As always to run bash it has to have execution rights.
I apply chmod and executed file.
chmod +x ./argo-install-advanced.sh && ./argo-install-advanced.sh
I use Cloudflare tunnel to access to server.
https://argo.andrzejsidor.online
For the record I protect my Cloudflare tunnel from unauthorised access.
I added Argo CD server service list to protect my apps.
When You try open link for my Argo CD server, You will see this page. It works with my email only. :)
In Lens I can see all pods in argocd namespaces are running.
In CLI CRD's with name 'argo' are running.
To use Gitops philosophy, objects it has to be declared in file. Ephemeral definition is no go. Git repository is source of truth.
I created Application CRD for Argo CD.
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: nginx-demo
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/andsidor/Homelab-argocd
targetRevision: master
path: apps/app1/overlays
kustomize:
namePrefix: "demo-"
destination:
server: https://kubernetes.default.svc
namespace: apps
syncPolicy:
automated:
prune: true
selfHeal: true
kubectl apply -f ./file.yaml
After synchronization of Argo CD Application in present.
After clicking tile with nginx-demo, more details are present of each object in tree mode
In Pods mode is visible where each pod on which node is running.
In network mode we can see assigned IP for this service. It was possbile because in my homelab I have installed Ingress Traefik Controller.
New apps are comming... in my homelab.