From 98dde550955c6f4c24d5c5ebab82cac082769bba Mon Sep 17 00:00:00 2001 From: Mike Elliott Date: Wed, 21 Mar 2018 11:40:36 -0400 Subject: Move deployment-specific templates to parent chart This change provides a single centralized location (onap parent chart) to change/install secrets, persistent volumes, service account(s), RBAC and configuration overrides. It also eliminates the need for a 2-step install of setup and application charts. Users would customize the onap parent chart to install both the deployment-specific resources and one or more "enabled" sub charts, using a command like the following: helm install local/onap -f dev.yaml where dev.yaml (or prod.yaml, etc.) provides the customization of application subcharts to deploy. Change-Id: Idbef28ffa404ea35922a4c3994605bdc27f3471e Issue-ID: OOM-817 Signed-off-by: Mike Elliott --- kubernetes/onap/requirements.yaml | 3 -- kubernetes/onap/templates/clusterrolebinding.yaml | 32 ++++++++++++++++++++++ kubernetes/onap/templates/secrets.yaml | 27 ++++++++++++++++++ kubernetes/setup/.helmignore | 21 -------------- kubernetes/setup/Chart.yaml | 18 ------------ kubernetes/setup/requirements.yaml | 21 -------------- kubernetes/setup/templates/clusterrolebinding.yaml | 32 ---------------------- kubernetes/setup/templates/secrets.yaml | 27 ------------------ kubernetes/setup/values.yaml | 18 ------------ 9 files changed, 59 insertions(+), 140 deletions(-) create mode 100644 kubernetes/onap/templates/clusterrolebinding.yaml create mode 100644 kubernetes/onap/templates/secrets.yaml delete mode 100644 kubernetes/setup/.helmignore delete mode 100644 kubernetes/setup/Chart.yaml delete mode 100644 kubernetes/setup/requirements.yaml delete mode 100644 kubernetes/setup/templates/clusterrolebinding.yaml delete mode 100644 kubernetes/setup/templates/secrets.yaml delete mode 100644 kubernetes/setup/values.yaml diff --git a/kubernetes/onap/requirements.yaml b/kubernetes/onap/requirements.yaml index 1b5ca64b13..7b5e56b070 100644 --- a/kubernetes/onap/requirements.yaml +++ b/kubernetes/onap/requirements.yaml @@ -92,9 +92,6 @@ dependencies: version: ~0.1.0 repository: '@local' condition: sdnc.enabled - - name: setup - version: ~2.0.0 - repository: '@local' - name: so version: ~2.0.0 repository: '@local' diff --git a/kubernetes/onap/templates/clusterrolebinding.yaml b/kubernetes/onap/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..fbe9a5b0a7 --- /dev/null +++ b/kubernetes/onap/templates/clusterrolebinding.yaml @@ -0,0 +1,32 @@ +# Copyright © 2017 Amdocs, Bell Canada +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: {{ include "common.namespace" . }}-binding + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: + - kind: ServiceAccount + name: default + namespace: {{ include "common.namespace" . }} \ No newline at end of file diff --git a/kubernetes/onap/templates/secrets.yaml b/kubernetes/onap/templates/secrets.yaml new file mode 100644 index 0000000000..2345be1972 --- /dev/null +++ b/kubernetes/onap/templates/secrets.yaml @@ -0,0 +1,27 @@ +# Copyright © 2017 Amdocs, Bell Canada +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.namespace" . }}-docker-registry-key + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: + .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }} +type: kubernetes.io/dockercfg \ No newline at end of file diff --git a/kubernetes/setup/.helmignore b/kubernetes/setup/.helmignore deleted file mode 100644 index f0c1319444..0000000000 --- a/kubernetes/setup/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/kubernetes/setup/Chart.yaml b/kubernetes/setup/Chart.yaml deleted file mode 100644 index d8c48f88f6..0000000000 --- a/kubernetes/setup/Chart.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -description: An ONAP environment setup chart -name: setup -version: 2.0.0 diff --git a/kubernetes/setup/requirements.yaml b/kubernetes/setup/requirements.yaml deleted file mode 100644 index 9b24f824d5..0000000000 --- a/kubernetes/setup/requirements.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dependencies: - - name: common - version: ~2.0.0 - # local reference to common chart, as it is - # a part of this chart's package and will not - # be published independently to a repo (at this point) - repository: '@local' \ No newline at end of file diff --git a/kubernetes/setup/templates/clusterrolebinding.yaml b/kubernetes/setup/templates/clusterrolebinding.yaml deleted file mode 100644 index fbe9a5b0a7..0000000000 --- a/kubernetes/setup/templates/clusterrolebinding.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: {{ include "common.namespace" . }}-binding - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: - - kind: ServiceAccount - name: default - namespace: {{ include "common.namespace" . }} \ No newline at end of file diff --git a/kubernetes/setup/templates/secrets.yaml b/kubernetes/setup/templates/secrets.yaml deleted file mode 100644 index 2345be1972..0000000000 --- a/kubernetes/setup/templates/secrets.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.namespace" . }}-docker-registry-key - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -data: - .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }} -type: kubernetes.io/dockercfg \ No newline at end of file diff --git a/kubernetes/setup/values.yaml b/kubernetes/setup/values.yaml deleted file mode 100644 index fb4de8a8a6..0000000000 --- a/kubernetes/setup/values.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -global: - # image repositories - repository: nexus3.onap.org:10001 - repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ== -- cgit 1.2.3-korg