Split argocd into flat chart to re-hook itself

This commit is contained in:
GeorgeRaven
2023-11-30 22:25:18 +00:00
parent 7db67da921
commit facb1a132d
5 changed files with 92 additions and 12 deletions

View File

@@ -1,12 +1,12 @@
CHART_DIR_PATH_ARGO="charts/init"
CHART_DIR_PATH_INIT="charts/init"
CHART_DIR_PATH_ARGOCD="charts/argocd"
ARGO_NAMESPACE="argocd"
ACD=argo-cd
ACD_VERSION=5.46.6
REGISTRY="registry.gitlab.com"
FORWARD_PORT="8021"
MINIKUBE_KUBE_VERSION=1.27.4
REGCRED_NAME="regcred"
DEEPCYOHER_NAMESPACE=deepcypher
DEEPCYPHER_NAMESPACE=deepcypher
# additional args for setting podman auth.json config
# https://docs.podman.io/en/latest/markdown/podman-login.1.html
DOCKER_AUTH_FILE="${HOME}/.docker/config.json"
@@ -29,11 +29,13 @@ all: minikube install forward ## create a basic minikube cluster to launch the s
.PHONY: install
install: #login.lock ## bootstrap cluster into default kubeconfig location
helm repo add argocd https://argoproj.github.io/argo-helm/
helm dependency update ${CHART_DIR_PATH_ARGO}
#kubectl create namespace ${DEEPCYOHER_NAMESPACE} && kubectl apply -f login.creds
helm upgrade --install --create-namespace --namespace ${ARGO_NAMESPACE} -f argocd-values.yaml ${ACD} argocd/argo-cd --version ${ACD_VERSION}
helm upgrade --install --create-namespace --namespace ${ARGO_NAMESPACE} --set="type=${KUBE_TYPE}" init ${CHART_DIR_PATH_ARGO}
#helm repo add argocd https://argoproj.github.io/argo-helm/
helm dependency update ${CHART_DIR_PATH_INIT}
#kubectl create namespace ${DEEPCYPHER_NAMESPACE} && kubectl apply -f login.creds
helm dependency build ${CHART_DIR_PATH_ARGOCD}
helm upgrade --install --create-namespace --namespace ${ARGO_NAMESPACE} argo-cd ${CHART_DIR_PATH_ARGOCD}
helm dependency build ${CHART_DIR_PATH_INIT}
helm upgrade --install --create-namespace --namespace ${ARGO_NAMESPACE} --set="type=${KUBE_TYPE}" init ${CHART_DIR_PATH_INIT}
.PHONY: forward
forward: ## forward local port to argocd server deployment for secure preview
@@ -53,16 +55,14 @@ uninstall: ## uninstall this bootstrap but this will not remove argocd as it nee
helm uninstall --namespace ${ARGO_NAMESPACE} init
.PHONY: upgrade
upgrade: ## upgrade both argocd and the bootstrap
helm upgrade --namespace ${ARGO_NAMESPACE} -f argocd-values.yaml ${ACD} argocd/argo-cd --version ${ACD_VERSION}
helm upgrade --namespace ${ARGO_NAMESPACE} --set="type=${KUBE_TYPE}" init ${CHART_DIR_PATH_ARGO}
upgrade: install ## upgrade both argocd and the bootstrap
.PHONY: login
login: login.lock
login.lock:
podman login ${REGISTRY}
kubectl create -n ${DEEPCYOHER_NAMESPACE} secret generic ${REGCRED_NAME} --from-file=.dockerconfigjson=${REGISTRY_AUTH_FILE} --type=kubernetes.io/dockerconfigjson --dry-run=client -o yaml > login.creds
kubectl create -n ${DEEPCYPHER_NAMESPACE} secret generic ${REGCRED_NAME} --from-file=.dockerconfigjson=${REGISTRY_AUTH_FILE} --type=kubernetes.io/dockerconfigjson --dry-run=client -o yaml > login.creds
touch login.lock
.PHONY: patch-regcred

23
charts/argocd/.helmignore Normal file
View File

@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

6
charts/argocd/Chart.lock Normal file
View File

@@ -0,0 +1,6 @@
dependencies:
- name: argo-cd
repository: https://argoproj.github.io/argo-helm/
version: 5.46.6
digest: sha256:748d90d620f0db8a5ebc3b35bb6a148f66043f8253b32d1969daf188ae39c8b7
generated: "2023-11-30T22:22:16.444114171Z"

29
charts/argocd/Chart.yaml Normal file
View File

@@ -0,0 +1,29 @@
apiVersion: v2
name: argo-cd
description: A Helm chart for Kubernetes
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"
dependencies:
- name: argo-cd
version: 5.46.6
repository: "https://argoproj.github.io/argo-helm/"

22
charts/argocd/values.yaml Normal file
View File

@@ -0,0 +1,22 @@
argocd:
redis-ha:
enabled: true
controller:
replicas: 3
server:
autoscaling:
enabled: true
minReplicas: 2
repoServer:
autoscaling:
enabled: true
minReplicas: 2
applicationSet:
replicas: 2
dex:
enabled: false