From 44cccb5f6b75c532aa6b097e2989d7581e78869e Mon Sep 17 00:00:00 2001 From: makefunstuff Date: Fri, 28 Jun 2024 13:30:53 +0300 Subject: proper refactoring --- tools/argocd/Chart.yaml | 0 tools/argocd/templates/deployment.yaml | 31 ++++++++++++++++++++++++++ tools/argocd/templates/ingress.yaml | 28 +++++++++++++++++++++++ tools/argocd/templates/service.yaml | 12 ++++++++++ tools/argocd/values.yaml | 9 ++++++++ tools/cert-manager/Chart.yaml | 9 ++++++++ tools/cert-manager/templates/cluserissuer.yaml | 16 +++++++++++++ 7 files changed, 105 insertions(+) create mode 100644 tools/argocd/Chart.yaml create mode 100644 tools/argocd/templates/deployment.yaml create mode 100644 tools/argocd/templates/ingress.yaml create mode 100644 tools/argocd/templates/service.yaml create mode 100644 tools/argocd/values.yaml create mode 100644 tools/cert-manager/Chart.yaml create mode 100644 tools/cert-manager/templates/cluserissuer.yaml (limited to 'tools') diff --git a/tools/argocd/Chart.yaml b/tools/argocd/Chart.yaml new file mode 100644 index 0000000..e69de29 diff --git a/tools/argocd/templates/deployment.yaml b/tools/argocd/templates/deployment.yaml new file mode 100644 index 0000000..b2fa31e --- /dev/null +++ b/tools/argocd/templates/deployment.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: argocd +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-server + namespace: argocd +spec: + replicas: { { .Values.replicas "1" } } + selector: + matchLabels: + app: argocd-server + template: + metadata: + labels: + app: argocd-server + spec: + containers: + - name: argocd-server + image: argoproj/argocd:latest + ports: + - containerPort: 8080 + env: + - name: ARGOCD_SERVER_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: argocd-server + key: admin.password diff --git a/tools/argocd/templates/ingress.yaml b/tools/argocd/templates/ingress.yaml new file mode 100644 index 0000000..5793540 --- /dev/null +++ b/tools/argocd/templates/ingress.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: argocd-ingress + namespace: { { .Values.namespace } } + annotations: + kubernetes.io/ingress.class: + { { .Values.ingress.annotations."kubernetes.io/ingress.class" } } + cert-manager.io/cluster-issuer: letsencrypt-prod + traefik.ingress.kubernetes.io/redirect-entry-point: https + traefik.ingress.kubernetes.io/ssl-redirect: "true" + traefik.ingress.kubernetes.io/tls-acme: "true" +spec: + rules: + - host: { { .Values.ingress.hostname } } + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: argocd-server + port: + number: 80 + tls: + - hosts: + - { { .Values.ingress.hostname } } + secretName: { { .Values.ingress.tls.secretName } } diff --git a/tools/argocd/templates/service.yaml b/tools/argocd/templates/service.yaml new file mode 100644 index 0000000..9a6afdf --- /dev/null +++ b/tools/argocd/templates/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: argocd-server + namespace: argocd +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 8080 + selector: + app: argocd-server diff --git a/tools/argocd/values.yaml b/tools/argocd/values.yaml new file mode 100644 index 0000000..01c169c --- /dev/null +++ b/tools/argocd/values.yaml @@ -0,0 +1,9 @@ +namespace: argocd +ingress: + enabled: true + hostname: argocd.topkek.cloud + annotations: + kubernetes.io/ingress.class: "traefik" + tls: + enabled: true + secretName: argocd-tls diff --git a/tools/cert-manager/Chart.yaml b/tools/cert-manager/Chart.yaml new file mode 100644 index 0000000..9dd7d68 --- /dev/null +++ b/tools/cert-manager/Chart.yaml @@ -0,0 +1,9 @@ +apiVersion: v2 +name: cert-manager +description: A Helm chart for Cert-Manager +version: 0.1.0 +appVersion: v1.8.0 +dependencies: + - name: cert-manager + version: v1.8.0 + repository: https://charts.jetstack.io diff --git a/tools/cert-manager/templates/cluserissuer.yaml b/tools/cert-manager/templates/cluserissuer.yaml new file mode 100644 index 0000000..f3ecf79 --- /dev/null +++ b/tools/cert-manager/templates/cluserissuer.yaml @@ -0,0 +1,16 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + emailSecretRef: + name: letsencrypt-email-secret + key: email + privateKeySecretRef: + name: letsencrypt-prod + solvers: + - http01: + ingress: + class: traefik -- cgit 1.4.1-2-gfad0