diff --git a/argocd/applications/cluster-secrets/gitlab-staging.yaml b/argocd/applications/cluster-secrets/gitlab-staging.yaml new file mode 100644 --- /dev/null +++ b/argocd/applications/cluster-secrets/gitlab-staging.yaml @@ -0,0 +1,23 @@ +# Declare the application applying the gitlab staging cluster secrets +# like the repositories credentials, the cluster definitions, ... +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-staging-argocd-secrets + namespace: argocd +spec: + project: default # Todo define a project to limit the deployment types + source: + repoURL: ssh://git@forge.softwareheritage.org/source/k8s-swh-private-data.git + targetRevision: HEAD + path: gitlab-staging + directory: + recurse: true + destination: + server: https://192.168.200.113 + namespace: default + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false diff --git a/argocd/applications/gitlab-staging/cert-manager-application.yaml b/argocd/applications/gitlab-staging/cert-manager-application.yaml new file mode 100644 --- /dev/null +++ b/argocd/applications/gitlab-staging/cert-manager-application.yaml @@ -0,0 +1,33 @@ +# Declare the application to manage cert-manager +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-staging-certmanager + namespace: argocd +spec: + revisionHistoryLimit: 2 + project: default + source: + chart: cert-manager + repoURL: https://charts.jetstack.io + targetRevision: v1.9.1 + helm: + releaseName: cert-manager + parameters: + - name: "installCRDs" + value: "true" + destination: + server: https://192.168.200.13 + namespace: cert-manager + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - RespectIgnoreDifferences=true + ignoreDifferences: + - group: admissionregistration.k8s.io + kind: ValidatingWebhookConfiguration + name: cert-manager-webhook + jqPathExpressions: + - .webhooks[].namespaceSelector.matchExpressions[] | select(.key == "control-plane") diff --git a/argocd/applications/gitlab-staging/gitlab-operator.yaml b/argocd/applications/gitlab-staging/gitlab-operator.yaml new file mode 100644 --- /dev/null +++ b/argocd/applications/gitlab-staging/gitlab-operator.yaml @@ -0,0 +1,35 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-staging-gitlab-operator + namespace: argocd +spec: + project: default + source: + repoURL: https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git + targetRevision: 0.8.0 + path: deploy/chart + helm: + releaseName: gitlab-operator + destination: + server: https://192.168.200.13 + namespace: gitlab-system + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false + syncOptions: + - RespectIgnoreDifferences=true + ignoreDifferences: + - group: '*' + kind: Deployment + name: gitlab-controller-manager + jqPathExpressions: + - .spec.template.metadata.annotations + - group: admissionregistration.k8s.io + kind: ValidatingWebhookConfiguration + name: gitlab-validating-webhook-configuration + jqPathExpressions: + - .webhooks[].namespaceSelector.matchExpressions[] | select(.key == "control-plane") +