Create Helm based Certificates for Clients
Issue-ID: AAF-802
Change-Id: I5fdc4daecd6bac7f042940473784cfb05c9e338e
Signed-off-by: Instrumental <jonathan.gathman@att.com>
diff --git a/auth/helm/aaf-hello/.helmignore b/auth/helm/aaf-hello/.helmignore
new file mode 100644
index 0000000..f0c1319
--- /dev/null
+++ b/auth/helm/aaf-hello/.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/auth/helm/aaf-hello/Chart.yaml b/auth/helm/aaf-hello/Chart.yaml
new file mode 100644
index 0000000..3b23f6d
--- /dev/null
+++ b/auth/helm/aaf-hello/Chart.yaml
@@ -0,0 +1,25 @@
+#########
+## ============LICENSE_START====================================================
+## org.onap.aaf
+## ===========================================================================
+## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+## ===========================================================================
+## 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.
+## ============LICENSE_END====================================================
+##
+
+apiVersion: v1
+appVersion: "1.0"
+description: AAF Hello Helm Chart
+name: aaf-hello
+version: 2.1.11-SNAPSHOT
diff --git a/auth/helm/aaf-hello/aaf.sh b/auth/helm/aaf-hello/aaf.sh
new file mode 100644
index 0000000..5bb8351
--- /dev/null
+++ b/auth/helm/aaf-hello/aaf.sh
@@ -0,0 +1,84 @@
+. ../../docker/d.props
+IMAGE=onap/aaf/aaf_agent:$VERSION
+
+kubectl -n onap run -it --rm aaf-agent-$USER --image=$IMAGE --overrides='
+{
+ "spec": {
+ "containers": [
+ {
+ "name": "aaf-agent-'$USER'",
+ "image": "'$IMAGE'",
+ "imagePullPolicy": "IfNotPresent",
+ "command": [
+ "bash",
+ "-c",
+ "/opt/app/aaf_config/bin/agent.sh && cd /opt/app/osaaf/local && exec bash"
+ ],
+ "env": [
+ {
+ "name": "aaf_locator_container",
+ "value": "helm"
+ },{
+ "name": "aaf_locator_fqdn",
+ "value": "'$HOSTNAME'"
+ },{
+ "name": "aaf_locator_url",
+ "value": "https://aaf-locate:8095"
+ },{
+ "name": "aaf_locator_public_hostname",
+ "value": "'$HOSTNAME'"
+ },{
+ "name": "AAF_ENV",
+ "value": "'$AAF_ENV'"
+ },{
+ "name": "LATITUDE",
+ "value": "'$LATITUDE'"
+ },{
+ "name": "LONGITUDE",
+ "value": "'$LONGITUDE'"
+ },{
+ "name": "CASSANDRA_CLUSTER",
+ "value": "'$CASSANDRA_CLUSTER'"
+ },{
+ "name": "CASSANDRA_USER",
+ "value": "'$CASSANDRA_USER'"
+ },{
+ "name": "CASSANDRA_PASSWORD",
+ "value": "'$CASSANDRA_PASSWORD'"
+ },{
+ "name": "CASSANDRA_PORT",
+ "value": "'$CASSANDRA_PORT'"
+ }
+ ],
+ "stdin": true,
+ "stdinOnce": true,
+ "tty": true,
+ "volumeMounts": [
+ {
+ "mountPath": "/opt/app/osaaf",
+ "name": "aaf-config-vol"
+ },
+ {
+ "mountPath": "/opt/app/aaf/status",
+ "name": "aaf-status-vol"
+ }
+ ]
+ }
+ ],
+ "volumes": [
+ {
+ "name": "aaf-config-vol",
+ "persistentVolumeClaim": {
+ "claimName": "aaf-config-pvc"
+ }
+ },
+ {
+ "name": "aaf-status-vol",
+ "persistentVolumeClaim": {
+ "claimName": "aaf-status-pvc"
+ }
+ }
+ ]
+ }
+}
+' --restart=Never -- bash
diff --git a/auth/helm/aaf-hello/templates/NOTES.txt b/auth/helm/aaf-hello/templates/NOTES.txt
new file mode 100644
index 0000000..a680557
--- /dev/null
+++ b/auth/helm/aaf-hello/templates/NOTES.txt
@@ -0,0 +1 @@
+AAF Persistence basics loaded
diff --git a/auth/helm/aaf-hello/templates/aaf-hello.yaml b/auth/helm/aaf-hello/templates/aaf-hello.yaml
new file mode 100644
index 0000000..c114e5e
--- /dev/null
+++ b/auth/helm/aaf-hello/templates/aaf-hello.yaml
@@ -0,0 +1,102 @@
+#########
+## ============LICENSE_START====================================================
+## org.onap.aaf
+## ===========================================================================
+## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+## ===========================================================================
+## 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.
+## ============LICENSE_END====================================================
+##
+###
+### AAF-HELLO
+###
+kind: Service
+apiVersion: v1
+metadata:
+ name: aaf-hello
+spec:
+ selector:
+ app: aaf-hello
+ type: NodePort
+ ports:
+ - name: aaf-hello
+ protocol: TCP
+ port: 8130
+ nodePort: 30086
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: aaf-hello
+ labels:
+ app: aaf-hello
+spec:
+ replicas: {{ .Values.replicas.hello }}
+ selector:
+ matchLabels:
+ app: aaf-hello
+ template:
+ metadata:
+ labels:
+ app: aaf-hello
+ spec:
+ volumes:
+ # Use this Pod Sharing dir to declare various States of starting
+ - name: hello-config-vol
+ emptyDir: {}
+ initContainers:
+ - name: hello-config-container
+ image: {{ .Values.image.repository }}onap/aaf/aaf_agent:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf/local"
+ name: hello-config-vol
+ command: ["bash","-c","cd /opt/app/osaaf/local && /opt/app/aaf_config/bin/agent.sh place aaf@aaf.osaaf.org aaf"]
+ env:
+ - name: "AAF_ENV"
+ value: "DEV"
+ - name: "AAF_FQDN"
+ value: "aaf-locate.onap"
+ - name: "APP_FQDN"
+ value: "aaf"
+ - name: "APP_FQI"
+ value: "aaf@aaf.osaaf.org"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: "CONTAINER_NS"
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: "DEPLOY_FQI"
+ value: "deployer@people.osaaf.org"
+ - name: "DEPLOY_PASSWORD"
+ value: "demo123456!"
+
+###
+### AAF-HELLO
+###
+ containers:
+ - name: aaf-hello
+ image: {{ .Values.image.repository }}onap/aaf/aaf_hello:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","-c","cd /opt/app/aaf && exec bin/hello"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf/local"
+ name: hello-config-vol
+ ports:
+ - name: aaf-hello
+ protocol: TCP
+ containerPort: 8130
+
diff --git a/auth/helm/aaf-hello/values.yaml b/auth/helm/aaf-hello/values.yaml
new file mode 100644
index 0000000..d5fa747
--- /dev/null
+++ b/auth/helm/aaf-hello/values.yaml
@@ -0,0 +1,77 @@
+#########
+## ============LICENSE_START====================================================
+## org.onap.aaf
+## ===========================================================================
+## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+## ===========================================================================
+## 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.
+## ============LICENSE_END====================================================
+##
+#
+# Default values for aaf.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+global:
+ persistence:
+ enabled: true
+ common:
+ namespace: "onap"
+
+replicas:
+ hello: 1
+
+ingress:
+ enabled: false
+
+cadi:
+ hostname: "aaf.onap"
+ cadi_latitude: "38.0"
+ cadi_longitude: "-72.0"
+ aaf_env: "DEV"
+
+persistence:
+ # Note: Minikube will persist to /data on your host machine
+ mountPath: "/data/aaf"
+ hello:
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 1Gi
+ mountSubPath: "config"
+ storageClass: "manual"
+
+image:
+ # When using locally built Docker Container, set Repository to ""
+ repository: ""
+ # When using Docker Repo, add, and include trailing "/"
+ # repository: nexus3.onap.org:10003/
+ # repository: localhost:5000/
+ version: 2.1.11-SNAPSHOT
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}