Browse Source

Move Deckhand Chart

This PS migrates the Deckhand Chart into this repo

Change-Id: I2f16697df2d909e01ce3c35a462474ee857c57e2
changes/77/569277/1
Anthony Lin 1 year ago
parent
commit
46803b7e60

+ 21
- 0
charts/deckhand/.helmignore View File

@@ -0,0 +1,21 @@
1
+# Patterns to ignore when building packages.
2
+# This supports shell glob matching, relative path matching, and
3
+# negation (prefixed with !). Only one pattern per line.
4
+.DS_Store
5
+# Common VCS dirs
6
+.git/
7
+.gitignore
8
+.bzr/
9
+.bzrignore
10
+.hg/
11
+.hgignore
12
+.svn/
13
+# Common backup files
14
+*.swp
15
+*.bak
16
+*.tmp
17
+*~
18
+# Various IDEs
19
+.project
20
+.idea/
21
+*.tmproj

+ 27
- 0
charts/deckhand/Chart.yaml View File

@@ -0,0 +1,27 @@
1
+# Copyright 2017 The Openstack-Helm Authors.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#     http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+apiVersion: v1
16
+description: A Helm chart for Deckhand
17
+name: deckhand
18
+version: 0.1.0
19
+keywords:
20
+- deckhand
21
+home: https://github.com/att-comdev/deckhand
22
+sources:
23
+- https://github.com/att-comdev/aic-helm
24
+- https://git.openstack.org/cgit/openstack/openstack-helm
25
+maintainers:
26
+- name: att-comdev
27
+engine: gotpl

+ 18
- 0
charts/deckhand/requirements.yaml View File

@@ -0,0 +1,18 @@
1
+# Copyright 2017 The Openstack-Helm Authors.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#     http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+dependencies:
16
+  - name: helm-toolkit
17
+    repository: http://localhost:8879/charts
18
+    version: 0.1.0

+ 33
- 0
charts/deckhand/templates/bin/_db-init.sh.tpl View File

@@ -0,0 +1,33 @@
1
+#!/bin/bash
2
+
3
+set -ex
4
+export HOME=/tmp
5
+
6
+# Extract the DB string from deckhand.conf and get the
7
+# value of the DB host and port
8
+db_string=`grep -i '^connection =' ${DECKHAND_CONFIG_FILE}`
9
+db_fqdn=`echo ${db_string#*@} | cut -f1 -d"."`
10
+db_port=`echo ${db_string#*@} | grep -o "[0-9]\+"`
11
+
12
+pgsql_superuser_cmd () {
13
+  DB_COMMAND="$1"
14
+  if [[ ! -z $2 ]]; then
15
+      EXPORT PGDATABASE=$2
16
+  fi
17
+
18
+  psql \
19
+  -h $db_fqdn \
20
+  -p $db_port \
21
+  -U ${ROOT_DB_USER} \
22
+  --command="${DB_COMMAND}"
23
+}
24
+
25
+# Create db
26
+pgsql_superuser_cmd "SELECT 1 FROM pg_database WHERE datname = '$DB_NAME'" | grep -q 1 || pgsql_superuser_cmd "CREATE DATABASE $DB_NAME"
27
+
28
+# Create db user
29
+pgsql_superuser_cmd "SELECT * FROM pg_roles WHERE rolname = '$DB_USER';" | tail -n +3 | head -n -2 | grep -q 1 || \
30
+    pgsql_superuser_cmd "CREATE ROLE ${DB_USER} LOGIN PASSWORD '$DB_PASS';" && pgsql_superuser_cmd "ALTER USER ${DB_USER} WITH SUPERUSER"
31
+
32
+# Grant permissions to user
33
+pgsql_superuser_cmd "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_USER;"

+ 6
- 0
charts/deckhand/templates/bin/_db-sync.sh.tpl View File

@@ -0,0 +1,6 @@
1
+#!/bin/bash
2
+# Pending inputs on what need to be done for db-sync
3
+
4
+set -ex
5
+export HOME=/tmp
6
+

+ 29
- 0
charts/deckhand/templates/configmap-bin.yaml View File

@@ -0,0 +1,29 @@
1
+# Licensed under the Apache License, Version 2.0 (the "License");
2
+# you may not use this file except in compliance with the License.
3
+# You may obtain a copy of the License at
4
+#
5
+#     http://www.apache.org/licenses/LICENSE-2.0
6
+#
7
+# Unless required by applicable law or agreed to in writing, software
8
+# distributed under the License is distributed on an "AS IS" BASIS,
9
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+# See the License for the specific language governing permissions and
11
+# limitations under the License.
12
+
13
+apiVersion: v1
14
+kind: ConfigMap
15
+metadata:
16
+  name: deckhand-bin
17
+data:
18
+  ks-service.sh: |
19
+{{- include "helm-toolkit.scripts.keystone_service" . | indent 4 }}
20
+  ks-endpoints.sh: |
21
+{{- include "helm-toolkit.scripts.keystone_endpoints" . | indent 4 }}
22
+  ks-user.sh: |
23
+{{- include "helm-toolkit.scripts.keystone_user" . | indent 4 }}
24
+  ks-domain-user.sh: |
25
+{{- include "helm-toolkit.scripts.keystone_domain_user" . | indent 4 }}
26
+  db-init.sh: |+
27
+{{ tuple "bin/_db-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
28
+  db-sync.sh: |+
29
+{{ tuple "bin/_db-sync.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}

+ 72
- 0
charts/deckhand/templates/configmap-etc.yaml View File

@@ -0,0 +1,72 @@
1
+# Copyright 2017 The Openstack-Helm Authors.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#     http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+{{- $envAll := . }}
16
+
17
+{{- if empty .Values.conf.deckhand.keystone_authtoken.auth_uri -}}
18
+{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.deckhand.keystone_authtoken "auth_uri" | quote | trunc 0 -}}
19
+{{- end -}}
20
+
21
+# FIXME fix for broken keystonemiddleware oslo config gen in newton - will remove in future
22
+{{- if empty .Values.conf.deckhand.keystone_authtoken.auth_url -}}
23
+{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.deckhand.keystone_authtoken "auth_url" | quote | trunc 0 -}}
24
+{{- end -}}
25
+
26
+# Add endpoint URI lookup for Deckhand Postgresql DB Connection
27
+{{- if empty .Values.conf.deckhand.database.connection -}}
28
+{{- tuple "postgresql" "internal" "user" "postgresql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup"| set .Values.conf.deckhand.database "connection" | quote | trunc 0 -}}
29
+{{- end -}}
30
+
31
+# Add endpoint URI lookup for memcached servers Connection
32
+{{- if empty .Values.conf.deckhand.keystone_authtoken.memcached_servers -}}
33
+{{- tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.deckhand.keystone_authtoken "memcached_servers" | quote | trunc 0 -}}
34
+{{- end -}}
35
+
36
+{{- $userIdentity := .Values.endpoints.identity.auth.user -}}
37
+
38
+{{- if empty .Values.conf.deckhand.keystone_authtoken.project_name -}}
39
+{{- set .Values.conf.deckhand.keystone_authtoken "project_name" $userIdentity.project_name | quote | trunc 0 -}}
40
+{{- end -}}
41
+{{- if empty .Values.conf.deckhand.keystone_authtoken.project_domain_name -}}
42
+{{- set .Values.conf.deckhand.keystone_authtoken "project_domain_name" $userIdentity.project_domain_name | quote | trunc 0 -}}
43
+{{- end -}}
44
+{{- if empty .Values.conf.deckhand.keystone_authtoken.user_domain_name -}}
45
+{{- set .Values.conf.deckhand.keystone_authtoken "user_domain_name" $userIdentity.user_domain_name | quote | trunc 0 -}}
46
+{{- end -}}
47
+{{- if empty .Values.conf.deckhand.keystone_authtoken.username -}}
48
+{{- set .Values.conf.deckhand.keystone_authtoken "username" $userIdentity.username | quote | trunc 0 -}}
49
+{{- end -}}
50
+{{- if empty .Values.conf.deckhand.keystone_authtoken.password -}}
51
+{{- set .Values.conf.deckhand.keystone_authtoken "password" $userIdentity.password | quote | trunc 0 -}}
52
+{{- end -}}
53
+
54
+# Set a random string as secret key.
55
+{{- if empty .Values.conf.deckhand.keystone_authtoken.memcache_secret_key -}}
56
+{{- randAlphaNum 64 | set .Values.conf.deckhand.keystone_authtoken "memcache_secret_key" | quote | trunc 0 -}}
57
+{{- end -}}
58
+
59
+---
60
+apiVersion: v1
61
+kind: ConfigMap
62
+metadata:
63
+  name: deckhand-etc
64
+data:
65
+  deckhand.conf: |+
66
+{{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.deckhand | indent 4 }}
67
+  logging.conf: |+
68
+{{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.logging | indent 4 }}
69
+  deckhand-paste.ini: |+
70
+{{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.paste | indent 4 }}
71
+  policy.yaml: |+
72
+{{ toYaml .Values.conf.policy | indent 4 }}

+ 80
- 0
charts/deckhand/templates/deployment.yaml View File

@@ -0,0 +1,80 @@
1
+# Copyright 2017 The Openstack-Helm Authors.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#     http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+{{- if .Values.manifests.deployment }}
16
+{{- $envAll := . }}
17
+{{- $dependencies := .Values.dependencies.deckhand }}
18
+{{- $mounts_deckhand := .Values.pod.mounts.deckhand.deckhand }}
19
+{{- $mounts_deckhand_init := .Values.pod.mounts.deckhand.init_container }}
20
+---
21
+apiVersion: apps/v1beta1
22
+kind: Deployment
23
+metadata:
24
+  name: deckhand
25
+spec:
26
+  replicas: {{ .Values.pod.replicas.deckhand }}
27
+{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
28
+  template:
29
+    metadata:
30
+      labels:
31
+{{ tuple $envAll "deckhand-api" "server" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
32
+      annotations:
33
+        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
34
+        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
35
+    spec:
36
+      nodeSelector:
37
+        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
38
+      terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.deckhand.timeout | default "30" }}
39
+      restartPolicy: Always
40
+      initContainers:
41
+{{ tuple $envAll $dependencies $mounts_deckhand_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
42
+      containers:
43
+        - name: deckhand
44
+          image: {{ .Values.images.deckhand }}
45
+          imagePullPolicy: {{ .Values.images.pull_policy }}
46
+{{ tuple $envAll $envAll.Values.pod.resources.api | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
47
+          ports:
48
+            - containerPort: {{ .Values.network.port }}
49
+          readinessProbe:
50
+            tcpSocket:
51
+              port: {{ .Values.network.port }}
52
+          volumeMounts:
53
+            - name: etc-deckhand
54
+              mountPath: /etc/deckhand
55
+            - name: deckhand-etc
56
+              mountPath: /etc/deckhand/deckhand.conf
57
+              subPath: deckhand.conf
58
+              readOnly: true
59
+            - name: deckhand-etc
60
+              mountPath: /etc/deckhand/logging.conf
61
+              subPath: logging.conf
62
+              readOnly: true
63
+            - name: deckhand-etc
64
+              mountPath: /etc/deckhand/deckhand-paste.ini
65
+              subPath: deckhand-paste.ini
66
+              readOnly: true
67
+            - name: deckhand-etc
68
+              mountPath: /etc/deckhand/policy.yaml
69
+              subPath: policy.yaml
70
+              readOnly: true
71
+{{ if $mounts_deckhand.volumeMounts }}{{ toYaml $mounts_deckhand.volumeMounts | indent 12 }}{{ end }}
72
+      volumes:
73
+        - name: etc-deckhand
74
+          emptyDir: {}
75
+        - name: deckhand-etc
76
+          configMap:
77
+            name: deckhand-etc
78
+            defaultMode: 0444
79
+{{ if $mounts_deckhand.volumes }}{{ toYaml $mounts_deckhand.volumes | indent 8 }}{{ end }}
80
+{{- end }}

+ 47
- 0
charts/deckhand/templates/ingress-api.yaml View File

@@ -0,0 +1,47 @@
1
+{{/*
2
+Copyright 2017 The Openstack-Helm Authors.
3
+
4
+Licensed under the Apache License, Version 2.0 (the "License");
5
+you may not use this file except in compliance with the License.
6
+You may obtain a copy of the License at
7
+
8
+   http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+Unless required by applicable law or agreed to in writing, software
11
+distributed under the License is distributed on an "AS IS" BASIS,
12
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+See the License for the specific language governing permissions and
14
+limitations under the License.
15
+*/}}
16
+
17
+{{- if .Values.manifests.ingress_api }}
18
+{{- $envAll := . }}
19
+{{- if .Values.network.ingress.public }}
20
+{{- $backendServiceType := "deckhand" }}
21
+{{- $backendPort := "http" }}
22
+{{- $ingressName := tuple $backendServiceType "public" $envAll | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
23
+{{- $backendName := tuple $backendServiceType "internal" $envAll | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
24
+{{- $hostName := tuple $backendServiceType "public" $envAll | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
25
+{{- $hostNameNamespaced := tuple $backendServiceType "public" $envAll | include "helm-toolkit.endpoints.hostname_namespaced_endpoint_lookup" }}
26
+{{- $hostNameFull := tuple $backendServiceType "public" $envAll | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
27
+---
28
+apiVersion: extensions/v1beta1
29
+kind: Ingress
30
+metadata:
31
+  name: {{ $ingressName }}
32
+  annotations:
33
+    kubernetes.io/ingress.class: "nginx"
34
+    ingress.kubernetes.io/rewrite-target: /
35
+spec:
36
+  rules:
37
+{{- range $key1, $vHost := tuple $hostName $hostNameNamespaced $hostNameFull }}
38
+  - host: {{ $vHost }}
39
+    http:
40
+      paths:
41
+      - path: /
42
+        backend:
43
+          serviceName: {{ $backendName }}
44
+          servicePort: {{ $backendPort }}
45
+{{- end }}
46
+{{- end }}
47
+{{- end }}

+ 85
- 0
charts/deckhand/templates/job-db-init.yaml View File

@@ -0,0 +1,85 @@
1
+{{/*
2
+Copyright 2017 The Openstack-Helm Authors.
3
+
4
+Licensed under the Apache License, Version 2.0 (the "License");
5
+you may not use this file except in compliance with the License.
6
+You may obtain a copy of the License at
7
+
8
+   http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+Unless required by applicable law or agreed to in writing, software
11
+distributed under the License is distributed on an "AS IS" BASIS,
12
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+See the License for the specific language governing permissions and
14
+limitations under the License.
15
+*/}}
16
+
17
+{{- if .Values.manifests.job_db_init }}
18
+{{- $envAll := . }}
19
+{{- $dependencies := .Values.dependencies.db_init }}
20
+{{- $mounts_deckhand_db_init := .Values.pod.mounts.deckhand_db_init.deckhand_db_init }}
21
+{{- $mounts_deckhand_db_init_init := .Values.pod.mounts.deckhand_db_init.init_container }}
22
+---
23
+apiVersion: batch/v1
24
+kind: Job
25
+metadata:
26
+  name: deckhand-db-init
27
+spec:
28
+  template:
29
+    metadata:
30
+      labels:
31
+{{ tuple $envAll "deckhand" "db-init" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
32
+    spec:
33
+      restartPolicy: OnFailure
34
+      nodeSelector:
35
+        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
36
+      initContainers:
37
+{{ tuple $envAll $dependencies $mounts_deckhand_db_init_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
38
+      containers:
39
+        - name: deckhand-db-init
40
+          image: {{ .Values.images.db_init | quote }}
41
+          imagePullPolicy: {{ .Values.images.pull_policy | quote }}
42
+{{ tuple $envAll $envAll.Values.pod.resources.jobs.db_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
43
+          env:
44
+            - name: ROOT_DB_CONNECTION
45
+              valueFrom:
46
+                secretKeyRef:
47
+                  name: {{ .Values.secrets.postgresql.admin }}
48
+                  key: DB_CONNECTION
49
+            - name: DECKHAND_CONFIG_FILE
50
+              value: /etc/deckhand/deckhand.conf
51
+            - name: DB_NAME
52
+              value: {{ .Values.database.postgresql.db_name }}
53
+            - name: DB_USER
54
+              value: {{ .Values.endpoints.postgresql.auth.user.username }}
55
+            - name: DB_PASS
56
+              value: {{ .Values.endpoints.postgresql.auth.user.password }}
57
+            - name: ROOT_DB_USER
58
+              value: {{ .Values.database.postgresql.db_root_user }}
59
+          command:
60
+            - /tmp/db-init.sh
61
+          volumeMounts:
62
+            - name: deckhand-bin
63
+              mountPath: /tmp/db-init.sh
64
+              subPath: db-init.sh
65
+              readOnly: true
66
+            - name: etc-deckhand
67
+              mountPath: /etc/deckhand
68
+            - name: deckhand-etc
69
+              mountPath: /etc/deckhand/deckhand.conf
70
+              subPath: deckhand.conf
71
+              readOnly: true
72
+{{ if $mounts_deckhand_db_init.volumeMounts }}{{ toYaml $mounts_deckhand_db_init.volumeMounts | indent 10 }}{{ end }}
73
+      volumes:
74
+        - name: etc-deckhand
75
+          emptyDir: {}
76
+        - name: deckhand-etc
77
+          configMap:
78
+            name: deckhand-etc
79
+            defaultMode: 0444
80
+        - name: deckhand-bin
81
+          configMap:
82
+            name: deckhand-bin
83
+            defaultMode: 0555
84
+{{ if $mounts_deckhand_db_init.volumes }}{{ toYaml $mounts_deckhand_db_init.volumes | indent 6 }}{{ end }}
85
+{{- end }}

+ 83
- 0
charts/deckhand/templates/job-db-sync.yaml View File

@@ -0,0 +1,83 @@
1
+{{/*
2
+Copyright 2017 The Openstack-Helm Authors.
3
+
4
+Licensed under the Apache License, Version 2.0 (the "License");
5
+you may not use this file except in compliance with the License.
6
+You may obtain a copy of the License at
7
+
8
+   http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+Unless required by applicable law or agreed to in writing, software
11
+distributed under the License is distributed on an "AS IS" BASIS,
12
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+See the License for the specific language governing permissions and
14
+limitations under the License.
15
+*/}}
16
+
17
+{{- if .Values.manifests.job_db_sync }}
18
+{{- $envAll := . }}
19
+{{- $dependencies := .Values.dependencies.db_sync }}
20
+{{- $mounts_deckhand_db_sync := .Values.pod.mounts.deckhand_db_sync.deckhand_db_sync }}
21
+{{- $mounts_deckhand_db_sync_init := .Values.pod.mounts.deckhand_db_sync.init_container }}
22
+---
23
+apiVersion: batch/v1
24
+kind: Job
25
+metadata:
26
+  name: deckhand-db-sync
27
+spec:
28
+  template:
29
+    metadata:
30
+      labels:
31
+{{ tuple $envAll "deckhand" "db-sync" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
32
+    spec:
33
+      restartPolicy: OnFailure
34
+      nodeSelector:
35
+        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
36
+      initContainers:
37
+{{ tuple $envAll $dependencies $mounts_deckhand_db_sync_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
38
+      containers:
39
+        - name: deckhand-db-sync
40
+          image: {{ .Values.images.db_sync }}
41
+          imagePullPolicy: {{ .Values.images.pull_policy }}
42
+{{ tuple $envAll $envAll.Values.pod.resources.jobs.db_sync | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
43
+          env:
44
+            - name: ROOT_DB_CONNECTION
45
+              valueFrom:
46
+                secretKeyRef:
47
+                  name: {{ .Values.secrets.postgresql.admin }}
48
+                  key: DB_CONNECTION
49
+            - name: DECKHAND_CONFIG_FILE
50
+              value: /etc/deckhand/deckhand.conf
51
+            - name: DB_NAME
52
+              value: {{ .Values.database.postgresql.db_name }}
53
+            - name: DB_USER
54
+              value: {{ .Values.endpoints.postgresql.auth.user.username }}
55
+            - name: DB_PASS
56
+              value: {{ .Values.endpoints.postgresql.auth.user.password }}
57
+          command:
58
+            - /tmp/db-sync.sh
59
+          volumeMounts:
60
+            - name: deckhand-bin
61
+              mountPath: /tmp/db-sync.sh
62
+              subPath: db-sync.sh
63
+              readOnly: true
64
+            - name: etc-deckhand
65
+              mountPath: /etc/deckhand
66
+            - name: deckhand-etc
67
+              mountPath: /etc/deckhand/deckhand.conf
68
+              subPath: deckhand.conf
69
+              readOnly: true
70
+{{ if $mounts_deckhand_db_sync.volumeMounts }}{{ toYaml $mounts_deckhand_db_sync.volumeMounts | indent 10 }}{{ end }}
71
+      volumes:
72
+        - name: etc-deckhand
73
+          emptyDir: {}
74
+        - name: deckhand-etc
75
+          configMap:
76
+            name: deckhand-etc
77
+            defaultMode: 0444
78
+        - name: deckhand-bin
79
+          configMap:
80
+            name: deckhand-bin
81
+            defaultMode: 0555
82
+{{ if $mounts_deckhand_db_sync.volumes }}{{ toYaml $mounts_deckhand_db_sync.volumes | indent 6 }}{{ end }}
83
+{{- end }}

+ 66
- 0
charts/deckhand/templates/job-ks-endpoints.yaml View File

@@ -0,0 +1,66 @@
1
+# Licensed under the Apache License, Version 2.0 (the "License");
2
+# you may not use this file except in compliance with the License.
3
+# You may obtain a copy of the License at
4
+#
5
+#     http://www.apache.org/licenses/LICENSE-2.0
6
+#
7
+# Unless required by applicable law or agreed to in writing, software
8
+# distributed under the License is distributed on an "AS IS" BASIS,
9
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+# See the License for the specific language governing permissions and
11
+# limitations under the License.
12
+
13
+{{- if .Values.manifests.job_ks_endpoints }}
14
+{{- $envAll := . }}
15
+{{- $dependencies := .Values.dependencies.ks_endpoints }}
16
+
17
+apiVersion: batch/v1
18
+kind: Job
19
+metadata:
20
+  name: deckhand-ks-endpoints
21
+spec:
22
+  template:
23
+    metadata:
24
+      labels:
25
+{{ tuple $envAll "deckhand" "ks-endpoints" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
26
+    spec:
27
+      restartPolicy: OnFailure
28
+      nodeSelector:
29
+        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
30
+      initContainers:
31
+{{ tuple $envAll $dependencies "[]" | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
32
+      containers:
33
+{{- range $key1, $osServiceType := tuple "deckhand" }}
34
+{{- range $key2, $osServiceEndPoint := tuple "admin" "internal" "public" }}
35
+        - name: {{ $osServiceType }}-ks-endpoints-{{ $osServiceEndPoint }}
36
+          image: {{ $envAll.Values.images.ks_endpoints }}
37
+          imagePullPolicy: {{ $envAll.Values.images.pull_policy }}
38
+{{ tuple $envAll $envAll.Values.pod.resources.jobs.ks_endpoints | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
39
+          command:
40
+            - /tmp/ks-endpoints.sh
41
+          volumeMounts:
42
+            - name: ks-endpoints-sh
43
+              mountPath: /tmp/ks-endpoints.sh
44
+              subPath: ks-endpoints.sh
45
+              readOnly: true
46
+          env:
47
+{{- with $env := dict "ksUserSecret" $envAll.Values.secrets.identity.admin }}
48
+{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 12 }}
49
+{{- end }}
50
+            - name: OS_SVC_ENDPOINT
51
+              value: {{ $osServiceEndPoint }}
52
+            - name: OS_SERVICE_NAME
53
+              value: {{ tuple $osServiceType $envAll | include "helm-toolkit.endpoints.keystone_endpoint_name_lookup" }}
54
+            - name: OS_SERVICE_TYPE
55
+              value: {{ $osServiceType }}
56
+            - name: OS_SERVICE_ENDPOINT
57
+              value: {{ tuple $osServiceType $osServiceEndPoint "api" $envAll | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" }}
58
+{{- end }}
59
+{{- end }}
60
+      volumes:
61
+        - name: ks-endpoints-sh
62
+          configMap:
63
+            name: deckhand-bin
64
+            defaultMode: 0555
65
+{{- end -}}
66
+

+ 60
- 0
charts/deckhand/templates/job-ks-service.yaml View File

@@ -0,0 +1,60 @@
1
+# Licensed under the Apache License, Version 2.0 (the "License");
2
+# you may not use this file except in compliance with the License.
3
+# You may obtain a copy of the License at
4
+#
5
+#     http://www.apache.org/licenses/LICENSE-2.0
6
+#
7
+# Unless required by applicable law or agreed to in writing, software
8
+# distributed under the License is distributed on an "AS IS" BASIS,
9
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+# See the License for the specific language governing permissions and
11
+# limitations under the License.
12
+
13
+{{- if .Values.manifests.job_ks_service -}}
14
+
15
+{{- $envAll := . }}
16
+{{- $ksAdminSecret := .Values.secrets.identity.admin }}
17
+{{- $dependencies := .Values.dependencies.ks_service }}
18
+
19
+apiVersion: batch/v1
20
+kind: Job
21
+metadata:
22
+  name: deckhand-ks-service
23
+spec:
24
+  template:
25
+    metadata:
26
+      labels:
27
+{{ tuple $envAll "deckhand" "ks-user" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
28
+    spec:
29
+      restartPolicy: OnFailure
30
+      nodeSelector:
31
+        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
32
+      initContainers:
33
+{{ tuple $envAll $dependencies "[]" | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
34
+      containers:
35
+{{- range $key1, $osServiceType := tuple "deckhand" }}
36
+        - name: {{ $osServiceType }}-ks-service-registration
37
+          image: {{ $envAll.Values.images.ks_service }}
38
+          imagePullPolicy: {{ $envAll.Values.images.pull_policy }}
39
+          command:
40
+            - /tmp/ks-service.sh
41
+          volumeMounts:
42
+            - name: ks-service-sh
43
+              mountPath: /tmp/ks-service.sh
44
+              subPath: ks-service.sh
45
+              readOnly: true
46
+          env:
47
+{{- with $env := dict "ksUserSecret" $ksAdminSecret }}
48
+{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 12 }}
49
+{{- end }}
50
+            - name: OS_SERVICE_NAME
51
+              value: {{ tuple $osServiceType $envAll | include "helm-toolkit.endpoints.keystone_endpoint_name_lookup" }}
52
+            - name: OS_SERVICE_TYPE
53
+              value: {{ $osServiceType }}
54
+{{- end }}
55
+      volumes:
56
+        - name: ks-service-sh
57
+          configMap:
58
+            name: deckhand-bin
59
+            defaultMode: 0555
60
+{{- end -}}

+ 61
- 0
charts/deckhand/templates/job-ks-user.yaml View File

@@ -0,0 +1,61 @@
1
+# Licensed under the Apache License, Version 2.0 (the "License");
2
+# you may not use this file except in compliance with the License.
3
+# You may obtain a copy of the License at
4
+#
5
+#     http://www.apache.org/licenses/LICENSE-2.0
6
+#
7
+# Unless required by applicable law or agreed to in writing, software
8
+# distributed under the License is distributed on an "AS IS" BASIS,
9
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+# See the License for the specific language governing permissions and
11
+# limitations under the License.
12
+
13
+{{- if .Values.manifests.job_ks_user }}
14
+
15
+{{- $ksAdminSecret := .Values.secrets.identity.admin }}
16
+{{- $ksUserSecret := .Values.secrets.identity.user }}
17
+{{- $envAll := . }}
18
+{{- $dependencies := .Values.dependencies.ks_user }}
19
+apiVersion: batch/v1
20
+kind: Job
21
+metadata:
22
+  name: deckhand-ks-user
23
+spec:
24
+  template:
25
+    spec:
26
+      restartPolicy: OnFailure
27
+      nodeSelector:
28
+        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
29
+      initContainers:
30
+{{ tuple $envAll $dependencies "[]" | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
31
+      containers:
32
+        - name: deckhand-ks-user
33
+          image: {{ .Values.images.ks_user }}
34
+          imagePullPolicy: {{ .Values.images.pull_policy }}
35
+{{ tuple $envAll $envAll.Values.pod.resources.jobs.ks_user | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
36
+          command:
37
+            - /tmp/ks-user.sh
38
+          volumeMounts:
39
+            - name: ks-user-sh
40
+              mountPath: /tmp/ks-user.sh
41
+              subPath: ks-user.sh
42
+              readOnly: true
43
+          env:
44
+{{- with $env := dict "ksUserSecret" $ksAdminSecret }}
45
+{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 12 }}
46
+{{- end }}
47
+            - name: SERVICE_OS_SERVICE_NAME
48
+              value: {{ $envAll.Values.endpoints.deckhand.name | quote }}
49
+            - name: SERVICE_OS_DOMAIN_NAME
50
+              value: {{ $envAll.Values.endpoints.identity.auth.user.project_domain_name | quote }}
51
+{{- with $env := dict "ksUserSecret" $ksUserSecret }}
52
+{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 12 }}
53
+{{- end }}
54
+            - name: SERVICE_OS_ROLE
55
+              value: {{ $envAll.Values.endpoints.identity.auth.user.role | quote }}
56
+      volumes:
57
+        - name: ks-user-sh
58
+          configMap:
59
+            name: deckhand-bin
60
+            defaultMode: 0555
61
+{{- end -}}

+ 30
- 0
charts/deckhand/templates/secret-db.yaml View File

@@ -0,0 +1,30 @@
1
+{{/*
2
+Copyright 2017 The Openstack-Helm Authors.
3
+
4
+Licensed under the Apache License, Version 2.0 (the "License");
5
+you may not use this file except in compliance with the License.
6
+You may obtain a copy of the License at
7
+
8
+   http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+Unless required by applicable law or agreed to in writing, software
11
+distributed under the License is distributed on an "AS IS" BASIS,
12
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+See the License for the specific language governing permissions and
14
+limitations under the License.
15
+*/}}
16
+
17
+{{- if .Values.manifests.secret_db }}
18
+{{- $envAll := . }}
19
+{{- range $key1, $userClass := tuple "admin" "user" }}
20
+{{- $secretName := index $envAll.Values.secrets.postgresql $userClass }}
21
+---
22
+apiVersion: v1
23
+kind: Secret
24
+metadata:
25
+  name: {{ $secretName }}
26
+type: Opaque
27
+data:
28
+  DB_CONNECTION: {{ tuple "postgresql" "internal" $userClass "postgresql" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | b64enc -}}
29
+{{- end }}
30
+{{- end }}

+ 28
- 0
charts/deckhand/templates/secret-keystone-env.yaml View File

@@ -0,0 +1,28 @@
1
+{{/*
2
+# Licensed under the Apache License, Version 2.0 (the "License");
3
+# you may not use this file except in compliance with the License.
4
+# You may obtain a copy of the License at
5
+#
6
+#     http://www.apache.org/licenses/LICENSE-2.0
7
+#
8
+# Unless required by applicable law or agreed to in writing, software
9
+# distributed under the License is distributed on an "AS IS" BASIS,
10
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+# See the License for the specific language governing permissions and
12
+# limitations under the License.
13
+*/}}
14
+{{- if .Values.manifests.secret_keystone }}
15
+{{- $envAll := . }}
16
+{{- range $key1, $userClass := tuple "admin" "user" }}
17
+{{- $secretName := index $envAll.Values.secrets.identity $userClass }}
18
+---
19
+apiVersion: v1
20
+kind: Secret
21
+metadata:
22
+  name: {{ $secretName }}
23
+type: Opaque
24
+data:
25
+{{- tuple $userClass "internal" $envAll | include "helm-toolkit.snippets.keystone_secret_openrc" | indent 2 }}
26
+...
27
+{{- end }}
28
+{{- end }}

+ 32
- 0
charts/deckhand/templates/service-ingress.yaml View File

@@ -0,0 +1,32 @@
1
+{{/*
2
+Copyright 2017 The Openstack-Helm Authors.
3
+
4
+Licensed under the Apache License, Version 2.0 (the "License");
5
+you may not use this file except in compliance with the License.
6
+You may obtain a copy of the License at
7
+
8
+   http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+Unless required by applicable law or agreed to in writing, software
11
+distributed under the License is distributed on an "AS IS" BASIS,
12
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+See the License for the specific language governing permissions and
14
+limitations under the License.
15
+*/}}
16
+
17
+{{- if .Values.manifests.service_ingress }}
18
+{{- $envAll := . }}
19
+{{- if .Values.network.ingress.public }}
20
+---
21
+apiVersion: v1
22
+kind: Service
23
+metadata:
24
+  name: {{ tuple "deckhand" "public" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
25
+spec:
26
+  ports:
27
+  - name: http
28
+    port: 9000
29
+  selector:
30
+    app: ingress-api
31
+{{- end }}
32
+{{- end }}

+ 43
- 0
charts/deckhand/templates/service.yaml View File

@@ -0,0 +1,43 @@
1
+{{/*
2
+Copyright 2017 The Openstack-Helm Authors.
3
+
4
+Licensed under the Apache License, Version 2.0 (the "License");
5
+you may not use this file except in compliance with the License.
6
+You may obtain a copy of the License at
7
+
8
+   http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+Unless required by applicable law or agreed to in writing, software
11
+distributed under the License is distributed on an "AS IS" BASIS,
12
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+See the License for the specific language governing permissions and
14
+limitations under the License.
15
+*/}}
16
+
17
+{{- if .Values.manifests.service }}
18
+{{- $envAll := . }}
19
+---
20
+apiVersion: v1
21
+kind: Service
22
+metadata:
23
+  name: {{ tuple "deckhand" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
24
+spec:
25
+  ports:
26
+    {{ if .Values.network.enable_node_port }}
27
+    - name: http
28
+      nodePort: {{ .Values.network.node_port }}
29
+      port: {{ .Values.network.port }}
30
+      protocol: TCP
31
+      targetPort: {{ .Values.network.port }}
32
+    {{ else }}
33
+    - name: http
34
+      port: {{ .Values.network.port }}
35
+      protocol: TCP
36
+      targetPort: {{ .Values.network.port }}
37
+    {{ end }}
38
+  selector:
39
+{{ tuple $envAll "deckhand-api" "server" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
40
+  {{ if .Values.network.enable_node_port }}
41
+  type: NodePort
42
+  {{ end }}
43
+{{- end }}

+ 329
- 0
charts/deckhand/values.yaml View File

@@ -0,0 +1,329 @@
1
+# Copyright 2017 The Openstack-Helm Authors.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#     http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+# This file provides defaults for deckhand
16
+
17
+labels:
18
+  node_selector_key: ucp-control-plane
19
+  node_selector_value: enabled
20
+
21
+images:
22
+  deckhand: quay.io/attcomdev/deckhand:latest
23
+  dep_check: docker.io/kolla/ubuntu-source-kubernetes-entrypoint:4.0.0
24
+  db_init: docker.io/postgres:9.5
25
+  db_sync: docker.io/postgres:9.5
26
+  ks_user: docker.io/kolla/ubuntu-source-kolla-toolbox:3.0.3
27
+  ks_service: docker.io/kolla/ubuntu-source-kolla-toolbox:3.0.3
28
+  ks_endpoints: docker.io/kolla/ubuntu-source-kolla-toolbox:3.0.3
29
+  pull_policy: "IfNotPresent"
30
+
31
+release_group: null
32
+
33
+network:
34
+  ingress:
35
+    public: true
36
+  port: 9000
37
+  node_port: 31902
38
+  enable_node_port: false
39
+
40
+dependencies:
41
+  db_init:
42
+    services:
43
+    - service: postgresql
44
+      endpoint: internal
45
+  db_sync:
46
+    jobs:
47
+    - deckhand-db-init
48
+    services:
49
+    - service: postgresql
50
+      endpoint: internal
51
+  ks_user:
52
+    services:
53
+    - service: identity
54
+      endpoint: internal
55
+  ks_service:
56
+    services:
57
+    - service: identity
58
+      endpoint: internal
59
+  ks_endpoints:
60
+    jobs:
61
+    - deckhand-ks-service
62
+    services:
63
+    - service: identity
64
+      endpoint: internal
65
+  deckhand:
66
+    jobs:
67
+    - deckhand-ks-endpoints
68
+    - deckhand-ks-user
69
+    - deckhand-ks-endpoints
70
+    services:
71
+    - service: identity
72
+      endpoint: internal
73
+    - service: key_manager
74
+      endpoint: internal
75
+
76
+# typically overriden by environmental
77
+# values, but should include all endpoints
78
+# required by this chart
79
+endpoints:
80
+  cluster_domain_suffix: cluster.local
81
+  identity:
82
+    name: keystone
83
+    auth:
84
+      user:
85
+        region_name: RegionOne
86
+        role: admin
87
+        project_name: service
88
+        project_domain_name: default
89
+        user_domain_name: default
90
+        username: deckhand
91
+        password: password
92
+      admin:
93
+        region_name: RegionOne
94
+        project_name: admin
95
+        password: password
96
+        username: admin
97
+        user_domain_name: default
98
+        project_domain_name: default
99
+    hosts:
100
+      default: keystone-api
101
+      public: keystone
102
+    path:
103
+      default: /v3
104
+    scheme:
105
+      default: http
106
+    port:
107
+      admin:
108
+        default: 35357
109
+      api:
110
+        default: 80
111
+    host_fqdn_override:
112
+      default: null
113
+  deckhand:
114
+    name: deckhand
115
+    hosts:
116
+      default: deckhand-int
117
+      public: deckhand-api
118
+    port:
119
+      api:
120
+        default: 9000
121
+    path:
122
+      default: /api/v1.0
123
+    scheme:
124
+      default: http
125
+    host_fqdn_override:
126
+      default: null
127
+  postgresql:
128
+    name: postgresql
129
+    auth:
130
+      admin:
131
+        username: deckhand
132
+        password: password
133
+      user:
134
+        username: deckhand
135
+        password: password
136
+    hosts:
137
+      default: postgresql
138
+    path: /deckhand
139
+    scheme: postgresql+psycopg2
140
+    port:
141
+      postgresql:
142
+        default: 5432
143
+    host_fqdn_override:
144
+      default: null
145
+  key_manager:
146
+    name: barbican
147
+    hosts:
148
+      default: barbican-api
149
+      public: barbican
150
+    host_fqdn_override:
151
+      default: null
152
+    path:
153
+      default: /v1
154
+    scheme:
155
+      default: http
156
+    port:
157
+      api:
158
+        default: 9311
159
+        public: 80
160
+  oslo_cache:
161
+    hosts:
162
+      default: memcached
163
+    host_fqdn_override:
164
+      default: null
165
+    port:
166
+      memcache:
167
+        default: 11211
168
+
169
+secrets:
170
+  identity:
171
+    admin: deckhand-keystone-admin
172
+    user: deckhand-keystone-user
173
+  postgresql:
174
+    admin: deckhand-db-admin
175
+    user: deckhand-db-user
176
+
177
+database:
178
+  postgresql:
179
+    db_name: deckhand
180
+    db_root_user: postgres
181
+
182
+conf:
183
+  policy:
184
+    admin_api: role:admin
185
+    deckhand:create_cleartext_documents: rule:admin_api
186
+    deckhand:create_encrypted_documents: rule:admin_api
187
+    deckhand:list_cleartext_documents: rule:admin_api
188
+    deckhand:list_encrypted_documents: rule:admin_api
189
+    deckhand:show_revision: rule:admin_api
190
+    deckhand:list_revisions: rule:admin_api
191
+    deckhand:delete_revisions: rule:admin_api
192
+    deckhand:show_revision_diff: rule:admin_api
193
+    deckhand:create_tag: rule:admin_api
194
+    deckhand:show_tag: rule:admin_api
195
+    deckhand:list_tags: rule:admin_api
196
+    deckhand:delete_tag: rule:admin_api
197
+    deckhand:delete_tags: rule:admin_api
198
+  paste:
199
+    filter:authtoken:
200
+      paste.filter_factory: keystonemiddleware.auth_token:filter_factory
201
+    filter:debug:
202
+      use: egg:oslo.middleware#debug
203
+    filter:cors:
204
+      paste.filter_factory: oslo_middleware.cors:filter_factory
205
+      oslo_config_project: deckhand
206
+    filter:request_id:
207
+      paste.filter_factory: oslo_middleware:RequestId.factory
208
+    app:api:
209
+      paste.app_factory: deckhand.service:deckhand_app_factory
210
+    pipeline:deckhand_api:
211
+      pipeline: authtoken api
212
+  deckhand:
213
+    DEFAULT:
214
+      debug: true
215
+      log_file: deckhand.log
216
+      use_stderr: true
217
+      use_syslog: true
218
+    database:
219
+      connection:
220
+    keystone_authtoken:
221
+      delay_auth_decision: true
222
+      auth_type: password
223
+      auth_version: v3
224
+      memcache_security_strategy: ENCRYPT
225
+    oslo_policy:
226
+      policy_file: policy.yaml
227
+      policy_default_rule: default
228
+      policy_dirs: policy.d
229
+  logging:
230
+    loggers:
231
+      keys: 'root, deckhand'
232
+    handlers:
233
+      keys: 'file, null, syslog'
234
+    formatters:
235
+      keys: 'simple, context'
236
+    logger_deckhand:
237
+      level: DEBUG
238
+      handlers: file
239
+      qualname: deckhand
240
+    logger_root:
241
+      level: WARNING
242
+      handlers: null
243
+    handler_file:
244
+      class: FileHandler
245
+      level: DEBUG
246
+      args: "('deckhand.log', 'w+')"
247
+      formatter: context
248
+    handler_null:
249
+      class: 'logging.NullHandler'
250
+      formatter: context
251
+      args: '()'
252
+    handler_syslog:
253
+      class: 'handlers.SysLogHandler'
254
+      level: ERROR
255
+      args: "('/dev/log', handlers.SysLogHandler.LOG_USER)"
256
+    formatter_context:
257
+      class: 'oslo_log.formatters.ContextFormatter'
258
+    formatter_simple:
259
+      format: "%(asctime)s.%(msecs)03d %(process)d %(levelname)s: %(message)s"
260
+pod:
261
+  mounts:
262
+    deckhand_db_init:
263
+      init_container: null
264
+      deckhand_db_init:
265
+    deckhand_db_sync:
266
+      init_container: null
267
+      deckhand_db_sync:
268
+    deckhand:
269
+      init_container: null
270
+      deckhand:
271
+  lifecycle:
272
+    upgrades:
273
+      deployments:
274
+        revision_history: 3
275
+        pod_replacement_strategy: RollingUpdate
276
+        rolling_update:
277
+          max_unavailable: 1
278
+          max_surge: 3
279
+    termination_grace_period:
280
+      deckhand:
281
+        timeout: 30
282
+  replicas:
283
+    deckhand: 1
284
+  resources:
285
+    enabled: false
286
+    api:
287
+      limits:
288
+        memory: "128Mi"
289
+        cpu: "100m"
290
+      requests:
291
+        memory: "128Mi"
292
+        cpu: "100m"
293
+    jobs:
294
+      ks_user:
295
+        limits:
296
+          memory: "128Mi"
297
+          cpu: "100m"
298
+        requests:
299
+          memory: "128Mi"
300
+          cpu: "100m"
301
+      ks_service:
302
+        limits:
303
+          memory: "128Mi"
304
+          cpu: "100m"
305
+        requests:
306
+          memory: "128Mi"
307
+          cpu: "100m"
308
+      ks_endpoints:
309
+        limits:
310
+          memory: "128Mi"
311
+          cpu: "100m"
312
+        requests:
313
+          memory: "128Mi"
314
+          cpu: "100m"
315
+manifests:
316
+  configmap_bin: true
317
+  configmap_etc: true
318
+  deployment: true
319
+  job_db_init: true
320
+  job_db_sync: true
321
+  job_ks_endpoints: true
322
+  job_ks_service: true
323
+  job_ks_user: true
324
+  secret_db: true
325
+  secret_keystone: true
326
+  service_api: true
327
+  ingress_api: true
328
+  service: true
329
+  service_ingress: true

Loading…
Cancel
Save