From 6eecb351fc5d9cc7f567b15adb753e09c4b843d8 Mon Sep 17 00:00:00 2001 From: Quentin Campos Date: Mon, 20 Apr 2026 22:43:21 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=EF=B8=8F=20Publish=20initial=20clu?= =?UTF-8?q?ster=20&=20argocd=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 +++++++++++++++-- system/argocd/argocd-ingress.yaml | 26 ++++++++++++++++++++++++++ system/argocd/argocd-traefik.yaml | 8 ++++++++ system/cluster/cluster-issuer.yaml | 14 ++++++++++++++ 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 system/argocd/argocd-ingress.yaml create mode 100644 system/argocd/argocd-traefik.yaml create mode 100644 system/cluster/cluster-issuer.yaml diff --git a/README.md b/README.md index 718784d..1d88c73 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ -# Git - ForgeJo +# System configuration -Configuration of the ForgeJO (Gitea open source fork) through ArgoCD +This repo contains the `yaml` files used to configure the complete infrastructure. + + +## system/cluster + +Contains global cluster configuration (cluster issuer for automatic certificates) + +> This was only applied manually at cluster creation + +## system/argocd + +Configuration for ArgoCD to be accessible throug it's HTTP port with traefik and the automatic certificat system + +> This was only applied manually at cluster creation diff --git a/system/argocd/argocd-ingress.yaml b/system/argocd/argocd-ingress.yaml new file mode 100644 index 0000000..268b8dc --- /dev/null +++ b/system/argocd/argocd-ingress.yaml @@ -0,0 +1,26 @@ +# For the ingress that connects to the HTTP port of ArgoCD +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: argocd-server-ingress + namespace: argocd + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-http" + traefik.ingress.kubernetes.io/router.tls: "true" +spec: + ingressClassName: traefik + tls: + - hosts: + - argo.qcampos.fr + secretName: argocd-server-tls + rules: + - host: argo.qcampos.fr + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: argocd-server + port: + number: 80 diff --git a/system/argocd/argocd-traefik.yaml b/system/argocd/argocd-traefik.yaml new file mode 100644 index 0000000..4c43566 --- /dev/null +++ b/system/argocd/argocd-traefik.yaml @@ -0,0 +1,8 @@ +# For Traefik to accept to speak with ArgoCD self-signed certificate +apiVersion: traefik.io/v1alpha1 +kind: ServersTransport +metadata: + name: argocd-server-transport + namespace: argocd +spec: + insecureSkipVerify: true diff --git a/system/cluster/cluster-issuer.yaml b/system/cluster/cluster-issuer.yaml new file mode 100644 index 0000000..6b4713b --- /dev/null +++ b/system/cluster/cluster-issuer.yaml @@ -0,0 +1,14 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-http +spec: + acme: + email: quentin.campos@gmail.com # Ton email pour les alertes de fin de validité + server: https://acme-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: letsencrypt-http-issuer-key + solvers: + - http01: + ingress: + class: traefik