New version of the common template. It unifies the naming convention between platform and xapp components, enabling cross referencing.
Signed-off-by: Zhe Huang <zhehuang@research.att.com>
Change-Id: I683f36a64512854dfb4c30c1df3e4204da7b708b
diff --git a/ric-common/Helm-Credential/bin/install b/ric-common/Helm-Credential/bin/install
new file mode 100755
index 0000000..00e11bc
--- /dev/null
+++ b/ric-common/Helm-Credential/bin/install
@@ -0,0 +1,55 @@
+#!/bin/bash
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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. #
+################################################################################
+NAMESPACE=$1
+
+HELMREPO=$2
+
+HELMREPO_NORMALIZED=${HELMREPO/:/.}
+
+HELMREPO_NORMALIZED=${HELMREPO_NORMALIZED/\//.}
+
+HELMUSERNAME=$3
+
+HELMPASSWORD=$4
+
+HELMCERTPATH=$5
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+
+cp $HELMCERTPATH $DIR/../helm/cert/tls.crt
+
+
+source $DIR/../etc/credential.conf
+
+if [ -z "$RICPLT_RELEASE_NAME" ];then
+ RELEASE_NAME=$helm_release_name
+else
+ RELEASE_NAME=$RICPLT_RELEASE_NAME
+fi
+
+COMMON_CHART_VERSION=$(cat $DIR/../../Common-Template/helm/ric-common/Chart.yaml | grep version | awk '{print $2}')
+helm package -d /tmp $DIR/../../Common-Template/helm/ric-common
+
+
+mkdir -p $DIR/../helm/charts/
+cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/charts/
+
+helm install --namespace "${NAMESPACE}" --name "${RELEASE_NAME}-cred-${NAMESPACE}-${HELMREPO_NORMALIZED}" --set helmrepo="$HELMREPO" --set helmrepoCredential.user="$DOCKERUSERNAME" --set helmrepoCredential.password="$DOCKERPASSWORD" $DIR/../helm
+
+
+rm $DIR/../helm/cert/tls.crt
diff --git a/ric-common/Helm-Credential/bin/uninstall b/ric-common/Helm-Credential/bin/uninstall
new file mode 100755
index 0000000..caee118
--- /dev/null
+++ b/ric-common/Helm-Credential/bin/uninstall
@@ -0,0 +1,41 @@
+#!/bin/bash
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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. #
+################################################################################
+NAMESPACE=$1
+
+HELMREPO=$2
+
+HELMREPO_NORMALIZED=${HELMREPO/:/.}
+
+HELMREPO_NORMALIZED=${HELMREPO_NORMALIZED/\//.}
+
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+
+
+source $DIR/../etc/credential.conf
+
+if [ -z "$RICPLT_RELEASE_NAME" ];then
+ RELEASE_NAME=$helm_release_name
+else
+ RELEASE_NAME=$RICPLT_RELEASE_NAME
+fi
+
+
+helm delete --purge "${RELEASE_NAME}-cred-${NAMESPACE}-${HELMREPO_NORMALIZED}"
+
+
diff --git a/ric-common/Helm-Credential/etc/credential.conf b/ric-common/Helm-Credential/etc/credential.conf
new file mode 100644
index 0000000..8bee714
--- /dev/null
+++ b/ric-common/Helm-Credential/etc/credential.conf
@@ -0,0 +1,23 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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. #
+################################################################################
+
+
+# helm_release_name defines the release name helm will use to deploy the credential
+# It will be overrided by RICPLT_RELEASE_NAME
+helm_release_name=r0
+
+
diff --git a/ric-common/Helm-Credential/helm/Chart.yaml b/ric-common/Helm-Credential/helm/Chart.yaml
new file mode 100644
index 0000000..69bdcc4
--- /dev/null
+++ b/ric-common/Helm-Credential/helm/Chart.yaml
@@ -0,0 +1,22 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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
+appVersion: "1.0"
+description: A Helm chart for setting up k8s resources for accessing external and infrastructure resources before RIC deployment"
+name: credential
+version: 1.1.0
diff --git a/ric-common/Helm-Credential/helm/requirements.yaml b/ric-common/Helm-Credential/helm/requirements.yaml
new file mode 100644
index 0000000..2ab71b4
--- /dev/null
+++ b/ric-common/Helm-Credential/helm/requirements.yaml
@@ -0,0 +1,20 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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: ric-common
+ version: ~2.0.0
diff --git a/ric-common/Helm-Credential/helm/templates/_helper.tpl b/ric-common/Helm-Credential/helm/templates/_helper.tpl
new file mode 100644
index 0000000..9666aa4
--- /dev/null
+++ b/ric-common/Helm-Credential/helm/templates/_helper.tpl
@@ -0,0 +1,29 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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. #
+################################################################################
+
+
+
+{{- define "helmrepo.secret.user" -}}
+ {{- $user := default "helm" .Values.helmrepoCredential.user -}}
+ {{- printf "%s" $user |b64enc }}
+{{- end -}}
+
+
+{{- define "helmrepo.secret.password" -}}
+ {{- $pass := default "helm" .Values.helmrepoCredential.password -}}
+ {{- printf "%s" $pass |b64enc }}
+{{- end -}}
diff --git a/ric-common/Helm-Credential/helm/templates/config-helm-cert.yaml b/ric-common/Helm-Credential/helm/templates/config-helm-cert.yaml
new file mode 100644
index 0000000..8485c3e
--- /dev/null
+++ b/ric-common/Helm-Credential/helm/templates/config-helm-cert.yaml
@@ -0,0 +1,23 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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: ConfigMap
+metadata:
+ name: {{ include "common.helmcert.prefix" . }}-{{ .Values.helmrepo | replace "." "-" | replace ":" "-" | replace "/" "-" }}
+data:
+ {{ (.Files.Glob "cert/tls.crt").AsConfig | nindent 2 }}
diff --git a/ric-common/Helm-Credential/helm/templates/secrets-helm-xapp.yaml b/ric-common/Helm-Credential/helm/templates/secrets-helm-xapp.yaml
new file mode 100644
index 0000000..2c7034b
--- /dev/null
+++ b/ric-common/Helm-Credential/helm/templates/secrets-helm-xapp.yaml
@@ -0,0 +1,25 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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.helmcred.prefix" . }}-{{ .Values.helmrepo | replace "." "-" | replace ":" "-" | replace "/" "-" }}
+type: Opaque
+data:
+ helm_repo_username: {{ include "helmrepo.secret.user" . }}
+ helm_repo_password: {{ include "helmrepo.secret.password" . }}
diff --git a/ric-common/Helm-Credential/helm/values.yaml b/ric-common/Helm-Credential/helm/values.yaml
new file mode 100644
index 0000000..dc1008d
--- /dev/null
+++ b/ric-common/Helm-Credential/helm/values.yaml
@@ -0,0 +1,26 @@
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# 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. #
+################################################################################
+
+# Values for setting up Kubernetes resources for accessing infrastructure such as docker registry
+# helm repo, etc.
+
+helmrepo: "ricaux-entry/helm"
+
+
+helmrepoCredential:
+ user: "helm"
+ password: "helm"