From b9bb437de68752ca8316007d1718bdab0167ea44 Mon Sep 17 00:00:00 2001 From: shadowlegend Date: Fri, 14 Feb 2025 23:40:31 +0700 Subject: [PATCH] chore: initial commit --- argocd/bootstrap.yml | 17 +++++ argocd/infra/apps.yml | 116 +++++++++++++++++++++++++++++ argocd/infra/kustomization.yml | 6 ++ argocd/kustomization.yml | 18 +++++ argocd/management-plugin-patch.yml | 77 +++++++++++++++++++ argocd/management-plugin.yml | 32 ++++++++ argocd/namespaces.yml | 5 ++ cog.toml | 24 ++++++ 8 files changed, 295 insertions(+) create mode 100644 argocd/bootstrap.yml create mode 100644 argocd/infra/apps.yml create mode 100644 argocd/infra/kustomization.yml create mode 100644 argocd/kustomization.yml create mode 100644 argocd/management-plugin-patch.yml create mode 100644 argocd/management-plugin.yml create mode 100644 argocd/namespaces.yml create mode 100644 cog.toml diff --git a/argocd/bootstrap.yml b/argocd/bootstrap.yml new file mode 100644 index 0000000..b04ed7d --- /dev/null +++ b/argocd/bootstrap.yml @@ -0,0 +1,17 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: bootstrap + namespace: argocd +spec: + syncPolicy: + automated: + selfHeal: true + project: default + sources: + - repoURL: https://gitea.internal.ekycsolutions.com/EKYCSolutions/argocd-dev-apps + targetRevision: HEAD + path: argocd/infra + destination: + server: https://kubernetes.default.svc diff --git a/argocd/infra/apps.yml b/argocd/infra/apps.yml new file mode 100644 index 0000000..21daffe --- /dev/null +++ b/argocd/infra/apps.yml @@ -0,0 +1,116 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: cert-manager + namespace: argocd +spec: + syncPolicy: + automated: + selfHeal: true + syncOptions: + - CreateNamespace=true + project: default + sources: + - chart: cert-manager + repoURL: https://charts.jetstack.io + targetRevision: 1.17.0 + helm: + values: | + crds: + enabled: true + destination: + server: https://kubernetes.default.svc + namespace: cert-manager + +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: vector + namespace: argocd +spec: + syncPolicy: + automated: + selfHeal: true + syncOptions: + - CreateNamespace=true + project: default + sources: + - chart: vector + repoURL: https://helm.vector.dev + targetRevision: 0.40.0 + helm: + values: | + role: Agent + destination: + server: https://kubernetes.default.svc + namespace: vector + +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: rabbitmq + namespace: argocd +spec: + syncPolicy: + automated: + selfHeal: true + syncOptions: + - CreateNamespace=true + project: default + sources: + - chart: rabbitmq-cluster-operator + repoURL: registry-1.docker.io/bitnamicharts + targetRevision: 4.4.3 + destination: + server: https://kubernetes.default.svc + namespace: rabbitmq + +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: ingress-nginx + namespace: argocd +spec: + syncPolicy: + automated: + selfHeal: true + syncOptions: + - CreateNamespace=true + project: default + sources: + - chart: ingress-nginx + repoURL: https://kubernetes.github.io/ingress-nginx + targetRevision: 4.12.0 + destination: + server: https://kubernetes.default.svc + namespace: ingress-nginx + +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: cloudnative-pg + namespace: argocd +spec: + syncPolicy: + automated: + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true + project: default + sources: + - chart: cloudnative-pg + repoURL: https://cloudnative-pg.github.io/charts + targetRevision: 0.23.0 + helm: + values: | + crds: + create: true + destination: + server: https://kubernetes.default.svc + namespace: cloudnative-pg diff --git a/argocd/infra/kustomization.yml b/argocd/infra/kustomization.yml new file mode 100644 index 0000000..386708d --- /dev/null +++ b/argocd/infra/kustomization.yml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- apps.yml diff --git a/argocd/kustomization.yml b/argocd/kustomization.yml new file mode 100644 index 0000000..887bdd0 --- /dev/null +++ b/argocd/kustomization.yml @@ -0,0 +1,18 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: argocd + +resources: +- namespaces.yml +- https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.2/manifests/install.yaml +- management-plugin.yml + +patches: +- path: management-plugin-patch.yml + target: + group: apps + version: v1 + kind: Deployment + name: argocd-repo-server diff --git a/argocd/management-plugin-patch.yml b/argocd/management-plugin-patch.yml new file mode 100644 index 0000000..413ee57 --- /dev/null +++ b/argocd/management-plugin-patch.yml @@ -0,0 +1,77 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-repo-server + namespace: argocd +spec: + template: + spec: + initContainers: + - name: download-copy-timoni + image: alpine/curl + command: [/bin/sh] + args: + - -c + - >- + curl -sLO https://github.com/stefanprodan/timoni/releases/download/v0.23.0/timoni_0.23.0_linux_$(arch | sed 's/aarch/arm/' | sed 's/x86_64/amd64/').tar.gz && + tar -xzf timoni_0.23.0_linux_$(arch | sed 's/aarch/arm/' | sed 's/x86_64/amd64/').tar.gz -C /var/run/argocd/ timoni + volumeMounts: + - mountPath: /var/run/argocd + name: var-files + + - name: copyutil + command: [ /bin/bash ] + args: + - -c + - >- + /bin/cp -n /usr/local/bin/helm /var/run/argocd/helm && + /bin/cp -n /usr/local/bin/kustomize /var/run/argocd/kustomize && + /bin/cp -n /usr/local/bin/argocd /var/run/argocd/argocd-cmp-server + volumeMounts: + - mountPath: /var/run/argocd + name: var-files + + containers: + - name: timoni + image: alpine + securityContext: + runAsUser: 999 + runAsNonRoot: true + imagePullPolicy: IfNotPresent + command: [/var/run/argocd/argocd-cmp-server] + volumeMounts: + - name: var-files + mountPath: /var/run/argocd + - name: plugins + mountPath: /home/argocd/cmp-server/plugins + - name: cmp-plugins + mountPath: /home/argocd/cmp-server/config/plugin.yaml + subPath: timoni.yml + - name: cmp-tmp + mountPath: /tmp + + - name: kustomize-helm-enabled + image: alpine + securityContext: + runAsUser: 999 + runAsNonRoot: true + imagePullPolicy: IfNotPresent + command: [/var/run/argocd/argocd-cmp-server] + volumeMounts: + - name: var-files + mountPath: /var/run/argocd + - name: plugins + mountPath: /home/argocd/cmp-server/plugins + - name: cmp-plugins + mountPath: /home/argocd/cmp-server/config/plugin.yaml + subPath: kustomize-helm-enabled.yml + - name: cmp-tmp + mountPath: /tmp + + volumes: + - name: cmp-plugins + configMap: + name: argocd-custom-plugins + - name: cmp-tmp + emptyDir: {} diff --git a/argocd/management-plugin.yml b/argocd/management-plugin.yml new file mode 100644 index 0000000..5516b67 --- /dev/null +++ b/argocd/management-plugin.yml @@ -0,0 +1,32 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-custom-plugins + namespace: argocd +data: + timoni.yml: | + --- + apiVersion: argoproj.io/v1alpha1 + kind: ConfigManagementPlugin + metadata: + name: timoni + spec: + generate: + command: + - /bin/sh + - -c + - /var/run/argocd/timoni build $ARGOCD_APP_NAME $ARGOCD_APP_SOURCE_PATH + + kustomize-helm-enabled.yml: | + --- + apiVersion: argoproj.io/v1alpha1 + kind: ConfigManagementPlugin + metadata: + name: kustomize-helm-enabled + spec: + generate: + command: + - /bin/sh + - -c + - /var/run/argocd/kustomize build --enable-helm diff --git a/argocd/namespaces.yml b/argocd/namespaces.yml new file mode 100644 index 0000000..42add95 --- /dev/null +++ b/argocd/namespaces.yml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: argocd diff --git a/cog.toml b/cog.toml new file mode 100644 index 0000000..e036f6c --- /dev/null +++ b/cog.toml @@ -0,0 +1,24 @@ +from_latest_tag = false +ignore_merge_commits = false +disable_changelog = false +disable_bump_commit = false +generate_mono_repository_global_tag = true +branch_whitelist = [] +skip_ci = "[skip ci]" +skip_untracked = false +pre_bump_hooks = [] +post_bump_hooks = [] +pre_package_bump_hooks = [] +post_package_bump_hooks = [] + +[git_hooks] + +[commit_types] + +[changelog] +path = "CHANGELOG.md" +authors = [] + +[bump_profiles] + +[packages]