fix(argocd): Cleaning up Application entry for Traefik

This commit is contained in:
Vegard Hagen
2023-01-09 21:18:17 +01:00
parent d265a4d644
commit 888e0de398
4 changed files with 91 additions and 27 deletions
+9
View File
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: traefik-system
helmCharts:
- name: traefik
repo: https://helm.traefik.io/traefik
version: 20.8.0
valuesFile: values.yaml
+34
View File
@@ -0,0 +1,34 @@
deployment:
initContainers:
# The "volume-permissions" init container is required if you run into permission issues.
# Related issue: https://github.com/traefik/traefik/issues/6972
- name: volume-permissions
image: busybox:1.31.1
command: [ "sh", "-c", "chmod -Rv 600 /data/*" ]
volumeMounts:
- name: data
mountPath: /data
providers:
kubernetesCRD:
allowCrossNamespace: true
additionalArguments:
- "--log.level=ERROR"
- "--api.insecure"
persistence:
enabled: true
name: data
accessMode: ReadWriteOnce
size: 128Mi
storageClass: cert-storage
path: /data
certResolvers:
letsencrypt:
email: [email protected]
tlsChallenge: true
storage: /data/acme.json
# Remove staging server when it's working
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
+31 -10
View File
@@ -10,17 +10,38 @@ spec:
source:
chart: traefik
repoURL: https://helm.traefik.io/traefik
targetRevision: 20.7.0
targetRevision: 20.8.0
# path: infra/traefik
# repoURL: https://github.com/vehagn/homelab
# targetRevision: HEAD
helm:
#parameters:
# - name: providers.kubernetesCRD.allowCrossNamespace
# value: "true"
# - name: additionalArguments
# value: "--api.insecure"
# - name: persistence.enabled
# value: "true"
valueFiles:
- https://raw.githubusercontent.com/vehagn/homelab/main/helm/traefik-values.yaml
values: |
deployment:
initContainers:
- name: volume-permissions
image: busybox:1.31.1
command: [ "sh", "-c", "chmod -Rv 600 /data/*" ]
volumeMounts:
- name: data
mountPath: /data
providers:
kubernetesCRD:
allowCrossNamespace: true
additionalArguments:
- "--log.level=ERROR"
- "--api.insecure"
persistence:
enabled: true
name: data
accessMode: ReadWriteOnce
size: 128Mi
storageClass: cert-storage
path: /data
certResolvers:
letsencrypt:
email: [email protected]
tlsChallenge: true
storage: /data/acme.json
destination:
namespace: traefik-system
name: in-cluster
+17 -17
View File
@@ -30,12 +30,12 @@ provider "helm" {
# version = "1.11.5"
#}
## Create namespace for Traefik
resource "kubernetes_namespace" "traefik" {
metadata {
name = "traefik-system"
}
}
### Create namespace for Traefik
#resource "kubernetes_namespace" "traefik" {
# metadata {
# name = "traefik-system"
# }
#}
## Create StorageClass for local volumes
resource "kubernetes_storage_class" "cert-storage" {
@@ -78,14 +78,14 @@ resource "kubernetes_persistent_volume" "traefik-cert-pv" {
}
}
## Install Traefik
resource "helm_release" "traefik" {
name = "traefik"
repository = "https://helm.traefik.io/traefik"
chart = "traefik"
namespace = kubernetes_namespace.traefik.metadata.0.name
#version = "10.30.1"
values = [file("helm/traefik-values.yaml")]
}
### Install Traefik
#resource "helm_release" "traefik" {
# name = "traefik"
#
# repository = "https://helm.traefik.io/traefik"
# chart = "traefik"
# namespace = kubernetes_namespace.traefik.metadata.0.name
# #version = "10.30.1"
#
# values = [file("helm/traefik-values.yaml")]
#}