Explorar o código

HUE-8744 [k8s] Split objects into individual yaml files

Getting closer to official format https://github.com/helm/charts#chart-format
Romain %!s(int64=6) %!d(string=hai) anos
pai
achega
10e629bf6f

+ 25 - 0
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 -}}

+ 14 - 0
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 -}}

+ 25 - 0
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 }}

+ 33 - 0
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 -}}

+ 0 - 81
tools/kubernetes/helm/hue/templates/hue.yaml

@@ -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 -}}

+ 17 - 0
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 -}}

+ 0 - 90
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:

+ 0 - 12
tools/kubernetes/helm/hue/templates/database-postgres.yaml → 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

+ 25 - 0
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

+ 6 - 0
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 -}}

+ 13 - 0
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 -}}

+ 29 - 0
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 -}}

+ 16 - 0
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 -}}