... managed by ArgoCD 🤖
Welcome to my OpenShift multi cluster Infrastructure as code repository
Getting started on Agent-based installer
-
Generate ISO
rm -rf installer/dev-acm #remove older cluster if any cp -r installer/cluster installer/dev-acm #copy cluster config files ./openshift-install agent create image --dir installer/dev-acm #create image
-
Upload ISO to proxmox from GUI
-
Create 3 VMs with CPU type as
max
-
Start VMs and wait for the cluster installation to finish
export KUBECONFIG=installer/dev-acm/auth/kubeconfig ./openshift-install agent wait-for install-complete --dir installer/dev-acm --log-level=debug
Playbooks to automate manual steps described above
OpenShift GitOps Operator watches my cluster folder (see Directories below) and makes the changes to my cluster based on the YAML manifests.
oc apply -k kustomize/bases/openshift-gitops-operator
cat ~/.config/sops/age/keys.txt | oc create secret generic sops-age -n openshift-gitops --from-file=keys.txt=/dev/stdin
oc apply -k kustomize/bases/openshift-gitops-config -n openshift-gitops
kustomize build kustomize/cluster-overlays/dev-acm/argo-application --enable-alpha-plugins --load-restrictor LoadRestrictionsNone | oc apply -f-
This Git repository contains the following directories (kustomizatons) under cluster.
📁 helm # helm charts folder
├─📁 charts
├ └─ 📁 <CHART-NAME> # custom helm charts
📁 kustomize # openshift cluster defined as code
├─📁 bases # bases contains resources that applies to all clusters
└─📁 cluster-overlays # Contains all the clusters managed by the repo
└─ 📁 <CLUSTER-NAME> # Contains applications to deploy on cluster, using helm/charts or kustomize/bases as resources
helm upgrade --install developer-hub openshift-helm-charts/redhat-developer-hub -f kustomize/cluster-overlays/dev-acm/developer-hub-chart/values.yaml -n=developer-hub --kube-insecure-skip-tls-verify
- ArgoCD with SOPS plugin
- Secret Management using External secrets and 1Password
- Cert manager for API and Wildcard certificate
- Multi cluster management
- Kyverno
- Renovate bot