iterating on new helm structure for SO
with this change we can now do the following:
can deploy umbrella chart with currently working components:
helm install local/onap --name onap --namespace onap-all
helm install local/onap --name onap-2 --namespace onap-all-2 \
--set global.nodePortPrefix=303
- umbrella includes setup chart
can deploy a-la-carte component by component into a single namespace
- Need to deploy a setup chart first. cannot be made a helm dependency
as there will be conflicts if each app chart has the same setup dependency.
helm install local/setup --name onap-setup --namespace onap-apps
helm install local/so --name so1 --namespace onap-apps \
--set global.nodePortPrefix=304
helm list
NAME REVISION STATUS CHART NAMESPACE
onap 1 DEPLOYED onap-2.0.0 onap-all
onap-2 1 DEPLOYED onap-2.0.0 onap-all-2
onap-setup 1 DEPLOYED setup-2.0.0 onap-apps
so1 1 DEPLOYED so-2.0.0 onap-apps
Unfortunately, the config maps all have fixed names, so installing
the same app in the a-la-carte fashion will fail due to a collision.
Not worrying about this as I'm not sure we want to support this.
-made the common and setup charts standalone to remove relative file paths
from requirements.yaml
This will help when there are different levels of subcharts that
need to include common
Issue-ID: OOM-786
Issue-ID: OOM-789
Issue-ID: OOM-788
Change-Id: I20bacae6f0f20e8f3bb1527af1e7e53f187341d5
Signed-off-by: Mandeep Khinda <mandeep.khinda@amdocs.com>
diff --git a/kubernetes/setup/.helmignore b/kubernetes/setup/.helmignore
new file mode 100644
index 0000000..f0c1319
--- /dev/null
+++ b/kubernetes/setup/.helmignore
@@ -0,0 +1,21 @@
+# 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
new file mode 100644
index 0000000..cface13
--- /dev/null
+++ b/kubernetes/setup/Chart.yaml
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..56029ab
--- /dev/null
+++ b/kubernetes/setup/requirements.yaml
@@ -0,0 +1,7 @@
+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
new file mode 100644
index 0000000..b2bdc72
--- /dev/null
+++ b/kubernetes/setup/templates/clusterrolebinding.yaml
@@ -0,0 +1,18 @@
+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
new file mode 100644
index 0000000..573883a
--- /dev/null
+++ b/kubernetes/setup/templates/secrets.yaml
@@ -0,0 +1,13 @@
+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
new file mode 100644
index 0000000..49ec058
--- /dev/null
+++ b/kubernetes/setup/values.yaml
@@ -0,0 +1,4 @@
+global:
+ # image repositories
+ repository: nexus3.onap.org:10001
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==