diff --git a/argocd/applications/cluster-secrets/gitlab-production.yaml b/argocd/applications/cluster-secrets/gitlab-production.yaml new file mode 100644 index 0000000..3a0d342 --- /dev/null +++ b/argocd/applications/cluster-secrets/gitlab-production.yaml @@ -0,0 +1,23 @@ +# Declare the application applying the gitlab production cluster secrets +# like the repositories credentials, the cluster definitions, ... +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-production-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-production + directory: + recurse: true + destination: + server: https://192.168.200.4 + namespace: default + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false diff --git a/argocd/applications/gitlab-production/cert-manager-application.yaml b/argocd/applications/gitlab-production/cert-manager-application.yaml new file mode 100644 index 0000000..3ae4f2a --- /dev/null +++ b/argocd/applications/gitlab-production/cert-manager-application.yaml @@ -0,0 +1,33 @@ +# Declare the application to manage cert-manager +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-production-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.4 + 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-production/cluster-configuration-application.yaml b/argocd/applications/gitlab-production/cluster-configuration-application.yaml new file mode 100644 index 0000000..c67c358 --- /dev/null +++ b/argocd/applications/gitlab-production/cluster-configuration-application.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-production-configuration + namespace: argocd +spec: + project: default # Todo define a project to limit the deployment types + source: + repoURL: https://forge.softwareheritage.org/source/k8s-clusters-conf.git + targetRevision: master + path: gitlab-production + directory: + recurse: true + destination: + server: https://192.168.200.4 + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false diff --git a/argocd/applications/gitlab-production/gitlab-operator.yaml b/argocd/applications/gitlab-production/gitlab-operator.yaml new file mode 100644 index 0000000..7b99719 --- /dev/null +++ b/argocd/applications/gitlab-production/gitlab-operator.yaml @@ -0,0 +1,35 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-production-gitlab-operator + namespace: argocd +spec: + project: default + source: + repoURL: https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git + targetRevision: 0.12.2 + path: deploy/chart + helm: + releaseName: gitlab-operator + destination: + server: https://192.168.200.4 + 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") + diff --git a/gitlab-production/namespaces.yaml b/gitlab-production/namespaces.yaml new file mode 100644 index 0000000..6e567c0 --- /dev/null +++ b/gitlab-production/namespaces.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: gitlab-system +--- +apiVersion: v1 +kind: Namespace +metadata: + name: cert-manager +