summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Lin <anthony.jclin@gmail.com>2017-10-20 13:38:49 +0000
committerFelipe Monteiro <felipe.monteiro@att.com>2017-10-20 11:20:01 -0400
commit46803b7e606a55e9d0ecddeccb502433c4cce880 (patch)
tree2cce163c533f82b79ba4e1b189287351d9b05460
parent21b898f9db90e72befdd515bc176fbd70a8a12d6 (diff)
Move Deckhand Chart
This PS migrates the Deckhand Chart into this repo Change-Id: I2f16697df2d909e01ce3c35a462474ee857c57e2
-rw-r--r--charts/deckhand/.helmignore21
-rw-r--r--charts/deckhand/Chart.yaml27
-rw-r--r--charts/deckhand/requirements.yaml18
-rw-r--r--charts/deckhand/templates/bin/_db-init.sh.tpl33
-rw-r--r--charts/deckhand/templates/bin/_db-sync.sh.tpl6
-rw-r--r--charts/deckhand/templates/configmap-bin.yaml29
-rw-r--r--charts/deckhand/templates/configmap-etc.yaml72
-rw-r--r--charts/deckhand/templates/deployment.yaml80
-rw-r--r--charts/deckhand/templates/ingress-api.yaml47
-rw-r--r--charts/deckhand/templates/job-db-init.yaml85
-rw-r--r--charts/deckhand/templates/job-db-sync.yaml83
-rw-r--r--charts/deckhand/templates/job-ks-endpoints.yaml66
-rw-r--r--charts/deckhand/templates/job-ks-service.yaml60
-rw-r--r--charts/deckhand/templates/job-ks-user.yaml61
-rw-r--r--charts/deckhand/templates/secret-db.yaml30
-rw-r--r--charts/deckhand/templates/secret-keystone-env.yaml28
-rw-r--r--charts/deckhand/templates/service-ingress.yaml32
-rw-r--r--charts/deckhand/templates/service.yaml43
-rw-r--r--charts/deckhand/values.yaml329
19 files changed, 1150 insertions, 0 deletions
diff --git a/charts/deckhand/.helmignore b/charts/deckhand/.helmignore
new file mode 100644
index 0000000..f0c1319
--- /dev/null
+++ b/charts/deckhand/.helmignore
@@ -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
diff --git a/charts/deckhand/Chart.yaml b/charts/deckhand/Chart.yaml
new file mode 100644
index 0000000..a7c98ae
--- /dev/null
+++ b/charts/deckhand/Chart.yaml
@@ -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
15apiVersion: v1
16description: A Helm chart for Deckhand
17name: deckhand
18version: 0.1.0
19keywords:
20- deckhand
21home: https://github.com/att-comdev/deckhand
22sources:
23- https://github.com/att-comdev/aic-helm
24- https://git.openstack.org/cgit/openstack/openstack-helm
25maintainers:
26- name: att-comdev
27engine: gotpl
diff --git a/charts/deckhand/requirements.yaml b/charts/deckhand/requirements.yaml
new file mode 100644
index 0000000..53782e6
--- /dev/null
+++ b/charts/deckhand/requirements.yaml
@@ -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
15dependencies:
16 - name: helm-toolkit
17 repository: http://localhost:8879/charts
18 version: 0.1.0
diff --git a/charts/deckhand/templates/bin/_db-init.sh.tpl b/charts/deckhand/templates/bin/_db-init.sh.tpl
new file mode 100644
index 0000000..635465e
--- /dev/null
+++ b/charts/deckhand/templates/bin/_db-init.sh.tpl
@@ -0,0 +1,33 @@
1#!/bin/bash
2
3set -ex
4export HOME=/tmp
5
6# Extract the DB string from deckhand.conf and get the
7# value of the DB host and port
8db_string=`grep -i '^connection =' ${DECKHAND_CONFIG_FILE}`
9db_fqdn=`echo ${db_string#*@} | cut -f1 -d"."`
10db_port=`echo ${db_string#*@} | grep -o "[0-9]\+"`
11
12pgsql_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
26pgsql_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
29pgsql_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
33pgsql_superuser_cmd "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_USER;"
diff --git a/charts/deckhand/templates/bin/_db-sync.sh.tpl b/charts/deckhand/templates/bin/_db-sync.sh.tpl
new file mode 100644
index 0000000..8d4d26e
--- /dev/null
+++ b/charts/deckhand/templates/bin/_db-sync.sh.tpl
@@ -0,0 +1,6 @@
1#!/bin/bash
2# Pending inputs on what need to be done for db-sync
3
4set -ex
5export HOME=/tmp
6
diff --git a/charts/deckhand/templates/configmap-bin.yaml b/charts/deckhand/templates/configmap-bin.yaml
new file mode 100644
index 0000000..993de47
--- /dev/null
+++ b/charts/deckhand/templates/configmap-bin.yaml
@@ -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
13apiVersion: v1
14kind: ConfigMap
15metadata:
16 name: deckhand-bin
17data:
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 }}
diff --git a/charts/deckhand/templates/configmap-etc.yaml b/charts/deckhand/templates/configmap-etc.yaml
new file mode 100644
index 0000000..641ee9f
--- /dev/null
+++ b/charts/deckhand/templates/configmap-etc.yaml
@@ -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---
60apiVersion: v1
61kind: ConfigMap
62metadata:
63 name: deckhand-etc
64data:
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 }}
diff --git a/charts/deckhand/templates/deployment.yaml b/charts/deckhand/templates/deployment.yaml
new file mode 100644
index 0000000..46c80d1
--- /dev/null
+++ b/charts/deckhand/templates/deployment.yaml
@@ -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---
21apiVersion: apps/v1beta1
22kind: Deployment
23metadata:
24 name: deckhand
25spec:
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 }}
diff --git a/charts/deckhand/templates/ingress-api.yaml b/charts/deckhand/templates/ingress-api.yaml
new file mode 100644
index 0000000..4041074
--- /dev/null
+++ b/charts/deckhand/templates/ingress-api.yaml
@@ -0,0 +1,47 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations 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---
28apiVersion: extensions/v1beta1
29kind: Ingress
30metadata:
31 name: {{ $ingressName }}
32 annotations:
33 kubernetes.io/ingress.class: "nginx"
34 ingress.kubernetes.io/rewrite-target: /
35spec:
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 }}
diff --git a/charts/deckhand/templates/job-db-init.yaml b/charts/deckhand/templates/job-db-init.yaml
new file mode 100644
index 0000000..d42f995
--- /dev/null
+++ b/charts/deckhand/templates/job-db-init.yaml
@@ -0,0 +1,85 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations 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---
23apiVersion: batch/v1
24kind: Job
25metadata:
26 name: deckhand-db-init
27spec:
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 }}
diff --git a/charts/deckhand/templates/job-db-sync.yaml b/charts/deckhand/templates/job-db-sync.yaml
new file mode 100644
index 0000000..08cb29d
--- /dev/null
+++ b/charts/deckhand/templates/job-db-sync.yaml
@@ -0,0 +1,83 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations 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---
23apiVersion: batch/v1
24kind: Job
25metadata:
26 name: deckhand-db-sync
27spec:
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 }}
diff --git a/charts/deckhand/templates/job-ks-endpoints.yaml b/charts/deckhand/templates/job-ks-endpoints.yaml
new file mode 100644
index 0000000..69dec1b
--- /dev/null
+++ b/charts/deckhand/templates/job-ks-endpoints.yaml
@@ -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
17apiVersion: batch/v1
18kind: Job
19metadata:
20 name: deckhand-ks-endpoints
21spec:
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
diff --git a/charts/deckhand/templates/job-ks-service.yaml b/charts/deckhand/templates/job-ks-service.yaml
new file mode 100644
index 0000000..50c8d45
--- /dev/null
+++ b/charts/deckhand/templates/job-ks-service.yaml
@@ -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
19apiVersion: batch/v1
20kind: Job
21metadata:
22 name: deckhand-ks-service
23spec:
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 -}}
diff --git a/charts/deckhand/templates/job-ks-user.yaml b/charts/deckhand/templates/job-ks-user.yaml
new file mode 100644
index 0000000..9a55bd9
--- /dev/null
+++ b/charts/deckhand/templates/job-ks-user.yaml
@@ -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 }}
19apiVersion: batch/v1
20kind: Job
21metadata:
22 name: deckhand-ks-user
23spec:
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 -}}
diff --git a/charts/deckhand/templates/secret-db.yaml b/charts/deckhand/templates/secret-db.yaml
new file mode 100644
index 0000000..4ca68e3
--- /dev/null
+++ b/charts/deckhand/templates/secret-db.yaml
@@ -0,0 +1,30 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations 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---
22apiVersion: v1
23kind: Secret
24metadata:
25 name: {{ $secretName }}
26type: Opaque
27data:
28 DB_CONNECTION: {{ tuple "postgresql" "internal" $userClass "postgresql" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | b64enc -}}
29{{- end }}
30{{- end }}
diff --git a/charts/deckhand/templates/secret-keystone-env.yaml b/charts/deckhand/templates/secret-keystone-env.yaml
new file mode 100644
index 0000000..94ea6e7
--- /dev/null
+++ b/charts/deckhand/templates/secret-keystone-env.yaml
@@ -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---
19apiVersion: v1
20kind: Secret
21metadata:
22 name: {{ $secretName }}
23type: Opaque
24data:
25{{- tuple $userClass "internal" $envAll | include "helm-toolkit.snippets.keystone_secret_openrc" | indent 2 }}
26...
27{{- end }}
28{{- end }}
diff --git a/charts/deckhand/templates/service-ingress.yaml b/charts/deckhand/templates/service-ingress.yaml
new file mode 100644
index 0000000..20a9f0d
--- /dev/null
+++ b/charts/deckhand/templates/service-ingress.yaml
@@ -0,0 +1,32 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/}}
16
17{{- if .Values.manifests.service_ingress }}
18{{- $envAll := . }}
19{{- if .Values.network.ingress.public }}
20---
21apiVersion: v1
22kind: Service
23metadata:
24 name: {{ tuple "deckhand" "public" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
25spec:
26 ports:
27 - name: http
28 port: 9000
29 selector:
30 app: ingress-api
31{{- end }}
32{{- end }}
diff --git a/charts/deckhand/templates/service.yaml b/charts/deckhand/templates/service.yaml
new file mode 100644
index 0000000..3ea5069
--- /dev/null
+++ b/charts/deckhand/templates/service.yaml
@@ -0,0 +1,43 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/}}
16
17{{- if .Values.manifests.service }}
18{{- $envAll := . }}
19---
20apiVersion: v1
21kind: Service
22metadata:
23 name: {{ tuple "deckhand" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
24spec:
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 }}
diff --git a/charts/deckhand/values.yaml b/charts/deckhand/values.yaml
new file mode 100644
index 0000000..558821f
--- /dev/null
+++ b/charts/deckhand/values.yaml
@@ -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
17labels:
18 node_selector_key: ucp-control-plane
19 node_selector_value: enabled
20
21images:
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
31release_group: null
32
33network:
34 ingress:
35 public: true
36 port: 9000
37 node_port: 31902
38 enable_node_port: false
39
40dependencies:
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
79endpoints:
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
169secrets:
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
177database:
178 postgresql:
179 db_name: deckhand
180 db_root_user: postgres
181
182conf:
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"
260pod:
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"
315manifests:
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