/.project
/target/
/aaf_*
-/deploy.gz
+/*.gz
/createLocalDeploy.sh
-/helm
#
# Engage normal Cass Init, then check for data installation
#
+DIR="/opt/app/aaf/status"
+
if [ ! -e /aaf_cmd ]; then
ln -s /opt/app/aaf/cass_init/cmd.sh /aaf_cmd
chmod u+x /aaf_cmd
fi
+function status {
+ if [ -d "$DIR" ]; then
+ echo "$@"
+ echo "$@" > $DIR/aaf_cass
+ fi
+}
+
function install_cql {
+ status install
+ sleep 10
+ status wait for cassandra to start
# Now, make sure data exists
if [ "$(/usr/bin/cqlsh -e 'describe keyspaces' | grep authz)" = "" ]; then
for CNT in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
cd /opt/app/aaf/cass_init
echo " cqlsh -f keyspace.cql"
/usr/bin/cqlsh -f keyspace.cql
+ status keyspace installed
echo " cqlsh -f init.cql"
/usr/bin/cqlsh -f init.cql
+ status data initialized
echo ""
echo "The following will give you a temporary identity with which to start working, or emergency"
echo " cqlsh -f temp_identity.cql"
fi
fi
+ status $1
}
-case "$1" in
- start)
- # Startup like normal
- echo "Cassandra Startup"
- /usr/local/bin/docker-entrypoint.sh
- ;;
- onap)
- install_cql
+function install_onap {
+ install_cql initialized
# Change date expiring dat files to more recent
+ status Creating ONAP Identities
ID_FILE=/opt/app/aaf/cass_init/sample.identities.dat
if [ -e $ID_FILE ]; then
DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -d "+6 months")
done
# Change UserRole
+ status Setting up User Roles
mv dats/user_role.dat tmp
sed "s/\(^.*|\)\(.*|\)\(.*|\)\(.*\)/\1${DATE}|\3\4/" tmp > dats/user_role.dat
# Remove ID File, which is marker for initializing Creds
rm $ID_FILE
fi
- bash push.sh
+ status Pushing data to cassandra
+ bash push.sh
+ status ready
+}
+
+case "$1" in
+ start)
+ # start install_cql in background, waiting for process to start
+ install_cql ready &
+
+ # Startup like normal
+ echo "Cassandra Startup"
+ /usr/local/bin/docker-entrypoint.sh
+ ;;
+ onap)
+ # start install_onap (which calls install_cql first) in background, waiting for process to start
+ install_onap &
+
+ # Startup like normal
+ echo "Cassandra Startup"
+ /usr/local/bin/docker-entrypoint.sh
;;
esac
ENTRYPOINT ["/bin/bash","/opt/app/aaf/cass_init/cmd.sh"]
CMD ["start"]
-# Default is to start up like normal
+# Default is to start up with CQL setup only
docker build -t ${ORG}/${PROJECT}/aaf_cass:${VERSION} auth-cass
docker tag ${ORG}/${PROJECT}/aaf_cass:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_cass:${VERSION}
+docker tag ${ORG}/${PROJECT}/aaf_cass:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_cass:latest
cd -
rm Dockerfile
. drun.sh
-echo $DOCKER
-docker exec -it aaf_cass bash aaf_cmd onap
+# echo $DOCKER
+# docker exec -it aaf_cass bash aaf_cmd onap
-e CASSANDRA_DC=dc1 \
-e CASSANDRA_CLUSTER_NAME=osaaf \
--mount 'type=volume,src=aaf_cass_data,dst=/var/lib/cassandra,volume-driver=local' \
- -d ${PREFIX}${ORG}/${PROJECT}/aaf_cass:${VERSION}
+ -d ${PREFIX}${ORG}/${PROJECT}/aaf_cass:${VERSION} "onap"
else
$DOCKER start aaf_cass
fi
LABEL description="aaf_${AAF_COMPONENT}"
LABEL version=${AAF_VERSION}
+COPY pod/* /opt/app/aaf/pod/
+
CMD ["/bin/bash","-c","/opt/app/aaf/bin/${AAF_COMPONENT}"]
# For Debugging installation
sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' docker/Dockerfile.config > sample/Dockerfile
docker build -t ${ORG}/${PROJECT}/aaf_config:${VERSION} sample
docker tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_config:${VERSION}
+docker tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/latest
# AAF Agent Image (for Clients)
sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' docker/Dockerfile.client > sample/Dockerfile
docker build -t ${ORG}/${PROJECT}/aaf_agent:${VERSION} sample
docker tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:${VERSION}
+docker tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:latest
# Clean up
rm sample/Dockerfile sample/bin/aaf-cadi-aaf-${VERSION}-full.jar
cd ..
docker build -t ${ORG}/${PROJECT}/aaf_core:${VERSION} aaf_${VERSION}
docker tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:${VERSION}
+docker tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:latest
rm aaf_${VERSION}/Dockerfile
cd -
AAF_COMPONENTS=$1
fi
+mkdir -p ../aaf_${VERSION}/pod
+cp ../sample/bin/pod_wait.sh ../aaf_${VERSION}/pod
for AAF_COMPONENT in ${AAF_COMPONENTS}; do
echo Building aaf_$AAF_COMPONENT...
sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' Dockerfile.ms >../aaf_${VERSION}/Dockerfile
cd ..
docker build -t ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} aaf_${VERSION}
docker tag ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION}
+ docker tag ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:latest
rm aaf_${VERSION}/Dockerfile
cd -
done
+rm ../aaf_${VERSION}/pod/*
+rmdir ../aaf_${VERSION}/pod
--- /dev/null
+# 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
--- /dev/null
+apiVersion: v1
+appVersion: "1.0"
+description: AAF Helm Chart
+name: aaf
+version: 2.1.2-SNAPSHOT
--- /dev/null
+AAF Persistence basics loaded
--- /dev/null
+kind: Pod
+apiVersion: v1
+metadata:
+ name: {{ .Values.cadi.hostname }}
+ namespace: {{ .Values.global.common.namespace }}
+spec:
+ volumes:
+ - name: {{ .Chart.Name }}-config-vol
+ persistentVolumeClaim:
+ claimName: {{ .Chart.Name }}-config-pvc
+ - name: {{ .Chart.Name }}-logs-vol
+ persistentVolumeClaim:
+ claimName: {{ .Chart.Name }}-logs-pvc
+ - name: {{ .Chart.Name }}-cass-vol
+ persistentVolumeClaim:
+ claimName: {{ .Chart.Name }}-cass-pvc
+ # Use this Pod Sharing dir to declare various States of starting
+ - name: {{ .Chart.Name }}-pod-status
+ emptyDir: {}
+ hostAliases:
+ - ip: "127.0.0.1"
+ hostnames:
+ - "cass.{{ .Values.cadi.hostname }}"
+ - "service.{{ .Values.cadi.hostname }}"
+ - "locate.{{ .Values.cadi.hostname }}"
+ - "oauth.{{ .Values.cadi.hostname }}"
+ - "gui.{{ .Values.cadi.hostname }}"
+ - "cm.{{ .Values.cadi.hostname }}"
+ - "hello.{{ .Values.cadi.hostname }}"
+ - "fs.{{ .Values.cadi.hostname }}"
+###
+### DEFINE THE CONTAINERS
+###
+
+###
+### INIT Containers
+###
+ containers:
+ initContainers:
+ - name: {{ .Chart.Name }}-config-container
+ image: {{ .Values.image.repository }}onap/aaf/aaf_config:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+###
+### Regular Containers
+###
+ containers:
+###
+### AAF-CASS
+###
+ - name: {{ .Chart.Name }}-cass
+ image: {{ .Values.image.repository }}onap/aaf/aaf_cass:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ # installing with cmd "onap" will not only initialize the DB, but add ONAP bootstrap data as well
+ command: ["/bin/bash","/opt/app/aaf/cass_init/cmd.sh","onap"]
+ volumeMounts:
+ - mountPath: "/data"
+ name: {{ .Chart.Name }}-cass-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: storage
+ containerPort: 7000
+ - name: ssl-storage
+ containerPort: 7001
+ - name: native-trans
+ containerPort: 9042
+ - name: rpc
+ containerPort: 9160
+ env:
+ - name: CASSANDRA_CLUSTER_NAME
+ value: "osaaf"
+ - name: CASSANDRA_DC
+ value: "dc1"
+ - name: HEAP_NEWSIZE
+ value: "512M"
+ - name: MAX_HEAP_SIZE
+ value: "1024M"
+###
+### AAF-Service
+###
+ - name: {{ .Chart.Name }}-service
+ image: {{ .Values.image.repository }}onap/aaf/aaf_service:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_service","aaf_cass","/opt/app/aaf/bin/service"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: service
+ protocol: TCP
+ containerPort: 8100
+ hostPort: 8100
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: CASS_HOST
+ value: "cass.{{ .Values.cadi.hostname }}:127.0.0.1"
+###
+### AAF-Locate
+###
+ - name: {{ .Chart.Name }}-locate
+ image: {{ .Values.image.repository }}onap/aaf/aaf_locate:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_locate","aaf_service","/opt/app/aaf/bin/locate"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: locate
+ protocol: TCP
+ containerPort: 8095
+ hostPort: 443
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: CASS_HOST
+ value: "cass.{{ .Values.cadi.hostname }}:127.0.0.1"
+###
+### AAF-OAuth
+###
+ - name: {{ .Chart.Name }}-oauth
+ image: {{ .Values.image.repository }}onap/aaf/aaf_oauth:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_oauth","aaf_service","/opt/app/aaf/bin/oauth"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: oauth
+ protocol: TCP
+ containerPort: 8140
+ hostPort: 8140
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: CASS_HOST
+ value: "cass.{{ .Values.cadi.hostname }}:127.0.0.1"
+###
+### AAF-Gui
+###
+ - name: {{ .Chart.Name }}-gui
+ image: {{ .Values.image.repository }}onap/aaf/aaf_gui:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_gui","aaf_locate","/opt/app/aaf/bin/gui"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: gui
+ protocol: TCP
+ containerPort: 8200
+ hostPort: 8200
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: CASS_HOST
+ value: "cass.{{ .Values.cadi.hostname }}:127.0.0.1"
+###
+### AAF-Certman
+###
+ - name: {{ .Chart.Name }}-cm
+ image: {{ .Values.image.repository }}onap/aaf/aaf_cm:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_cm","aaf_locate","/opt/app/aaf/bin/cm"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: cm
+ protocol: TCP
+ containerPort: 8150
+ hostPort: 8150
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: CASS_HOST
+ value: "cass.{{ .Values.cadi.hostname }}:127.0.0.1"
+###
+### AAF-FS
+###
+ - name: {{ .Chart.Name }}-fs
+ image: {{ .Values.image.repository }}onap/aaf/aaf_fs:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ ports:
+ - name: fs
+ protocol: TCP
+ containerPort: 8096
+ hostPort: 80
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+###
+### AAF-Hello
+###
+ - name: {{ .Chart.Name }}-hello
+ image: {{ .Values.image.repository }}onap/aaf/aaf_hello:{{ .Values.image.version }}
+ imagePullPolicy: IfNotPresent
+ command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_hello","aaf_locate","/opt/app/aaf/bin/hello"]
+ volumeMounts:
+ - mountPath: "/opt/app/osaaf"
+ name: {{ .Chart.Name }}-config-vol
+ - mountPath: "/opt/app/aaf/status"
+ name: {{ .Chart.Name }}-pod-status
+ ports:
+ - name: hello
+ protocol: TCP
+ containerPort: 8130
+ hostPort: 8130
+ env:
+ - name: HOSTNAME
+ value: "{{ .Values.cadi.hostname }}"
+ - name: AAF_ENV
+ value: "{{ .Values.cadi.aaf_env }}"
+ - name: AAF_REGISTER_AS
+ value: "{{ .Values.cadi.aaf_register_as }}"
+ - name: LATITUDE
+ value: "{{ .Values.cadi.cadi_latitude }}"
+ - name: LONGITUDE
+ value: "{{ .Values.cadi.cadi_longitude }}"
+ - name: CASS_HOST
+ value: "cass.{{ .Values.cadi.hostname }}:127.0.0.1"
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ .Chart.Name }}-cass-pv
+ namespace: {{ .Values.global.common.namespace }}
+ labels:
+ app: {{ .Chart.Name }}-cass
+spec:
+ capacity:
+ storage: {{ .Values.persistence.cass.size}}
+ accessModes:
+ - {{ .Values.persistence.cass.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.cass.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ .Values.persistence.cass.mountSubPath }}
+{{- if .Values.persistence.cass.storageClass }}
+{{- if (eq "-" .Values.persistence.cass.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.cass.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ .Chart.Name }}-cass-pvc
+ namespace: {{ .Values.global.common.namespace }}
+ labels:
+ app: {{ .Chart.Name }}-cass
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Chart.Name }}-cass
+ accessModes:
+ - {{ .Values.persistence.cass.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.cass.size }}
+{{- if .Values.persistence.cass.storageClass }}
+{{- if (eq "-" .Values.persistence.cass.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.cass.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ .Chart.Name }}-config-pv
+ namespace: {{ .Values.global.common.namespace }}
+ labels:
+ app: {{ .Chart.Name }}-config
+spec:
+ capacity:
+ storage: {{ .Values.persistence.config.size}}
+ accessModes:
+ - {{ .Values.persistence.config.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.config.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ .Values.persistence.config.mountSubPath }}
+{{- if .Values.persistence.config.storageClass }}
+{{- if (eq "-" .Values.persistence.config.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.config.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ .Chart.Name }}-config-pvc
+ namespace: {{ .Values.global.common.namespace }}
+ labels:
+ app: {{ .Chart.Name }}-config
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Chart.Name }}-config
+ accessModes:
+ - {{ .Values.persistence.config.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.config.size }}
+{{- if .Values.persistence.config.storageClass }}
+{{- if (eq "-" .Values.persistence.config.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.config.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ .Chart.Name }}-logs-pv
+ namespace: {{ .Values.global.common.namespace }}
+ labels:
+ app: {{ .Chart.Name }}-logs
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+spec:
+ capacity:
+ storage: {{ .Values.persistence.logs.size}}
+ accessModes:
+ - {{ .Values.persistence.logs.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.logs.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ .Values.persistence.logs.mountSubPath }}
+{{- if .Values.persistence.logs.storageClass }}
+{{- if (eq "-" .Values.persistence.logs.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.logs.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ .Chart.Name }}-logs-pvc
+ namespace: {{ .Values.global.common.namespace }}
+ labels:
+ app: {{ .Chart.Name }}-logs
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Chart.Name }}-logs
+ accessModes:
+ - {{ .Values.persistence.logs.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.logs.size }}
+{{- if .Values.persistence.logs.storageClass }}
+{{- if (eq "-" .Values.persistence.logs.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.logs.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+# Default values for aaf.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+global:
+ persistence:
+ enabled: true
+ common:
+ namespace: onap
+
+ingress:
+ enabled: false
+
+cadi:
+ hostname: "aaf.osaaf.org"
+ cadi_latitude: "38.0"
+ cadi_longitude: "-72.0"
+ aaf_env: "DEV"
+ aaf_register_as: "aaf.osaaf.org"
+
+persistence:
+ mountPath: "/mnt/data/aaf"
+ config:
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 2Gi
+ mountSubPath: "config"
+ storageClass: "manual"
+ logs:
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 2Gi
+ mountSubPath: "logs"
+ storageClass: "manual"
+ cass:
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 10Gi
+ mountSubPath: "cass"
+ 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.2-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: {}
--- /dev/null
+#!/bin/bash
+#
+# A Script for use in Pods... Check for status files, and validate before moving on.
+#
+DIR="/opt/app/aaf/status"
+APP=$1
+shift
+OTHER=$1
+shift
+
+function status {
+ if [ -d "$DIR" ]; then
+ echo "$@" > $DIR/$APP
+ fi
+}
+
+echo $APP $OTHER
+
+function check {
+ if [ -d "$DIR" ]; then
+ if [ -e "$DIR/$OTHER" ]; then
+ echo "$(cat $DIR/$OTHER)"
+ else
+ echo "$DIR/$OTHER does not exist"
+ fi
+ else
+ echo "$DIR does not exist"
+ fi
+}
+
+echo "App $APP is waiting to start until $OTHER is ready"
+status "waiting for $OTHER"
+
+n=0
+while [ $n -lt 40 ]; do
+ rv="$(check)"
+ echo "$OTHER is $rv"
+ if [ "$rv" = "ready" ]; then
+ # This is critical. Until status is literally "ready" in the status directory, no processes will start
+ status ready
+ echo "Starting $@"
+ n=10000
+ else
+ (( ++n ))
+ echo "Sleep 10 (iteration $n)"
+ sleep 10
+ fi
+done
+
+eval "$@"
openssl ca -batch -config openssl.conf -extensions server_cert \
-cert $SIGNER_CRT -keyfile $SIGNER_KEY \
-policy policy_loose \
- -days 90 \
+ -days 365 \
-passin stdin \
-out $BOOTSTRAP_CRT \
-extfile $BOOTSTRAP_SAN \
cat $BOOTSTRAP_CRT
cp $BOOTSTRAP_CRT $BOOTSTRAP_CHAIN
cat $SIGNER_CRT >> $BOOTSTRAP_CHAIN
+cat $BOOTSTRAP_CHAIN
# Note: Openssl will pickup and load all Certs in the Chain file
+#openssl pkcs12 -name $FQI -export -in $BOOTSTRAP_CRT -inkey $BOOTSTRAP_KEY -CAfile $SIGNER_CRT -out $BOOTSTRAP_P12 -passin stdin -passout stdin << EOF
openssl pkcs12 -name $FQI -export -in $BOOTSTRAP_CHAIN -inkey $BOOTSTRAP_KEY -out $BOOTSTRAP_P12 -passin stdin -passout stdin << EOF
$PASSPHRASE
$PASSPHRASE
echo $CADI_X509_ISSUER > $BOOTSTRAP_ISSUER
# Cleanup
-rm -f $BOOTSTRAP_SAN $BOOTSTRAP_KEY $BOOTSTRAP_CSR $BOOTSTRAP_CRT $BOOTSTRAP_CHAIN $SIGNER_KEY $SIGNER_CRT
+rm -f $BOOTSTRAP_SAN $BOOTSTRAP_KEY $BOOTSTRAP_CSR $BOOTSTRAP_CRT $SIGNER_KEY $SIGNER_CRT $BOOTSTRAP_CHAIN