瀏覽代碼

HUE-8744 [k8s] Adding ingress configuration for http and https

Romain 6 年之前
父節點
當前提交
df36e4210a

+ 17 - 0
tools/kubernetes/helm/hue/templates/clusterissuer-letsencrypt-prod.yaml

@@ -0,0 +1,17 @@
+{{- if and .Values.ingress.create (eq .Values.ingress.create "nginx-ssl") -}}
+apiVersion: certmanager.k8s.io/v1alpha1
+kind: ClusterIssuer
+metadata:
+  name: letsencrypt-prod
+spec:
+  acme:
+    # The ACME server URL
+    server: https://acme-v02.api.letsencrypt.org/directory
+    # Email address used for ACME registration
+    email: {{ .Values.ingress.email }}
+    # Name of a secret used to store the ACME account private key
+    privateKeySecretRef:
+      name: letsencrypt-prod
+    # Enable the HTTP-01 challenge provider
+    http01: {}
+{{- end -}}

+ 17 - 0
tools/kubernetes/helm/hue/templates/clusterissuer-letsencrypt-staging.yaml

@@ -0,0 +1,17 @@
+{{- if and .Values.ingress.create (eq .Values.ingress.create "nginx-ssl") -}}
+apiVersion: certmanager.k8s.io/v1alpha1
+kind: ClusterIssuer
+metadata:
+ name: letsencrypt-staging
+spec:
+ acme:
+   # The ACME server URL
+   server: https://acme-staging-v02.api.letsencrypt.org/directory
+   # Email address used for ACME registration
+   email: {{ .Values.ingress.email }}
+   # Name of a secret used to store the ACME account private key
+   privateKeySecretRef:
+     name: letsencrypt-staging
+   # Enable the HTTP-01 challenge provider
+   http01: {}
+{{- end -}}

+ 17 - 0
tools/kubernetes/helm/hue/templates/ingress-http.yaml

@@ -0,0 +1,17 @@
+{{- if and .Values.ingress.create (eq .Values.ingress.create "nginx") -}}
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+  name: hue-ingress
+  annotations:
+    kubernetes.io/ingress.class: nginx
+spec:
+  rules:
+  - host: {{ .Values.ingress.domain }}
+    http:
+      paths:
+      - backend:
+          serviceName: hue-balancer
+          servicePort: 80
+        path: /
+{{- end -}}

+ 24 - 0
tools/kubernetes/helm/hue/templates/ingress-https.yaml

@@ -0,0 +1,24 @@
+{{- if and .Values.ingress.create (eq .Values.ingress.create "nginx-ssl") -}}
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+  name: hue-ingress
+  annotations:
+    kubernetes.io/ingress.class: nginx
+    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
+    certmanager.k8s.io/acme-challenge-type: http01
+    nginx.ingress.kubernetes.io/ssl-redirect: "true"
+spec:
+  rules:
+  - host: {{ .Values.ingress.domain }}
+    http:
+      paths:
+      - backend:
+          serviceName: hue-balancer
+          servicePort: 80
+        path: /
+  tls:
+  - hosts:
+    - {{ .Values.ingress.domain }}
+    secretName: letsencrypt-pro
+{{- end -}}

+ 0 - 17
tools/kubernetes/helm/hue/templates/ingress-hue-basic.yaml

@@ -1,17 +0,0 @@
-{{- if .Values.ingress.create -}}
-apiVersion: extensions/v1beta1
-kind: Ingress
-metadata:
-  name: demo-hue-ingress
-  annotations:
-     kubernetes.io/ingress.class: nginx # helm install stable/nginx-ingress -n nginx-ingress
-spec:
-  rules:
-  - host: demo2.gethue.com
-    http:
-      paths:
-      - path: /
-        backend:
-          serviceName: hue
-          servicePort: 80
-{{- end -}}

+ 0 - 22
tools/kubernetes/helm/hue/templates/ingress-hue-ssl.yaml

@@ -1,22 +0,0 @@
-{{- if .Values.ingress.create -}}
-apiVersion: extensions/v1beta1
-kind: Ingress
-metadata:
-  name: demo-hue-ingress
-  annotations:
-    kubernetes.io/ingress.class: nginx
-    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
-spec:
-  tls:
-  - hosts:
-    - demo2.gethue.com
-    secretName: letsencrypt-prod
-  rules:
-  - host: demo2.gethue.com
-    http:
-      paths:
-      - path: /
-        backend:
-          serviceName: hue
-          servicePort: 80
-{{- end -}}

+ 1 - 1
tools/kubernetes/helm/hue/templates/ingress-hue.yaml → tools/kubernetes/helm/hue/templates/ingress-traefik-hue.yaml

@@ -1,4 +1,4 @@
-{{- if .Values.ingress.create -}}
+{{- if and .Values.ingress.create (eq .Values.ingress.create "traefik") -}}
 apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:

+ 1 - 1
tools/kubernetes/helm/hue/templates/ingress-traefik.yaml

@@ -1,4 +1,4 @@
-{{- if .Values.ingress.create -}}
+{{- if and .Values.ingress.create (eq .Values.ingress.create "traefik") -}}
 apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:

+ 1 - 1
tools/kubernetes/helm/hue/templates/service-traefik.yaml

@@ -1,4 +1,4 @@
-{{- if .Values.ingress.create -}}
+{{- if and .Values.ingress.create (eq .Values.ingress.create "traefik") -}}
 kind: Service
 apiVersion: v1
 metadata:

+ 5 - 1
tools/kubernetes/helm/hue/values.yaml

@@ -61,6 +61,10 @@ aws:
   region: "us-east-1"
 ingress:
   create: false
-  type: "traefik"
+  type: "nginx-ssl"
+  domain: "demo.gethue.com"
+  email: "team@gethue.com"
+  # type: "nginx"
+  # type: "traefik"
   loadBalancerIp: "127.0.0.1"
   domain: "127.0.0.1.nip.io"