diff --git a/charts/incubator/traefik/Chart.yaml b/charts/incubator/traefik/Chart.yaml index 0a8c3092460..1568b73230d 100644 --- a/charts/incubator/traefik/Chart.yaml +++ b/charts/incubator/traefik/Chart.yaml @@ -22,4 +22,4 @@ sources: - https://github.com/traefik/traefik-helm-chart - https://traefik.io/ type: application -version: 0.0.2 +version: 0.0.3 diff --git a/charts/incubator/traefik/SCALE/ix_values.yaml b/charts/incubator/traefik/SCALE/ix_values.yaml index 5bfb6c3c7f8..a1005a580e6 100644 --- a/charts/incubator/traefik/SCALE/ix_values.yaml +++ b/charts/incubator/traefik/SCALE/ix_values.yaml @@ -58,7 +58,7 @@ additionalArguments: - "--metrics.prometheus" - "--ping" - "--serverstransport.insecureskipverify=true" - + - "--providers.kubernetesingress.allowexternalnameservices=true" # TLS Options are created as TLSOption CRDs # https://doc.traefik.io/traefik/https/tls/#tls-options diff --git a/charts/incubator/traefik/templates/_ingressclass.tpl b/charts/incubator/traefik/templates/_ingressclass.tpl index 27ea822a64d..d1ac5b45210 100644 --- a/charts/incubator/traefik/templates/_ingressclass.tpl +++ b/charts/incubator/traefik/templates/_ingressclass.tpl @@ -1,22 +1,14 @@ {{/* Define the ingressClass */}} {{- define "traefik.ingressClass" -}} -{{- if and .Values.ingressClass.enabled (semverCompare ">=2.3.0" (default .Chart.AppVersion .Values.image.tag)) -}} - {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }} -apiVersion: networking.k8s.io/v1 - {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }} -apiVersion: networking.k8s.io/v1beta1 - {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }} -apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }} - {{- else }} - {{- fail "\n\n ERROR: You must have at least networking.k8s.io/v1beta1 to use ingressClass" }} - {{- end }} +{{- if and .Values.ingressClass.enabled }} +--- kind: IngressClass metadata: annotations: ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} labels: {{- include "common.labels" . | nindent 4 }} - name: {{ include "common.names.fullname" . }} + name: {{ .Release.Name }} spec: controller: traefik.io/ingress-controller {{- end }} diff --git a/charts/incubator/traefik/templates/middleware-namespace.yaml b/charts/incubator/traefik/templates/middleware-namespace.yaml index 16156ee5e12..6506a652c76 100644 --- a/charts/incubator/traefik/templates/middleware-namespace.yaml +++ b/charts/incubator/traefik/templates/middleware-namespace.yaml @@ -1,3 +1,4 @@ +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} apiVersion: v1 kind: Namespace metadata: @@ -5,3 +6,5 @@ metadata: namespace: traefikmiddlewares annotations: "helm.sh/hook": pre-install + "helm.sh/hook-delete-policy": before-hook-creation,hook-failed +{{- end }} diff --git a/charts/incubator/traefik/templates/middlewares/basic-middleware.yaml b/charts/incubator/traefik/templates/middlewares/basic-middleware.yaml index 98f7d1c170c..652bddd05b8 100644 --- a/charts/incubator/traefik/templates/middlewares/basic-middleware.yaml +++ b/charts/incubator/traefik/templates/middlewares/basic-middleware.yaml @@ -3,7 +3,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: compress - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: compress: {} --- @@ -13,7 +13,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: basic-ratelimit - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: rateLimit: average: 300 @@ -23,7 +23,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: basic-secure-headers - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: headers: accessControlAllowMethods: @@ -49,7 +49,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: chain-basic - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: chain: middlewares: diff --git a/charts/incubator/traefik/templates/middlewares/basicauth.yaml b/charts/incubator/traefik/templates/middlewares/basicauth.yaml index 4e0f326a2f4..1d4836eab8e 100644 --- a/charts/incubator/traefik/templates/middlewares/basicauth.yaml +++ b/charts/incubator/traefik/templates/middlewares/basicauth.yaml @@ -9,7 +9,7 @@ apiVersion: v1 kind: Secret metadata: name: {{printf "%v-%v" $middlewareData.name "secret" }} - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} type: Opaque stringData: users: | @@ -22,7 +22,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: {{ $middlewareData.name }} - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: basicAuth: secret: {{printf "%v-%v" $middlewareData.name "secret" }} diff --git a/charts/incubator/traefik/templates/middlewares/chain.yaml b/charts/incubator/traefik/templates/middlewares/chain.yaml index ef592c255ba..67939a24ebe 100644 --- a/charts/incubator/traefik/templates/middlewares/chain.yaml +++ b/charts/incubator/traefik/templates/middlewares/chain.yaml @@ -6,7 +6,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: {{ $middlewareData.name }} - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: chain: middlewares: diff --git a/charts/incubator/traefik/templates/middlewares/forwardauth.yaml b/charts/incubator/traefik/templates/middlewares/forwardauth.yaml index bb90d33775e..4cac7cc2cc6 100644 --- a/charts/incubator/traefik/templates/middlewares/forwardauth.yaml +++ b/charts/incubator/traefik/templates/middlewares/forwardauth.yaml @@ -4,7 +4,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: {{ $middlewareData.name }} - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: forwardAuth: address: {{ $middlewareData.address }} diff --git a/charts/incubator/traefik/templates/middlewares/ratelimit.yaml b/charts/incubator/traefik/templates/middlewares/ratelimit.yaml index b4bfa938e6e..65d55b909d2 100644 --- a/charts/incubator/traefik/templates/middlewares/ratelimit.yaml +++ b/charts/incubator/traefik/templates/middlewares/ratelimit.yaml @@ -6,7 +6,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: {{ $middlewareData.name }} - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: rateLimit: average: {{ $middlewareData.average }} diff --git a/charts/incubator/traefik/templates/middlewares/redirectScheme.yaml b/charts/incubator/traefik/templates/middlewares/redirectScheme.yaml index 070c8fc4a90..715dedf8f1d 100644 --- a/charts/incubator/traefik/templates/middlewares/redirectScheme.yaml +++ b/charts/incubator/traefik/templates/middlewares/redirectScheme.yaml @@ -6,7 +6,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: {{ $middlewareData.name }} - namespace: traefikmiddlewares + namespace: {{ if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}traefikmiddlewares{{ else }}ix-{{ .Release.Name }}{{ end }} spec: redirectScheme: scheme: {{ $middlewareData.scheme }} diff --git a/charts/incubator/traefik/values.yaml b/charts/incubator/traefik/values.yaml index 1840f8f5d7b..10fada4b153 100644 --- a/charts/incubator/traefik/values.yaml +++ b/charts/incubator/traefik/values.yaml @@ -117,6 +117,7 @@ additionalArguments: - "--metrics.prometheus" - "--ping" - "--serverstransport.insecureskipverify=true" + - "--providers.kubernetesingress.allowexternalnameservices=true" # -- TLS Options to be created as TLSOption CRDs