diff --git a/tools/kubernetes/helm/hue/templates/clusterrole-traefik.yaml b/tools/kubernetes/helm/hue/templates/clusterrole-traefik.yaml new file mode 100644 index 00000000000..33ee6e2e069 --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/clusterrole-traefik.yaml @@ -0,0 +1,25 @@ +{{- if .Values.ingress.create -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: traefik-ingress-controller +rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses + verbs: + - get + - list + - watch +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/clusterrolebinding-traefik.yaml b/tools/kubernetes/helm/hue/templates/clusterrolebinding-traefik.yaml new file mode 100644 index 00000000000..2249836b0bf --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/clusterrolebinding-traefik.yaml @@ -0,0 +1,14 @@ +{{- if .Values.ingress.create -}} +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: traefik-ingress-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: traefik-ingress-controller +subjects: +- kind: ServiceAccount + name: traefik-ingress-controller + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/configmap-hue.yaml b/tools/kubernetes/helm/hue/templates/configmap-hue.yaml new file mode 100644 index 00000000000..8f254d2206a --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/configmap-hue.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: hue-config +data: + hue-ini: | + [desktop] + [[database]] + engine={{ .Values.hue.database.engine }} + host={{ .Values.hue.database.host }} + port={{ .Values.hue.database.port }} + user={{ .Values.hue.database.user }} + password={{ .Values.hue.database.password }} + name={{ .Values.hue.database.name }} + + [aws] + [[aws_accounts]] + [[[default]]] + access_key_id={{ .Values.aws.awsAccessKeyId }} + secret_access_key={{ .Values.aws.awsSecretAccessKey }} + region={{ .Values.aws.awsRegion }} + + [notebook] + [[interpreters]] + {{ .Values.hue.interpreters | indent 4 }} diff --git a/tools/kubernetes/helm/hue/templates/deployment-traefik.yaml b/tools/kubernetes/helm/hue/templates/deployment-traefik.yaml new file mode 100644 index 00000000000..3106fb88130 --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/deployment-traefik.yaml @@ -0,0 +1,33 @@ +{{- if .Values.ingress.create -}} +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + labels: + app: traefik-ingress-lb +spec: + replicas: 1 + selector: + matchLabels: + app: traefik-ingress-lb + template: + metadata: + labels: + app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-controller + terminationGracePeriodSeconds: 60 + containers: + - image: traefik:v1.6.6 + name: traefik-ingress-lb + ports: + - name: http + containerPort: 80 + - name: admin + containerPort: 8080 + args: + - --api + - --kubernetes + - --logLevel=INFO +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/hue.yaml b/tools/kubernetes/helm/hue/templates/hue.yaml deleted file mode 100644 index 168b92c5580..00000000000 --- a/tools/kubernetes/helm/hue/templates/hue.yaml +++ /dev/null @@ -1,81 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: hue-config -data: - hue-ini: | - [desktop] - [[database]] - engine={{ .Values.hue.database.engine }} - host={{ .Values.hue.database.host }} - port={{ .Values.hue.database.port }} - user={{ .Values.hue.database.user }} - password={{ .Values.hue.database.password }} - name={{ .Values.hue.database.name }} - - [aws] - [[aws_accounts]] - [[[default]]] - access_key_id={{ .Values.aws.awsAccessKeyId }} - secret_access_key={{ .Values.aws.awsSecretAccessKey }} - region={{ .Values.aws.awsRegion }} - - [notebook] - [[interpreters]] - {{ .Values.hue.interpreters | indent 4 }} ---- -apiVersion: v1 -kind: ReplicationController -metadata: - name: hue -spec: - replicas: {{ .Values.hue.replicas }} - template: - metadata: - labels: - app: hue - spec: - containers: - - name: hue - image: {{ .Values.registry }}:{{ .Values.tag }} - imagePullPolicy: Always - ports: - - containerPort: 8888 - volumeMounts: - - name: config-volume - mountPath: /usr/share/hue/desktop/conf/z-hue.ini - subPath: hue-ini - volumes: - - name: config-volume - configMap: - name: hue-config ---- -apiVersion: v1 -kind: Service -metadata: - name: hue -spec: - selector: - app: hue - ports: - - name: hue - port: 8888 - type: NodePort ---- -{{- if .Values.ingress.create -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: hue - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: {{ .Values.domain }} - http: - paths: - - path: / - backend: - serviceName: hue - servicePort: hue -{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/ingress-hue.yaml b/tools/kubernetes/helm/hue/templates/ingress-hue.yaml new file mode 100644 index 00000000000..0f1076162b3 --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/ingress-hue.yaml @@ -0,0 +1,17 @@ +{{- if .Values.ingress.create -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: hue + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: {{ .Values.domain }} + http: + paths: + - path: / + backend: + serviceName: hue + servicePort: hue +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/ingress-traefik.yaml b/tools/kubernetes/helm/hue/templates/ingress-traefik.yaml index fc63d918257..dd677b52907 100644 --- a/tools/kubernetes/helm/hue/templates/ingress-traefik.yaml +++ b/tools/kubernetes/helm/hue/templates/ingress-traefik.yaml @@ -1,94 +1,4 @@ {{- if .Values.ingress.create -}} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-ingress-controller ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: traefik-ingress-controller -rules: - - apiGroups: - - "" - resources: - - services - - endpoints - - secrets - verbs: - - get - - list - - watch - - apiGroups: - - extensions - resources: - - ingresses - verbs: - - get - - list - - watch ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: traefik-ingress-controller -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: traefik-ingress-controller -subjects: -- kind: ServiceAccount - name: traefik-ingress-controller - namespace: {{ .Release.Namespace }} ---- -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller - labels: - app: traefik-ingress-lb -spec: - replicas: 1 - selector: - matchLabels: - app: traefik-ingress-lb - template: - metadata: - labels: - app: traefik-ingress-lb - name: traefik-ingress-lb - spec: - serviceAccountName: traefik-ingress-controller - terminationGracePeriodSeconds: 60 - containers: - - image: traefik:v1.6.6 - name: traefik-ingress-lb - ports: - - name: http - containerPort: 80 - - name: admin - containerPort: 8080 - args: - - --api - - --kubernetes - - --logLevel=INFO ---- -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service -spec: - selector: - app: traefik-ingress-lb - ports: - - name: web - port: 80 - - name: admin - port: 8080 - type: LoadBalancer - #loadBalancerIp: {{ .Values.loadBalancerIp }} ---- apiVersion: extensions/v1beta1 kind: Ingress metadata: diff --git a/tools/kubernetes/helm/hue/templates/database-postgres.yaml b/tools/kubernetes/helm/hue/templates/replicationcontroller-database-postgres.yaml similarity index 83% rename from tools/kubernetes/helm/hue/templates/database-postgres.yaml rename to tools/kubernetes/helm/hue/templates/replicationcontroller-database-postgres.yaml index e47acf4dc2a..3638f574d01 100644 --- a/tools/kubernetes/helm/hue/templates/database-postgres.yaml +++ b/tools/kubernetes/helm/hue/templates/replicationcontroller-database-postgres.yaml @@ -1,17 +1,5 @@ {{- if .Values.hue.database.create -}} apiVersion: v1 -kind: Service -metadata: - name: hue-postgres -spec: - ports: - - name: pgql - port: 5432 - type: NodePort - selector: - app: hue-postgres ---- -apiVersion: v1 kind: ReplicationController metadata: name: hue-postgres diff --git a/tools/kubernetes/helm/hue/templates/replicationcontroller-hue.yaml b/tools/kubernetes/helm/hue/templates/replicationcontroller-hue.yaml new file mode 100644 index 00000000000..6bd5e1aa778 --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/replicationcontroller-hue.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: hue +spec: + replicas: {{ .Values.hue.replicas }} + template: + metadata: + labels: + app: hue + spec: + containers: + - name: hue + image: {{ .Values.registry }}:{{ .Values.tag }} + imagePullPolicy: Always + ports: + - containerPort: 8888 + volumeMounts: + - name: config-volume + mountPath: /usr/share/hue/desktop/conf/z-hue.ini + subPath: hue-ini + volumes: + - name: config-volume + configMap: + name: hue-config diff --git a/tools/kubernetes/helm/hue/templates/service-account-traefik.yaml b/tools/kubernetes/helm/hue/templates/service-account-traefik.yaml new file mode 100644 index 00000000000..2ad1a9f3ded --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/service-account-traefik.yaml @@ -0,0 +1,6 @@ +{{- if .Values.ingress.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: traefik-ingress-controller +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/service-database-postgres.yaml b/tools/kubernetes/helm/hue/templates/service-database-postgres.yaml new file mode 100644 index 00000000000..2c67c3d82ab --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/service-database-postgres.yaml @@ -0,0 +1,13 @@ +{{- if .Values.hue.database.create -}} +apiVersion: v1 +kind: Service +metadata: + name: hue-postgres +spec: + ports: + - name: pgql + port: 5432 + type: NodePort + selector: + app: hue-postgres +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/service-hue.yaml b/tools/kubernetes/helm/hue/templates/service-hue.yaml new file mode 100644 index 00000000000..b0e5de27700 --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/service-hue.yaml @@ -0,0 +1,29 @@ +apiVersion: v1 +kind: Service +metadata: + name: hue +spec: + selector: + app: hue + ports: + - name: hue + port: 8888 + type: NodePort +--- +{{- if .Values.ingress.create -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: hue + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: {{ .Values.domain }} + http: + paths: + - path: / + backend: + serviceName: hue + servicePort: hue +{{- end -}} diff --git a/tools/kubernetes/helm/hue/templates/service-traefik.yaml b/tools/kubernetes/helm/hue/templates/service-traefik.yaml new file mode 100644 index 00000000000..0c6a25c9e1f --- /dev/null +++ b/tools/kubernetes/helm/hue/templates/service-traefik.yaml @@ -0,0 +1,16 @@ +{{- if .Values.ingress.create -}} +kind: Service +apiVersion: v1 +metadata: + name: traefik-ingress-service +spec: + selector: + app: traefik-ingress-lb + ports: + - name: web + port: 80 + - name: admin + port: 8080 + type: LoadBalancer + #loadBalancerIp: {{ .Values.loadBalancerIp }} +{{- end -}}