summaryrefslogtreecommitdiffstats
path: root/kubernetes/aai
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/aai')
-rw-r--r--kubernetes/aai/.helmignore21
-rw-r--r--kubernetes/aai/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-data-router/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-data-router/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/auth/client-cert-onap.p12 (renamed from kubernetes/aai/resources/config/data-router/appconfig/auth/client-cert-onap.p12)bin2556 -> 2556 bytes
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/auth/data-router_policy.json (renamed from kubernetes/aai/resources/config/data-router/appconfig/auth/data-router_policy.json)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/auth/tomcat_keystore (renamed from kubernetes/aai/resources/config/data-router/appconfig/auth/tomcat_keystore)bin2214 -> 2214 bytes
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/data-router.properties (renamed from kubernetes/aai/resources/config/data-router/appconfig/data-router.properties)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v10.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v11.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v8.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v9.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml (renamed from kubernetes/aai/resources/config/data-router/dynamic/conf/entity-event-policy.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route (renamed from kubernetes/aai/resources/config/data-router/dynamic/routes/entity-event.route)2
-rw-r--r--kubernetes/aai/charts/aai-data-router/templates/configmap.yaml48
-rw-r--r--kubernetes/aai/charts/aai-data-router/templates/deployment.yaml154
-rw-r--r--kubernetes/aai/charts/aai-data-router/templates/secret.yaml8
-rw-r--r--kubernetes/aai/charts/aai-data-router/values.yaml86
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml (renamed from kubernetes/aai/resources/config/elasticsearch/config/elasticsearch.yml)4
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml (renamed from kubernetes/aai/templates/elasticsearch-configmap.yaml)6
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml96
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml25
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/values.yaml84
-rw-r--r--kubernetes/aai/charts/aai-hbase/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-hbase/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-hbase/templates/deployment.yaml72
-rw-r--r--kubernetes/aai/charts/aai-hbase/templates/service.yaml55
-rw-r--r--kubernetes/aai/charts/aai-hbase/values.yaml92
-rw-r--r--kubernetes/aai/charts/aai-modelloader/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-modelloader/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-modelloader/resources/config/auth/aai-os-cert.p12 (renamed from kubernetes/aai/resources/config/model-loader/appconfig/auth/aai-os-cert.p12)bin4357 -> 4357 bytes
-rw-r--r--kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/model-loader/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties (renamed from kubernetes/aai/resources/config/model-loader/appconfig/model-loader.properties)4
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml15
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml97
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/secret.yaml8
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/service.yaml29
-rw-r--r--kubernetes/aai/charts/aai-modelloader/values.yaml67
-rw-r--r--kubernetes/aai/charts/aai-resources/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-resources/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/resources/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/configmap.yaml7
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/deployment.yaml (renamed from kubernetes/aai/templates/aai-resources-deployment.yaml)88
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/service.yaml30
-rw-r--r--kubernetes/aai/charts/aai-resources/values.yaml68
-rw-r--r--kubernetes/aai/charts/aai-search-data/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-search-data/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/analysis-config.json (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/analysis-config.json)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/auth/search_policy.json (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/auth/search_policy.json)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/auth/tomcat_keystore)bin2214 -> 2214 bytes
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties5
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/filter-config.json (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/filter-config.json)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/search-data-service/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/configmap.yaml15
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/deployment.yaml137
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/secret.yaml16
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/service.yaml25
-rw-r--r--kubernetes/aai/charts/aai-search-data/values.yaml68
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/aai.properties)2
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/auth/aai-os-cert.p12 (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/auth/aai-os-cert.p12)bin4357 -> 4357 bytes
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/auth/client-cert-onap.p12 (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/auth/client-cert-onap.p12)bin2556 -> 2556 bytes
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/auth/inventory-ui-keystore)bin7201 -> 7201 bytes
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/elasticsearch.properties)4
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/sparky-be/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/model/aai_oxm_v9.xml)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal-authentication.properties)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal.properties)4
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/roles.config)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/search-service.properties)2
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/suggestive-search.properties)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/synchronizer.properties)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml31
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml149
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml8
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/service.yaml25
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/values.yaml70
-rw-r--r--kubernetes/aai/charts/aai-traversal/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-traversal/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/traversal/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/configmap.yaml7
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/deployment.yaml (renamed from kubernetes/aai/templates/aai-traversal-deployment.yaml)88
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/service.yaml30
-rw-r--r--kubernetes/aai/charts/aai-traversal/values.yaml67
-rw-r--r--kubernetes/aai/charts/champ/Chart.yaml (renamed from kubernetes/aai/templates/aai-filebeat-configmap.yaml)13
-rw-r--r--kubernetes/aai/charts/champ/requirements.yaml21
-rw-r--r--kubernetes/aai/charts/champ/resources/config/appconfig/auth/champ_policy.json19
-rw-r--r--kubernetes/aai/charts/champ/resources/config/appconfig/auth/tomcat_keystorebin0 -> 2214 bytes
-rw-r--r--kubernetes/aai/charts/champ/resources/config/appconfig/champ-api.properties6
-rw-r--r--kubernetes/aai/charts/champ/resources/config/dynamic/conf/champ-beans.xml62
-rw-r--r--kubernetes/aai/charts/champ/templates/configmap.yaml29
-rw-r--r--kubernetes/aai/charts/champ/templates/deployment.yaml107
-rw-r--r--kubernetes/aai/charts/champ/templates/secrets.yaml (renamed from kubernetes/aai/templates/aai-deployment-configmap.yaml)13
-rw-r--r--kubernetes/aai/charts/champ/templates/service.yaml39
-rw-r--r--kubernetes/aai/charts/champ/values.yaml58
-rw-r--r--kubernetes/aai/charts/gizmo/.helmignore21
-rw-r--r--kubernetes/aai/charts/gizmo/Chart.yaml18
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/README.txt10
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/auth/champ-cert.p12bin0 -> 2556 bytes
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/auth/crud_policy.json18
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/auth/datarouter-cert.p12bin0 -> 2556 bytes
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/auth/tomcat_keystorebin0 -> 2214 bytes
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/crud-api.properties5
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/crud-beans.xml35
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/log/filebeat/filebeat.yml41
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/log/logback.xml213
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v11.json6
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v12.json6
-rw-r--r--kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v13.json6
-rw-r--r--kubernetes/aai/charts/gizmo/templates/NOTES.txt19
-rw-r--r--kubernetes/aai/charts/gizmo/templates/configmap.yaml45
-rw-r--r--kubernetes/aai/charts/gizmo/templates/deployment.yaml142
-rw-r--r--kubernetes/aai/charts/gizmo/templates/secrets.yaml41
-rw-r--r--kubernetes/aai/charts/gizmo/templates/service.yaml40
-rw-r--r--kubernetes/aai/charts/gizmo/values.yaml60
-rw-r--r--kubernetes/aai/requirements.yaml7
-rw-r--r--kubernetes/aai/resources/config/aai-data/environments/simpledemo.json28
-rw-r--r--kubernetes/aai/resources/config/haproxy/haproxy.cfg5
-rw-r--r--kubernetes/aai/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties5
-rw-r--r--kubernetes/aai/templates/aai-deployment.yaml83
-rw-r--r--kubernetes/aai/templates/aai-resources-traversal-configmap.yaml47
-rw-r--r--kubernetes/aai/templates/all-services.yaml191
-rw-r--r--kubernetes/aai/templates/configmap.yaml35
-rw-r--r--kubernetes/aai/templates/data-router-configmap.yaml73
-rw-r--r--kubernetes/aai/templates/data-router-deployment.yaml144
-rw-r--r--kubernetes/aai/templates/deployment.yaml86
-rw-r--r--kubernetes/aai/templates/elasticsearch-deployment.yaml88
-rw-r--r--kubernetes/aai/templates/hbase-deployment.yaml66
-rw-r--r--kubernetes/aai/templates/modelloader-deployment-configmap.yaml40
-rw-r--r--kubernetes/aai/templates/modelloader-deployment.yaml90
-rw-r--r--kubernetes/aai/templates/search-data-service-configmap.yaml48
-rw-r--r--kubernetes/aai/templates/search-data-service-deployment.yaml111
-rw-r--r--kubernetes/aai/templates/service.yaml33
-rw-r--r--kubernetes/aai/templates/sparky-be-deployment-configmap.yaml56
-rw-r--r--kubernetes/aai/templates/sparky-be-deployment.yaml123
-rw-r--r--kubernetes/aai/values.yaml133
140 files changed, 3375 insertions, 1335 deletions
diff --git a/kubernetes/aai/.helmignore b/kubernetes/aai/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/.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/aai/Chart.yaml b/kubernetes/aai/Chart.yaml
index 49b12ec0a3..5b36e11e0a 100644
--- a/kubernetes/aai/Chart.yaml
+++ b/kubernetes/aai/Chart.yaml
@@ -13,6 +13,6 @@
# limitations under the License.
apiVersion: v1
-description: A Helm chart for Kubernetes
+description: ONAP Active and Available Inventory
name: aai
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-data-router/.helmignore b/kubernetes/aai/charts/aai-data-router/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/.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/aai/charts/aai-data-router/Chart.yaml b/kubernetes/aai/charts/aai-data-router/Chart.yaml
new file mode 100644
index 0000000000..59d3c77d2e
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI Data-Router
+name: aai-data-router
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/auth/client-cert-onap.p12 b/kubernetes/aai/charts/aai-data-router/resources/config/auth/client-cert-onap.p12
index dbf4fcacec..dbf4fcacec 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/auth/client-cert-onap.p12
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/auth/client-cert-onap.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/auth/data-router_policy.json b/kubernetes/aai/charts/aai-data-router/resources/config/auth/data-router_policy.json
index 1b4a6b0868..1b4a6b0868 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/auth/data-router_policy.json
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/auth/data-router_policy.json
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/auth/tomcat_keystore b/kubernetes/aai/charts/aai-data-router/resources/config/auth/tomcat_keystore
index 9eec841aa2..9eec841aa2 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/auth/tomcat_keystore
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/auth/tomcat_keystore
Binary files differ
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/data-router.properties b/kubernetes/aai/charts/aai-data-router/resources/config/data-router.properties
index e69de29bb2..e69de29bb2 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/data-router.properties
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/data-router.properties
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v10.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml
index 7eddd10179..7eddd10179 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v10.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v11.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml
index ecf163e097..ecf163e097 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v11.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v8.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml
index 3ed2ea531f..3ed2ea531f 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v8.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v9.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml
index 87a3d656e5..87a3d656e5 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v9.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml
diff --git a/kubernetes/aai/resources/config/data-router/dynamic/conf/entity-event-policy.xml b/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml
index e995053f12..e995053f12 100644
--- a/kubernetes/aai/resources/config/data-router/dynamic/conf/entity-event-policy.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml
diff --git a/kubernetes/aai/resources/config/data-router/dynamic/routes/entity-event.route b/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
index 293688ecd4..7b4e902313 100644
--- a/kubernetes/aai/resources/config/data-router/dynamic/routes/entity-event.route
+++ b/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
@@ -1,4 +1,4 @@
<route xmlns="http://camel.apache.org/schema/spring" trace="true">
- <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://dmaap.{{.Values.nsPrefix}}:3904"/>
+ <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://dmaap.{{.Release.Namespace}}:3904"/>
<to uri="bean:entityEventPolicy?method=process"/>
</route>
diff --git a/kubernetes/aai/charts/aai-data-router/templates/configmap.yaml b/kubernetes/aai/charts/aai-data-router/templates/configmap.yaml
new file mode 100644
index 0000000000..a8793acd9f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/templates/configmap.yaml
@@ -0,0 +1,48 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-prop
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/data-router.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v8
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v8.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v9
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v9.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v10
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v10.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v11
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v11.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-dynamic
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/dynamic/routes/entity-event.route").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/dynamic/conf/entity-event-policy.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-data-router/templates/deployment.yaml b/kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
new file mode 100644
index 0000000000..79bcff33eb
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
@@ -0,0 +1,154 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ initContainers:
+ - command:
+ - /bin/sh
+ - -c
+ - |
+ mkdir -p /logroot/data-router/logs
+ chmod -R 777 /logroot/data-router/logs
+ chown -R root:root /logroot
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ securityContext:
+ privileged: true
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: init-sysctl
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: /logroot/
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: SERVICE_BEANS
+ value: /opt/app/data-router/dynamic/conf
+ - name: CONFIG_HOME
+ value: /opt/app/data-router/config/
+ - name: KEY_STORE_PASSWORD
+ value: {{ .Values.config.keyStorePassword }}
+ - name: DYNAMIC_ROUTES
+ value: /opt/app/data-router/dynamic/routes
+ - name: KEY_MANAGER_PASSWORD
+ value: {{ .Values.config.keyManagerPassword }}
+ - name: PATH
+ value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ - name: JAVA_HOME
+ value: usr/lib/jvm/java-8-openjdk-amd64
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v8.xml
+ subPath: aai_oxm_v8.xml
+ name: {{ include "common.fullname" . }}-model-v8
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v9.xml
+ subPath: aai_oxm_v9.xml
+ name: {{ include "common.fullname" . }}-model-v9
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v10.xml
+ subPath: aai_oxm_v10.xml
+ name: {{ include "common.fullname" . }}-model-v10
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v11.xml
+ subPath: aai_oxm_v11.xml
+ name: {{ include "common.fullname" . }}-model-v11
+ - mountPath: /opt/app/data-router/config/auth
+ name: {{ include "common.fullname" . }}-auth
+ - mountPath: /opt/app/data-router/config/data-router.properties
+ name: {{ include "common.fullname" . }}-properties
+ subPath: data-router.properties
+ - mountPath: /opt/app/data-router/dynamic/routes/entity-event.route
+ subPath: entity-event.route
+ name: {{ include "common.fullname" . }}-dynamic-route
+ - mountPath: /opt/app/data-router/dynamic/conf/entity-event-policy.xml
+ subPath: entity-event-policy.xml
+ name: {{ include "common.fullname" . }}-dynamic-policy
+ - mountPath: /logs/
+ name: {{ include "common.fullname" . }}-logs
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-model-v8
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v8
+ - name: {{ include "common.fullname" . }}-model-v9
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v9
+ - name: {{ include "common.fullname" . }}-model-v10
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v10
+ - name: {{ include "common.fullname" . }}-model-v11
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v11
+ - name: {{ include "common.fullname" . }}-auth
+ secret:
+ secretName: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-properties
+ configMap:
+ name: {{ include "common.fullname" . }}-prop
+ - name: {{ include "common.fullname" . }}-dynamic-route
+ configMap:
+ name: {{ include "common.fullname" . }}-dynamic
+ - name: {{ include "common.fullname" . }}-dynamic-policy
+ configMap:
+ name: {{ include "common.fullname" . }}-dynamic
+ - name: {{ include "common.fullname" . }}-logs
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-data-router/templates/secret.yaml b/kubernetes/aai/charts/aai-data-router/templates/secret.yaml
new file mode 100644
index 0000000000..69bd3f86de
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/templates/secret.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-data-router/values.yaml b/kubernetes/aai/charts/aai-data-router/values.yaml
new file mode 100644
index 0000000000..3957df156d
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/values.yaml
@@ -0,0 +1,86 @@
+# Default values for data-router.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/data-router:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+ keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ name: aai-data-router
+ internalPort: 9502
+
+ingress:
+ enabled: false
+
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: aai/data-router/logs
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-elasticsearch/.helmignore b/kubernetes/aai/charts/aai-elasticsearch/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/.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/aai/charts/aai-elasticsearch/Chart.yaml b/kubernetes/aai/charts/aai-elasticsearch/Chart.yaml
new file mode 100644
index 0000000000..348e4fa8cd
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI elasticsearch
+name: aai-elasticsearch
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/elasticsearch/config/elasticsearch.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml
index 21e29df84b..822ae32f10 100644
--- a/kubernetes/aai/resources/config/elasticsearch/config/elasticsearch.yml
+++ b/kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml
@@ -155,14 +155,14 @@ network.bind_host: 0.0.0.0
# Set a custom port for the node to node communication (9300 by default):
-transport.tcp.port: 8443
+transport.tcp.port: {{ .Values.config.tcpPort }}
# Enable compression for all communication between nodes (disabled by default):
transport.tcp.compress: false
# Set a custom port to listen for HTTP traffic:
# http.port: 9200
-http.port: 9200
+http.port: {{ .Values.service.internalPort }}
# Set a custom allowed content length:
# http.max_content_length: 100mb
diff --git a/kubernetes/aai/templates/elasticsearch-configmap.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml
index e3225be8aa..991a06abcf 100644
--- a/kubernetes/aai/templates/elasticsearch-configmap.yaml
+++ b/kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml
@@ -16,8 +16,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
- name: aai-elasticsearch-configmap
- namespace: {{ .Values.nsPrefix }}
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
data:
-{{ tpl (.Files.Glob "resources/config/elasticsearch/config/elasticsearch.yml").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/elasticsearch.yml").AsConfig . | indent 2 }}
#{{ end }}
diff --git a/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml
new file mode 100644
index 0000000000..6792d4cd54
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml
@@ -0,0 +1,96 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ name: {{ include "common.name" . }}
+ spec:
+ initContainers:
+ - command:
+ - /bin/sh
+ - -c
+ - |
+ mkdir -p /logroot/elasticsearch/es-data
+ chmod -R 777 /logroot/elasticsearch/es-data
+ chown -R root:root /logroot
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ securityContext:
+ privileged: true
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: init-sysctl
+ volumeMounts:
+ - name: elasticsearch-data
+ mountPath: /logroot/
+ hostname: {{ include "common.name" . }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ - name: elasticsearch-config
+ subPath: elasticsearch.yml
+ mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
+ - name: elasticsearch-data
+ mountPath: /usr/share/elasticsearch/data
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: elasticsearch-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: elasticsearch-data
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml
new file mode 100644
index 0000000000..84548eda86
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.fullname" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-elasticsearch/values.yaml b/kubernetes/aai/charts/aai-elasticsearch/values.yaml
new file mode 100644
index 0000000000..af7fd3d3ed
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/values.yaml
@@ -0,0 +1,84 @@
+# Default values for elasticsearch.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+# application image
+dockerhubRepository: docker.io
+image: elasticsearch:2.4.1
+pullPolicy: Always
+
+# application configuration
+config:
+ tcpPort: 8443
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-elasticsearch
+ internalPort: 9200
+
+ingress:
+ enabled: false
+
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: aai/elasticsearch/data
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-hbase/.helmignore b/kubernetes/aai/charts/aai-hbase/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/.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/aai/charts/aai-hbase/Chart.yaml b/kubernetes/aai/charts/aai-hbase/Chart.yaml
new file mode 100644
index 0000000000..eaf6bbdb74
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI hbase
+name: aai-hbase
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml b/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml
new file mode 100644
index 0000000000..4c92dfd4a8
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml
@@ -0,0 +1,72 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ hostname: aai-hbase
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ - containerPort: {{ .Values.service.internalPort3 }}
+ - containerPort: {{ .Values.service.internalPort4 }}
+ - containerPort: {{ .Values.service.internalPort5 }}
+ - containerPort: {{ .Values.service.internalPort6 }}
+ - containerPort: {{ .Values.service.internalPort7 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: hbase-data
+ mountPath: /tmp
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ volumes:
+ - name: hbase-data
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-hbase/templates/service.yaml b/kubernetes/aai/charts/aai-hbase/templates/service.yaml
new file mode 100644
index 0000000000..c503e6ca6a
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/templates/service.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ - port: {{ .Values.service.internalPor3t }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+ name: {{ .Values.service.name }}3
+ - port: {{ .Values.service.internalPort4 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
+ name: {{ .Values.service.name }}4
+ - port: {{ .Values.service.internalPort5 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }}
+ name: {{ .Values.service.name }}5
+ - port: {{ .Values.service.internalPort6 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort6 }}
+ name: {{ .Values.service.name }}6
+ - port: {{ .Values.service.internalPort7 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort7 }}
+ name: {{ .Values.service.name }}7
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ - port: {{ .Values.service.internalPort3 }}
+ name: {{ .Values.service.name }}3
+ - port: {{ .Values.service.internalPort4 }}
+ name: {{ .Values.service.name }}4
+ - port: {{ .Values.service.internalPort5 }}
+ name: {{ .Values.service.name }}5
+ - port: {{ .Values.service.internalPort6 }}
+ name: {{ .Values.service.name }}6
+ - port: {{ .Values.service.internalPort7 }}
+ name: {{ .Values.service.name }}7
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-hbase/values.yaml b/kubernetes/aai/charts/aai-hbase/values.yaml
new file mode 100644
index 0000000000..f1d0c33eff
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/values.yaml
@@ -0,0 +1,92 @@
+# Default values for hbase.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+dockerhubRepository: registry.hub.docker.com
+image: aaionap/hbase:1.2.0
+pullPolicy: Always
+
+# application configuration
+config: {}
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-hbase
+ internalPort: 2181
+ internalPort2: 8080
+ internalPort3: 8085
+ internalPort4: 9090
+ internalPort5: 16000
+ internalPort6: 16010
+ internalPort7: 16201
+
+
+ingress:
+ enabled: false
+
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: aai/hbase
+
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-modelloader/.helmignore b/kubernetes/aai/charts/aai-modelloader/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/.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/aai/charts/aai-modelloader/Chart.yaml b/kubernetes/aai/charts/aai-modelloader/Chart.yaml
new file mode 100644
index 0000000000..33558f24b3
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI modelloader
+name: aai-modelloader
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/model-loader/appconfig/auth/aai-os-cert.p12 b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/aai-os-cert.p12
index ee57120fa0..ee57120fa0 100644
--- a/kubernetes/aai/resources/config/model-loader/appconfig/auth/aai-os-cert.p12
+++ b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/aai-os-cert.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/log/model-loader/logback.xml b/kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml
index d512d3b91c..d512d3b91c 100644
--- a/kubernetes/aai/resources/config/log/model-loader/logback.xml
+++ b/kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml
diff --git a/kubernetes/aai/resources/config/model-loader/appconfig/model-loader.properties b/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
index 5d61fbaaae..5604c1f877 100644
--- a/kubernetes/aai/resources/config/model-loader/appconfig/model-loader.properties
+++ b/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
@@ -1,6 +1,6 @@
# Model Loader Distribution Client Configuration
ml.distribution.ACTIVE_SERVER_TLS_AUTH=false
-ml.distribution.ASDC_ADDRESS=sdc-be.{{.Values.nsPrefix}}:8443
+ml.distribution.ASDC_ADDRESS=sdc-be.{{.Release.Namespace}}:8443
ml.distribution.CONSUMER_GROUP=aai-ml-group
ml.distribution.CONSUMER_ID=aai-ml
ml.distribution.ENVIRONMENT_NAME=AUTO
@@ -13,7 +13,7 @@ ml.distribution.USER=aai
ml.distribution.ARTIFACT_TYPES=MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG
# Model Loader AAI REST Client Configuration
-ml.aai.BASE_URL=https://aai-service.{{.Values.nsPrefix}}:8443
+ml.aai.BASE_URL=https://aai.{{.Release.Namespace}}:8443
ml.aai.MODEL_URL=/aai/v10/service-design-and-creation/models/model/
ml.aai.NAMED_QUERY_URL=/aai/v10/service-design-and-creation/named-queries/named-query/
ml.aai.VNF_IMAGE_URL=/aai/v8/service-design-and-creation/vnf-images
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml b/kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml
new file mode 100644
index 0000000000..8b63cfa048
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-prop
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model-loader.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml b/kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml
new file mode 100644
index 0000000000..38ebe7689f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml
@@ -0,0 +1,97 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/model-loader/config/
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/model-loader/config/model-loader.properties
+ subPath: model-loader.properties
+ name: {{ include "common.fullname" . }}-prop-config
+ - mountPath: /opt/app/model-loader/config/auth/
+ name: {{ include "common.fullname" . }}-auth-config
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /opt/app/model-loader/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /usr/share/filebeat/data
+ name: aai-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-prop-config
+ configMap:
+ name: {{ include "common.fullname" . }}-prop
+ - name: {{ include "common.fullname" . }}-auth-config
+ secret:
+ secretName: {{ include "common.fullname" . }}
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: aai-filebeat
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/secret.yaml b/kubernetes/aai/charts/aai-modelloader/templates/secret.yaml
new file mode 100644
index 0000000000..69bd3f86de
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/secret.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/service.yaml b/kubernetes/aai/charts/aai-modelloader/templates/service.yaml
new file mode 100644
index 0000000000..bd59edb94f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/service.yaml
@@ -0,0 +1,29 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/aai/charts/aai-modelloader/values.yaml b/kubernetes/aai/charts/aai-modelloader/values.yaml
new file mode 100644
index 0000000000..f44d5247ab
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/values.yaml
@@ -0,0 +1,67 @@
+# Default values for modelloader.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/model-loader:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: aai-modelloader
+ externalPort: 8080
+ internalPort: 8080
+ nodePort: 10
+ externalPort2: 8443
+ internalPort2: 8443
+ nodePort2: 29
+
+ingress:
+ enabled: false
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-resources/.helmignore b/kubernetes/aai/charts/aai-resources/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/.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/aai/charts/aai-resources/Chart.yaml b/kubernetes/aai/charts/aai-resources/Chart.yaml
new file mode 100644
index 0000000000..3ab5c1a486
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI resources
+name: aai-resources
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/log/resources/logback.xml b/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml
index 6cfc293f46..6cfc293f46 100644
--- a/kubernetes/aai/resources/config/log/resources/logback.xml
+++ b/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml
diff --git a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
new file mode 100644
index 0000000000..97c720a6ab
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/templates/aai-resources-deployment.yaml b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
index 332b89045b..6aef4475f7 100644
--- a/kubernetes/aai/templates/aai-resources-deployment.yaml
+++ b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
@@ -12,22 +12,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#{{ if not .Values.disableAaiAaiResources }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
- name: aai-resources
- namespace: "{{ .Values.nsPrefix }}"
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
spec:
- replicas: {{ .Values.aaiResourceReplicas }}
+ replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
- app: aai-resources
+ app: {{ include "common.name" . }}
template:
metadata:
labels:
- app: aai-resources
- name: aai-resources
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
annotations:
msb.onap.org/service-info: '[
{
@@ -407,7 +412,7 @@ spec:
"enable_ssl": true,
"lb_policy":"ip_hash",
"visualRange": "1"
- }
+ }
]'
spec:
initContainers:
@@ -415,27 +420,27 @@ spec:
- /root/ready.py
args:
- --container-name
- - hbase
+ - aai-hbase
env:
- name: NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: aai-resources-readiness
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
containers:
- - name: aai-resources
- image: "{{ .Values.image.aaiResourcesImage }}:{{ .Values.image.aaiResourcesVersion}}"
- imagePullPolicy: {{ .Values.pullPolicy }}
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
env:
- name: CHEF_BRANCH
value: master
- name: AAI_CHEF_ENV
value: simpledemo
- name: AAI_CORE_VERSION
- value: {{ .Values.aaicoreversion }}
+ value: {{ .Values.config.aaicoreversion }}
- name: AAI_CHEF_LOC
value: /var/chef/aai-data/environments
- name: CHEF_GIT_URL
@@ -457,15 +462,37 @@ spec:
name: aai-resources-log-conf
subPath: logback.xml
ports:
- - containerPort: 8447
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
readinessProbe:
tcpSocket:
- port: 8447
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-resources
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: /usr/share/filebeat/filebeat.yml
subPath: filebeat.yml
@@ -474,28 +501,27 @@ spec:
name: aai-resources-logs
- mountPath: /usr/share/filebeat/data
name: aai-resources-filebeat
+
volumes:
- name: localtime
hostPath:
path: /etc/localtime
- name: aai-chef-config
configMap:
- name: aai-chef-config-configmap
+ name: aai-chef-config
- name: aai-data
configMap:
- name: aai-resources-environments-configmap
+ name: aai-resources-environments
- name: filebeat-conf
configMap:
- name: aai-filebeat-configmap
+ name: aai-filebeat
- name: aai-resources-logs
emptyDir: {}
- name: aai-resources-filebeat
emptyDir: {}
- name: aai-resources-log-conf
configMap:
- name: aai-resources-log-configmap
- restartPolicy: Always
+ name: {{ include "common.fullname" . }}
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-resources/templates/service.yaml b/kubernetes/aai/charts/aai-resources/templates/service.yaml
new file mode 100644
index 0000000000..8cea86cf54
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/templates/service.yaml
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-resources/values.yaml b/kubernetes/aai/charts/aai-resources/values.yaml
new file mode 100644
index 0000000000..f72e29905f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/values.yaml
@@ -0,0 +1,68 @@
+# Default values for resources.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: openecomp/aai-resources:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ aaicoreversion: 1.1.0-SNAPSHOT
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 60
+ periodSeconds: 60
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 60
+ periodSeconds: 10
+
+
+service:
+ type: ClusterIP
+ name: aai-resources
+ internalPort: 8447
+ internalPort2: 5005
+
+
+ingress:
+ enabled: false
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-search-data/.helmignore b/kubernetes/aai/charts/aai-search-data/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/.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/aai/charts/aai-search-data/Chart.yaml b/kubernetes/aai/charts/aai-search-data/Chart.yaml
new file mode 100644
index 0000000000..da911abb5e
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI search-data
+name: aai-search-data
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/analysis-config.json b/kubernetes/aai/charts/aai-search-data/resources/config/analysis-config.json
index f98ea3799b..f98ea3799b 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/analysis-config.json
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/analysis-config.json
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/search_policy.json b/kubernetes/aai/charts/aai-search-data/resources/config/auth/search_policy.json
index 72d8902fbe..72d8902fbe 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/search_policy.json
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/auth/search_policy.json
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/tomcat_keystore b/kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore
index 9eec841aa2..9eec841aa2 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/tomcat_keystore
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore
Binary files differ
diff --git a/kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties b/kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties
new file mode 100644
index 0000000000..532a9fb2f0
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties
@@ -0,0 +1,5 @@
+# ElasticSearch Configuration
+
+es.cluster-name=ES_AAI
+es.ip-address=aai-elasticsearch.{{.Release.Namespace}}
+es.http-port={{ .Values.config.elasticsearchHttpPort }}
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/filter-config.json b/kubernetes/aai/charts/aai-search-data/resources/config/filter-config.json
index e2d5285824..e2d5285824 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/filter-config.json
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/filter-config.json
diff --git a/kubernetes/aai/resources/config/log/search-data-service/logback.xml b/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
index 14ed4142fe..14ed4142fe 100644
--- a/kubernetes/aai/resources/config/log/search-data-service/logback.xml
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
diff --git a/kubernetes/aai/charts/aai-search-data/templates/configmap.yaml b/kubernetes/aai/charts/aai-search-data/templates/configmap.yaml
new file mode 100644
index 0000000000..0715f0d51a
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/configmap.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-service-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-search-data/templates/deployment.yaml b/kubernetes/aai/charts/aai-search-data/templates/deployment.yaml
new file mode 100644
index 0000000000..beaee7d374
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/deployment.yaml
@@ -0,0 +1,137 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/search-data-service/config/
+ - name: KEY_STORE_PASSWORD
+ value: {{ .Values.config.keyStorePassword }}
+ - name: KEY_MANAGER_PASSWORD
+ value: {{ .Values.config.keyManagerPassword }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/search-data-service/config/filter-config.json
+ subPath: filter-config.json
+ name: {{ include "common.fullname" . }}-service-config
+ - mountPath: /opt/app/search-data-service/config/elastic-search.properties
+ subPath: elastic-search.properties
+ name: {{ include "common.fullname" . }}-service-config
+ - mountPath: /opt/app/search-data-service/config/analysis-config.json
+ subPath: filter-config.json
+ name: {{ include "common.fullname" . }}-service-config
+ - mountPath: /opt/app/search-data-service/config/auth/tomcat_keystore
+ subPath: tomcat_keystore
+ name: {{ include "common.fullname" . }}-service-auth-config
+ - mountPath: /opt/app/search-data-service/config/auth/search_policy.json
+ subPath: search_policy.json
+ name: {{ include "common.fullname" . }}-search-policy-config
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-service-logs
+ - mountPath: /opt/app/search-data-service/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-service-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-service-logs
+ - mountPath: /usr/share/filebeat/data
+ name: {{ include "common.fullname" . }}-service-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-service-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-service-auth-config
+ secret:
+ secretName: {{ include "common.fullname" . }}-keystone
+ - name: {{ include "common.fullname" . }}-search-policy-config
+ secret:
+ secretName: {{ include "common.fullname" . }}-policy
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: {{ include "common.fullname" . }}-service-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-service-filebeat
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-service-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-service-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-search-data/templates/secret.yaml b/kubernetes/aai/charts/aai-search-data/templates/secret.yaml
new file mode 100644
index 0000000000..33b058fc8f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/secret.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-keystone
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/tomcat_keystore").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-policy
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/auth/search_policy.json").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-search-data/templates/service.yaml b/kubernetes/aai/charts/aai-search-data/templates/service.yaml
new file mode 100644
index 0000000000..41bc163696
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-search-data/values.yaml b/kubernetes/aai/charts/aai-search-data/values.yaml
new file mode 100644
index 0000000000..e7bfa6bdfa
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/values.yaml
@@ -0,0 +1,68 @@
+# Default values for search-data.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/search-data-service:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ elasticsearchHttpPort: 9200
+ keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+ keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-search-data
+ internalPort: 9509
+
+ingress:
+ enabled: false
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-sparky-be/.helmignore b/kubernetes/aai/charts/aai-sparky-be/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/.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/aai/charts/aai-sparky-be/Chart.yaml b/kubernetes/aai/charts/aai-sparky-be/Chart.yaml
new file mode 100644
index 0000000000..4d8a3a496b
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI sparky-be
+name: aai-sparky-be
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/aai.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties
index aaca346760..813a263d90 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/aai.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties
@@ -6,7 +6,7 @@
#
# The ip address/hostname and port to the desired AAI instance
#
-aai.rest.host=aai-service.{{.Values.nsPrefix}}
+aai.rest.host=aai.{{.Release.Namespace}}
aai.rest.port=8443
############################## REST ##############################
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/aai-os-cert.p12 b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/aai-os-cert.p12
index ee57120fa0..ee57120fa0 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/aai-os-cert.p12
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/aai-os-cert.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/client-cert-onap.p12 b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/client-cert-onap.p12
index dbf4fcacec..dbf4fcacec 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/client-cert-onap.p12
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/client-cert-onap.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/inventory-ui-keystore b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore
index efa01f8d79..efa01f8d79 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/inventory-ui-keystore
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore
Binary files differ
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/elasticsearch.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties
index 99aea27d9e..082744b94e 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/elasticsearch.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties
@@ -7,8 +7,8 @@
# The ip address/hostname and port to the desired AAI instance
# For development it's recommended to use a local instance of ES
#
-elasticsearch.ipAddress=aai-elasticsearch.{{.Values.nsPrefix}}
-elasticsearch.httpPort=9200
+elasticsearch.ipAddress=aai-elasticsearch.{{.Release.Namespace}}
+elasticsearch.httpPort={{ .Values.config.elasticsearchHttpPort }}
elasticsearch.javaApiPort=8443
############################## Indexes ##############################
diff --git a/kubernetes/aai/resources/config/log/sparky-be/logback.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml
index c1b99c183f..c1b99c183f 100644
--- a/kubernetes/aai/resources/config/log/sparky-be/logback.xml
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/model/aai_oxm_v9.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml
index 6337c32edc..6337c32edc 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/model/aai_oxm_v9.xml
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal-authentication.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties
index 0873fc1c61..0873fc1c61 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal-authentication.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties
index 90147362b0..04a19555e2 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties
@@ -7,10 +7,10 @@ portal.api.impl.class = org.openecomp.sparky.security.portal.PortalRestAPIServic
# Instance of ECOMP Portal where the app has been on-boarded
# use insecure http for dev purposes to avoid self-signed certificate
-ecomp_rest_url = http://portalapps.{{.Values.nsPrefix}}:8989/ONAPPORTAL/auxapi
+ecomp_rest_url = http://portalapps.{{.Release.Namespace}}:8989/ONAPPORTAL/auxapi
# Standard global logon page
-ecomp_redirect_url = http://portalapps.{{.Values.nsPrefix}}:8989/ONAPPORTAL/login.htm
+ecomp_redirect_url = http://portalapps.{{.Release.Namespace}}:8989/ONAPPORTAL/login.htm
# Name of cookie to extract on login request
csp_cookie_name = EPService
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/roles.config b/kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config
index b8313bd378..b8313bd378 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/roles.config
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/search-service.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties
index 57e34759d3..f28047333a 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/search-service.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties
@@ -6,7 +6,7 @@
#
# The ip address/hostname and port to the desired Search Data Service instance
#
-search-service.ipAddress=search-data-service.{{.Values.nsPrefix}}
+search-service.ipAddress=aai-search-data.{{.Release.Namespace}}
search-service.httpPort=9509
############################## Indexes ##############################
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/suggestive-search.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties
index b82baffc14..b82baffc14 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/suggestive-search.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/synchronizer.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties
index 0b84f06abe..0b84f06abe 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/synchronizer.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
new file mode 100644
index 0000000000..68fa1e4966
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
@@ -0,0 +1,31 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-portal
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/portal/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
new file mode 100644
index 0000000000..278a32728e
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
@@ -0,0 +1,149 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/sparky/config/
+ - name: KEY_MANAGER_PASSWORD
+ value: {{ .Values.config.keyManagerPassword }}
+ - name: KEY_STORE_PASSWORD
+ value: {{ .Values.config.keyStorePassword }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/sparky/config/auth/
+ name: {{ include "common.fullname" . }}-auth-config
+ - mountPath: /opt/app/sparky/config/synchronizer.properties
+ subPath: synchronizer.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/suggestive-search.properties
+ subPath: suggestive-search.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/search-service.properties
+ subPath: search-service.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/roles.config
+ subPath: roles.config
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/elasticsearch.properties
+ subPath: elasticsearch.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/aai.properties
+ subPath: aai.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/model/
+ name: {{ include "common.fullname" . }}-model-config
+ - mountPath: /opt/app/sparky/config/portal/
+ name: {{ include "common.fullname" . }}-portal-config
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /opt/app/sparky/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /usr/share/filebeat/data
+ name: aai-sparky-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-model-config
+ configMap:
+ name: {{ include "common.fullname" . }}-model
+ - name: {{ include "common.fullname" . }}-portal-config
+ configMap:
+ name: {{ include "common.fullname" . }}-portal
+ - name: {{ include "common.fullname" . }}-auth-config
+ secret:
+ secretName: {{ include "common.fullname" . }}
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: aai-sparky-filebeat
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml
new file mode 100644
index 0000000000..69bd3f86de
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/service.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/service.yaml
new file mode 100644
index 0000000000..41bc163696
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-sparky-be/values.yaml b/kubernetes/aai/charts/aai-sparky-be/values.yaml
new file mode 100644
index 0000000000..34be1befb2
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/values.yaml
@@ -0,0 +1,70 @@
+# Default values for sparky-be.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/sparky-be:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ elasticsearchHttpPort: 9200
+ keyStorePassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+ keyManagerPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+
+# override chart name (sparky-be) to share a common namespace
+# suffix with parent chart (aai)
+nsSuffix: aai
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-sparky-be
+ internalPort: 9517
+
+ingress:
+ enabled: false
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-traversal/.helmignore b/kubernetes/aai/charts/aai-traversal/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/.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/aai/charts/aai-traversal/Chart.yaml b/kubernetes/aai/charts/aai-traversal/Chart.yaml
new file mode 100644
index 0000000000..8f79b421c3
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI traversal
+name: aai-traversal
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/log/traversal/logback.xml b/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml
index fb8d8a53bf..fb8d8a53bf 100644
--- a/kubernetes/aai/resources/config/log/traversal/logback.xml
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml
diff --git a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
new file mode 100644
index 0000000000..a7e9428a88
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/templates/aai-traversal-deployment.yaml b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
index f039d0f332..b4249aede1 100644
--- a/kubernetes/aai/templates/aai-traversal-deployment.yaml
+++ b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
@@ -12,22 +12,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#{{ if not .Values.disableAaiAaiTraversal }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
- name: aai-traversal
- namespace: "{{ .Values.nsPrefix }}"
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
spec:
- replicas: {{ .Values.aaiTraversalReplicas }}
+ replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
- app: aai-traversal
+ app: {{ include "common.name" . }}
template:
metadata:
labels:
- app: aai-traversal
- name: aai-traversal
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
annotations:
msb.onap.org/service-info: '[
{
@@ -245,8 +250,6 @@ spec:
- /root/ready.py
args:
- --container-name
- - hbase
- - --container-name
- aai-resources
env:
- name: NAMESPACE
@@ -254,26 +257,26 @@ spec:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: aai-traversal-readiness
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
containers:
- - name: aai-traversal
- image: "{{ .Values.image.aaiTraversalImage }}:{{ .Values.image.aaiTraversalVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
env:
- name: CHEF_BRANCH
value: master
- name: AAI_CHEF_ENV
value: simpledemo
- name: AAI_CORE_VERSION
- value: {{ .Values.aaicoreversion }}
+ value: {{ .Values.config.aaicoreversion }}
- name: AAI_CHEF_LOC
value: /var/chef/aai-data/environments
- name: CHEF_GIT_URL
value: http://gerrit.onap.org/r/aai
- name: RESOURCES_HOSTNAME
- value: aai-resources.{{ .Values.nsPrefix }}
+ value: aai-resources.{{ include "common.namespace" . }}
volumeMounts:
- mountPath: /etc/localtime
name: localtime
@@ -289,15 +292,37 @@ spec:
name: aai-traversal-log-conf
subPath: logback.xml
ports:
- - containerPort: 8446
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
readinessProbe:
tcpSocket:
- port: 8446
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-traversal
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: /usr/share/filebeat/filebeat.yml
subPath: filebeat.yml
@@ -306,28 +331,27 @@ spec:
name: aai-traversal-logs
- mountPath: /usr/share/filebeat/data
name: aai-traversal-filebeat
+
volumes:
- name: localtime
hostPath:
path: /etc/localtime
- name: aai-chef-config
configMap:
- name: aai-chef-config-configmap
+ name: aai-chef-config
- name: aai-data
configMap:
- name: aai-resources-environments-configmap
+ name: aai-resources-environments
- name: filebeat-conf
configMap:
- name: aai-filebeat-configmap
+ name: aai-filebeat
- name: aai-traversal-logs
emptyDir: {}
- name: aai-traversal-filebeat
emptyDir: {}
- name: aai-traversal-log-conf
configMap:
- name: aai-traversal-log-configmap
- restartPolicy: Always
+ name: {{ include "common.fullname" . }}-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-traversal/templates/service.yaml b/kubernetes/aai/charts/aai-traversal/templates/service.yaml
new file mode 100644
index 0000000000..8cea86cf54
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/templates/service.yaml
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-traversal/values.yaml b/kubernetes/aai/charts/aai-traversal/values.yaml
new file mode 100644
index 0000000000..17640338d1
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/values.yaml
@@ -0,0 +1,67 @@
+# Default values for traversal.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: openecomp/aai-traversal:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ aaicoreversion: 1.1.0-SNAPSHOT
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 60
+ periodSeconds: 60
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-traversal
+ internalPort: 8446
+ internalPort2: 5005
+
+ingress:
+ enabled: false
+
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/templates/aai-filebeat-configmap.yaml b/kubernetes/aai/charts/champ/Chart.yaml
index 74039e8592..a4ee888fce 100644
--- a/kubernetes/aai/templates/aai-filebeat-configmap.yaml
+++ b/kubernetes/aai/charts/champ/Chart.yaml
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, AT&T
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,12 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#{{ if not .Values.disableAaiAaiResources }}
apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-filebeat-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
-#{{ end }}
+description: Champ microservice
+name: champ
+version: 2.0.0
diff --git a/kubernetes/aai/charts/champ/requirements.yaml b/kubernetes/aai/charts/champ/requirements.yaml
new file mode 100644
index 0000000000..9552dfd9e0
--- /dev/null
+++ b/kubernetes/aai/charts/champ/requirements.yaml
@@ -0,0 +1,21 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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'
diff --git a/kubernetes/aai/charts/champ/resources/config/appconfig/auth/champ_policy.json b/kubernetes/aai/charts/champ/resources/config/appconfig/auth/champ_policy.json
new file mode 100644
index 0000000000..ee04a714be
--- /dev/null
+++ b/kubernetes/aai/charts/champ/resources/config/appconfig/auth/champ_policy.json
@@ -0,0 +1,19 @@
+{
+ "roles": [
+ {
+ "name": "admin",
+ "functions": [
+ {
+ "name": "search", "methods": [ { "name": "GET" },{ "name": "DELETE" }, { "name": "PUT" }, { "name": "POST" } ]
+ }
+ ],
+
+ "users": [
+ {
+ "username": "CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA"
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/kubernetes/aai/charts/champ/resources/config/appconfig/auth/tomcat_keystore b/kubernetes/aai/charts/champ/resources/config/appconfig/auth/tomcat_keystore
new file mode 100644
index 0000000000..9eec841aa2
--- /dev/null
+++ b/kubernetes/aai/charts/champ/resources/config/appconfig/auth/tomcat_keystore
Binary files differ
diff --git a/kubernetes/aai/charts/champ/resources/config/appconfig/champ-api.properties b/kubernetes/aai/charts/champ/resources/config/appconfig/champ-api.properties
new file mode 100644
index 0000000000..3b90c5522f
--- /dev/null
+++ b/kubernetes/aai/charts/champ/resources/config/appconfig/champ-api.properties
@@ -0,0 +1,6 @@
+keyName=aai-uuid
+sourceOfTruthName=source-of-truth
+createdTsName=aai-created-ts
+lastModTsName=aai-last-mod-ts
+collectionPropertiesKey=properties
+
diff --git a/kubernetes/aai/charts/champ/resources/config/dynamic/conf/champ-beans.xml b/kubernetes/aai/charts/champ/resources/config/dynamic/conf/champ-beans.xml
new file mode 100644
index 0000000000..cdf3aada40
--- /dev/null
+++ b/kubernetes/aai/charts/champ/resources/config/dynamic/conf/champ-beans.xml
@@ -0,0 +1,62 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns:util="http://www.springframework.org/schema/util"
+xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ ">
+
+ <!-- Event publisher to pass to the Champ library for logging raw graph
+ events (Kafka implementation). -->
+ <bean id="champEventPublisher" class="org.onap.aai.event.client.KafkaEventPublisher" >
+ <constructor-arg name="hosts" value="global-kafka.{{.Release.Namespace}}:9092" />
+ <constructor-arg name="topic" value="champRawEvents" />
+ </bean>
+
+ <!-- Graph Implementation Configuration-->
+ <util:map id="props" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.lang.Object">
+ <entry key="champcore.event.stream.buffer.capacity" value="50" value-type="java.lang.Integer"/>
+ <entry key="champcore.event.stream.publisher-pool-size" value="10" value-type="java.lang.Integer"/>
+ <entry key="champcore.event.stream.publisher" value-ref="champEventPublisher"/>
+
+ <entry key="graph.name" value="aaigraph.dev"/>
+ <entry key="storage.backend" value="hbase"/>
+ <entry key="storage.hostname" value="hbase.{{.Release.Namespace}}"/>
+
+ <!-- Hbase Config -->
+ <entry key="storage.hbase.ext.hbase.zookeeper.property.clientPort" value="2181"/>
+ <entry key="storage.hbase.ext.zookeeper.znode.parent" value="/hbase"/>
+ </util:map>
+
+ <!-- Janus Implementation -->
+ <bean id="graphBuilder" class="org.onap.aai.champjanus.graph.impl.JanusChampGraphImpl$Builder">
+ <constructor-arg value="aaigraph.dev"/>
+ <constructor-arg ref="props" />
+ </bean>
+
+ <bean id="graphImpl" class="org.onap.aai.champjanus.graph.impl.JanusChampGraphImpl">
+ <constructor-arg ref="graphBuilder" />
+ </bean>
+
+ <bean id="champUUIDService" class="org.onap.champ.service.ChampUUIDService" >
+ <constructor-arg name="graphImpl" ref="graphImpl" />
+ </bean>
+
+ <bean id="cache" class="org.onap.champ.service.ChampTransactionCache" >
+ <constructor-arg name="txTimeOutInSec" value="600" />
+ <constructor-arg name="graphImpl" ref="graphImpl" />
+ </bean>
+
+ <bean id="champDataService" class="org.onap.champ.service.ChampDataService" >
+ <constructor-arg name="champUUIDService" ref="champUUIDService" />
+ <constructor-arg name="graphImpl" ref="graphImpl" />
+ <constructor-arg name="cache" ref="cache" />
+ </bean>
+
+ <bean id="champRestService" class="org.onap.champ.ChampRESTAPI" >
+ <constructor-arg name="champDataService" ref="champDataService" />
+ <constructor-arg name="champAsyncRequestProcessor"><null/></constructor-arg>
+ </bean>
+</beans>
diff --git a/kubernetes/aai/charts/champ/templates/configmap.yaml b/kubernetes/aai/charts/champ/templates/configmap.yaml
new file mode 100644
index 0000000000..8f48f199f8
--- /dev/null
+++ b/kubernetes/aai/charts/champ/templates/configmap.yaml
@@ -0,0 +1,29 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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.fullname" . }}-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appconfig/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-dynamic-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/dynamic/conf/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/champ/templates/deployment.yaml b/kubernetes/aai/charts/champ/templates/deployment.yaml
new file mode 100644
index 0000000000..23314aeee4
--- /dev/null
+++ b/kubernetes/aai/charts/champ/templates/deployment.yaml
@@ -0,0 +1,107 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONFIG_HOME
+ value: "/opt/app/champ-service/appconfig"
+ - name: GRAPHIMPL
+ value: "janus-deps"
+ - name: SERVICE_BEANS
+ value: "/opt/app/champ-service/dynamic/conf"
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/champ-service/appconfig/champ-api.properties
+ name: {{ include "common.fullname" . }}-config
+ subPath: champ-api.properties
+ - mountPath: /opt/app/champ-service/appconfig/auth
+ name: {{ include "common.fullname" . }}-secrets
+ - mountPath: /opt/app/champ-service/dynamic/conf/champ-beans.xml
+ name: {{ include "common.fullname" . }}-dynamic-config
+ subPath: champ-beans.xml
+ - mountPath: /logs
+ name: {{ include "common.fullname" . }}-logs
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}-configmap
+ items:
+ - key: champ-api.properties
+ path: champ-api.properties
+ - name: {{ include "common.fullname" . }}-secrets
+ secret:
+ secretName: {{ include "common.fullname" . }}-champ-secrets
+ - name: {{ include "common.fullname" . }}-dynamic-config
+ configMap:
+ name: {{ include "common.fullname" . }}-dynamic-configmap
+ items:
+ - key: champ-beans.xml
+ path: champ-beans.xml
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/templates/aai-deployment-configmap.yaml b/kubernetes/aai/charts/champ/templates/secrets.yaml
index c81fb801c5..e939eb904b 100644
--- a/kubernetes/aai/templates/aai-deployment-configmap.yaml
+++ b/kubernetes/aai/charts/champ/templates/secrets.yaml
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, AT&T
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,12 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#{{ if not .Values.disableAaiAaiService }}
apiVersion: v1
-kind: ConfigMap
+kind: Secret
metadata:
- name: aai-deployment-configmap
- namespace: {{ .Values.nsPrefix }}
+ name: {{ include "common.fullname" . }}-champ-secrets
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
data:
-{{ tpl (.Files.Glob "resources/config/haproxy/*").AsConfig . | indent 2 }}
-#{{ end }}
+{{ tpl (.Files.Glob "resources/config/appconfig/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/champ/templates/service.yaml b/kubernetes/aai/charts/champ/templates/service.yaml
new file mode 100644
index 0000000000..93b0fd1254
--- /dev/null
+++ b/kubernetes/aai/charts/champ/templates/service.yaml
@@ -0,0 +1,39 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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: Service
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort}}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort}}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/aai/charts/champ/values.yaml b/kubernetes/aai/charts/champ/values.yaml
new file mode 100644
index 0000000000..91a1e52091
--- /dev/null
+++ b/kubernetes/aai/charts/champ/values.yaml
@@ -0,0 +1,58 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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 configuration defaults.
+#################################################################
+global:
+ readinessImage: readiness-check:1.0.0
+ loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# application image
+image: onap/champ:1.2.0
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: champ
+ externalPort: 78
+ internalPort: 9522
+ nodePort: 78
+
+ingress:
+ enabled: false
+
+resources: {}
diff --git a/kubernetes/aai/charts/gizmo/.helmignore b/kubernetes/aai/charts/gizmo/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/.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/aai/charts/gizmo/Chart.yaml b/kubernetes/aai/charts/gizmo/Chart.yaml
new file mode 100644
index 0000000000..4633b06dff
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/Chart.yaml
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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: Gizmo service
+name: gizmo
+version: 2.0.0 \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/resources/config/README.txt b/kubernetes/aai/charts/gizmo/resources/config/README.txt
new file mode 100644
index 0000000000..5cc01497f5
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/README.txt
@@ -0,0 +1,10 @@
+This directory contains all external configuration files that
+need to be mounted into an application container.
+
+See the configmap.yaml in the templates directory for an example
+of how to load (ie map) config files from this directory, into
+Kubernetes, for distribution within the k8s cluster.
+
+See deployment.yaml in the templates directory for an example
+of how the 'config mapped' files are then mounted into the
+containers.
diff --git a/kubernetes/aai/charts/gizmo/resources/config/auth/champ-cert.p12 b/kubernetes/aai/charts/gizmo/resources/config/auth/champ-cert.p12
new file mode 100644
index 0000000000..dbf4fcacec
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/auth/champ-cert.p12
Binary files differ
diff --git a/kubernetes/aai/charts/gizmo/resources/config/auth/crud_policy.json b/kubernetes/aai/charts/gizmo/resources/config/auth/crud_policy.json
new file mode 100644
index 0000000000..d8b065e7f6
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/auth/crud_policy.json
@@ -0,0 +1,18 @@
+{
+ "roles": [
+ {
+ "name": "admin",
+ "functions": [
+ {
+ "name": "crud", "methods": [ { "name": "GET" },{ "name": "DELETE" }, { "name": "PUT" }, { "name": "POST" }, { "name": "PATCH"} ]
+ }
+ ],
+
+ "users": [
+ {
+ "username": "CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/resources/config/auth/datarouter-cert.p12 b/kubernetes/aai/charts/gizmo/resources/config/auth/datarouter-cert.p12
new file mode 100644
index 0000000000..dbf4fcacec
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/auth/datarouter-cert.p12
Binary files differ
diff --git a/kubernetes/aai/charts/gizmo/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/gizmo/resources/config/auth/tomcat_keystore
new file mode 100644
index 0000000000..9eec841aa2
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/auth/tomcat_keystore
Binary files differ
diff --git a/kubernetes/aai/charts/gizmo/resources/config/crud-api.properties b/kubernetes/aai/charts/gizmo/resources/config/crud-api.properties
new file mode 100644
index 0000000000..a86d47203a
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/crud-api.properties
@@ -0,0 +1,5 @@
+# CRUD-API configuration
+
+crud.async.request.timeout=60000
+crud.async.response.process.poll.interval=1000
+crud.collection.properties.key=properties
diff --git a/kubernetes/aai/charts/gizmo/resources/config/crud-beans.xml b/kubernetes/aai/charts/gizmo/resources/config/crud-beans.xml
new file mode 100644
index 0000000000..04f1210433
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/crud-beans.xml
@@ -0,0 +1,35 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ ">
+
+ <bean id="champDao" class="org.onap.crud.dao.champ.ChampDao">
+ <constructor-arg name="champUrl" value="https://{{.Release.Name}}-champ.{{.Release.Namespace}}:9522/services/champ-service/v1/"/>
+ <constructor-arg name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"/>
+ </bean>
+
+ <bean id="dataRouterDAO" class="org.onap.crud.dao.DataRouterDAO">
+ <constructor-arg name="url" value="https://data-router.{{.Release.Namespace}}:9502/services/champ-service/v1/"/>
+ <constructor-arg name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"/>
+ </bean>
+
+ <!-- Synchronous Mode -->
+ <bean id="graphDataService" class="org.onap.crud.service.CrudGraphDataService" >
+ <constructor-arg name="dao" ref="champDao" />
+ <constructor-arg name="daoForGet" ref="champDao" /> <!-- Using champ for both types of API for now -->
+ </bean>
+
+ <bean id="crudRestService" class="org.onap.crud.service.CrudRestService" init-method="startup" >
+ <constructor-arg name="graphDataService" ref="graphDataService" />
+ </bean>
+
+ <bean id="aaiResourceService" class="org.onap.crud.service.AaiResourceService" init-method="startup" >
+ <constructor-arg name="graphDataService" ref="graphDataService" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/resources/config/log/filebeat/filebeat.yml b/kubernetes/aai/charts/gizmo/resources/config/log/filebeat/filebeat.yml
new file mode 100644
index 0000000000..9ad559c027
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/log/filebeat/filebeat.yml
@@ -0,0 +1,41 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["logstash.{{ .Release.Name }}-log:5044"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/aai/charts/gizmo/resources/config/log/logback.xml b/kubernetes/aai/charts/gizmo/resources/config/log/logback.xml
new file mode 100644
index 0000000000..f63afd3c6b
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/log/logback.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <!--<jmxConfigurator /> -->
+ <!-- directory path for all other type logs -->
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="aai" />
+ <property name="subComponentName" value="aai-CRUD" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <!-- default eelf log file names -->
+ <property name="generalLogName" value="application" />
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+ <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELF" />
+ </appender>
+ <!-- EELF Audit Appender. This appender is used to record audit engine
+ related logging events. The audit logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+ <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+ <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </appender>
+ <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+ <logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger name="com.att.eelf.perf" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+ <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+ <logger name="com.att.eelf.policy" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPolicy" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <!-- Spring related loggers -->
+ <logger name="org.springframework" level="WARN" />
+ <logger name="org.springframework.beans" level="WARN" />
+ <logger name="org.springframework.web" level="WARN" />
+ <logger name="com.blog.spring.jms" level="WARN" />
+ <!-- AJSC Services (bootstrap services) -->
+ <logger name="ajsc" level="WARN" />
+ <logger name="ajsc.RouteMgmtService" level="WARN" />
+ <logger name="ajsc.ComputeService" level="WARN" />
+ <logger name="ajsc.VandelayService" level="WARN" />
+ <logger name="ajsc.FilePersistenceService" level="WARN" />
+ <logger name="ajsc.UserDefinedJarService" level="WARN" />
+ <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+ <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+ <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+ logging) -->
+ <logger name="ajsc.utils" level="WARN" />
+ <logger name="ajsc.utils.DME2Helper" level="WARN" />
+ <logger name="ajsc.filters" level="WARN" />
+ <logger name="ajsc.beans.interceptors" level="WARN" />
+ <logger name="ajsc.restlet" level="WARN" />
+ <logger name="ajsc.servlet" level="WARN" />
+ <logger name="com.att" level="INFO" />
+ <logger name="com.att.ajsc.csi.logging" level="WARN" />
+ <logger name="com.att.ajsc.filemonitor" level="WARN" />
+ <!-- CRUD Service loggers -->
+ <logger name="org.openecomp.crud" level="INFO" />
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger name="net.sf" level="WARN" />
+ <logger name="org.apache" level="WARN" />
+ <logger name="org.apache.commons.httpclient" level="WARN" />
+ <logger name="org.apache.commons" level="WARN" />
+ <logger name="org.apache.coyote" level="WARN" />
+ <logger name="org.apache.jasper" level="WARN" />
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+ May aid in troubleshooting) -->
+ <logger name="org.apache.camel" level="WARN" />
+ <logger name="org.apache.cxf" level="WARN" />
+ <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+ <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+ <logger name="org.apache.cxf.service" level="WARN" />
+ <logger name="org.restlet" level="WARN" />
+ <logger name="org.apache.camel.component.restlet" level="WARN" />
+ <!-- logback internals logging -->
+ <logger name="ch.qos.logback.classic" level="WARN" />
+ <logger name="ch.qos.logback.core" level="WARN" />
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration>
diff --git a/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v11.json b/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v11.json
new file mode 100644
index 0000000000..8d00636d27
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v11.json
@@ -0,0 +1,6 @@
+{
+ "contains-other-v": "java.lang.String",
+ "delete-other-v": "java.lang.String",
+ "SVC-INFRA": "java.lang.String",
+ "prevent-delete": "java.lang.String"
+} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v12.json b/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v12.json
new file mode 100644
index 0000000000..8d00636d27
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v12.json
@@ -0,0 +1,6 @@
+{
+ "contains-other-v": "java.lang.String",
+ "delete-other-v": "java.lang.String",
+ "SVC-INFRA": "java.lang.String",
+ "prevent-delete": "java.lang.String"
+} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v13.json b/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v13.json
new file mode 100644
index 0000000000..8d00636d27
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v13.json
@@ -0,0 +1,6 @@
+{
+ "contains-other-v": "java.lang.String",
+ "delete-other-v": "java.lang.String",
+ "SVC-INFRA": "java.lang.String",
+ "prevent-delete": "java.lang.String"
+} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/templates/NOTES.txt b/kubernetes/aai/charts/gizmo/templates/NOTES.txt
new file mode 100644
index 0000000000..24371d08ab
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/aai/charts/gizmo/templates/configmap.yaml b/kubernetes/aai/charts/gizmo/templates/configmap.yaml
new file mode 100644
index 0000000000..b988d31fd9
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/templates/configmap.yaml
@@ -0,0 +1,45 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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.fullname" . }}-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/templates/deployment.yaml b/kubernetes/aai/charts/gizmo/templates/deployment.yaml
new file mode 100644
index 0000000000..80b5390d08
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/templates/deployment.yaml
@@ -0,0 +1,142 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/crud-service/config/
+ - name: KEY_STORE_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}-pass
+ key: KEY_STORE_PASSWORD
+ - name: KEY_MANAGER_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}-pass
+ key: KEY_MANAGER_PASSWORD
+ - name: SERVICE_BEANS
+ value: /opt/app/crud-service/dynamic/conf
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/crud-service/config/crud-api.properties
+ subPath: crud-api.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/crud-service/config/model/
+ name: {{ include "common.fullname" . }}-model-config
+ - mountPath: /opt/app/crud-service/config/auth
+ name: {{ include "common.fullname" . }}-auth-secret
+ - mountPath: /opt/app/crud-service/dynamic/conf/crud-beans.xml
+ name: {{ include "common.fullname" . }}-config
+ subPath: crud-beans.xml
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /opt/app/crud-api/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-logback-config
+ subPath: logback.xml
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /usr/share/filebeat/data
+ name: {{ include "common.fullname" . }}-data-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-data-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-auth-secret
+ secret:
+ secretName: {{ include "common.fullname" . }}-auth
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}-configmap
+ items:
+ - key: crud-api.properties
+ path: crud-api.properties
+ - key: crud-beans.xml
+ path: crud-beans.xml
+ - name: {{ include "common.fullname" . }}-logback-config
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ items:
+ - key: logback.xml
+ path: logback.xml
+ - name: {{ include "common.fullname" . }}-model-config
+ configMap:
+ name: {{ include "common.fullname" . }}-model-configmap
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/gizmo/templates/secrets.yaml b/kubernetes/aai/charts/gizmo/templates/secrets.yaml
new file mode 100644
index 0000000000..f5d8ec8ba5
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/templates/secrets.yaml
@@ -0,0 +1,41 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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.fullname" . }}-auth
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ (.Files.Glob "resources/config/auth/*").AsSecrets | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-pass
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ KEY_STORE_PASSWORD: {{ .Values.config.keyStorePassword | b64enc | quote }}
+ KEY_MANAGER_PASSWORD: {{ .Values.config.keyManagerPassword | b64enc | quote }} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/templates/service.yaml b/kubernetes/aai/charts/gizmo/templates/service.yaml
new file mode 100644
index 0000000000..f88a4e9533
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/templates/service.yaml
@@ -0,0 +1,40 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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: Service
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }} \ No newline at end of file
diff --git a/kubernetes/aai/charts/gizmo/values.yaml b/kubernetes/aai/charts/gizmo/values.yaml
new file mode 100644
index 0000000000..de842859fe
--- /dev/null
+++ b/kubernetes/aai/charts/gizmo/values.yaml
@@ -0,0 +1,60 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# 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:
+ nodePortPrefix: 302
+ loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# application image
+image: "onap/gizmo:1.1-STAGING-latest"
+
+# application configuration
+config:
+ keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+ keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: crud-service
+ internalPort: 9520
+ nodePort: 66
+
+ingress:
+ enabled: false
+
+resources: {} \ No newline at end of file
diff --git a/kubernetes/aai/requirements.yaml b/kubernetes/aai/requirements.yaml
new file mode 100644
index 0000000000..56029ab047
--- /dev/null
+++ b/kubernetes/aai/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/aai/resources/config/aai-data/environments/simpledemo.json b/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
index 7b299f7a39..9795975c16 100644
--- a/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
+++ b/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
@@ -33,16 +33,16 @@
"PROJECT_HOME": "/opt/app/aai-traversal",
"LOGROOT": "/opt/aai/logroot",
"JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
- "AAI_SERVER_URL_BASE": "https://aai-servicei.{{.Values.nsPrefix}}:8443/aai/",
- "AAI_SERVER_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/v11/",
- "AAI_GLOBAL_CALLBACK_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/",
+ "AAI_SERVER_URL_BASE": "https:/aai.{{.Release.Namespace}}:8443/aai/",
+ "AAI_SERVER_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/v11/",
+ "AAI_GLOBAL_CALLBACK_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/",
"AAI_TRUSTSTORE_FILENAME": "aai_keystore",
"AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
"AAI_KEYSTORE_FILENAME": "aai_keystore",
"AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
- "APPLICATION_SERVERS": "aai-service.{{.Values.nsPrefix}}",
+ "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}",
"AAI_DMAAP_PROTOCOL": "http",
- "AAI_DMAAP_HOST_PORT": "dmaap.{{.Values.nsPrefix}}:3904",
+ "AAI_DMAAP_HOST_PORT": "dmaap.{{.Release.Namespace}}:3904",
"AAI_DMAAP_TOPIC_NAME": "AAI-EVENT",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT",
@@ -54,11 +54,11 @@
"AAI_NOTIFICATION_CURRENT_VERSION": "v11",
"RESOURCE_VERSION_ENABLE_FLAG": "true",
"TXN_HBASE_TABLE_NAME": "aailogging.dev",
- "TXN_ZOOKEEPER_QUORUM": "hbase.{{.Values.nsPrefix}}",
+ "TXN_ZOOKEEPER_QUORUM": "aai-hbase.{{.Release.Namespace}}",
"TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181",
"TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1",
- "STORAGE_HOSTNAME": "hbase.{{.Values.nsPrefix}}",
+ "STORAGE_HOSTNAME": "aai-hbase.{{.Release.Namespace}}",
"STORAGE_HBASE_TABLE": "aaigraph.dev",
"STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"DB_CACHE_CLEAN_WAIT": "20",
@@ -85,16 +85,16 @@
"PROJECT_HOME": "/opt/app/aai-resources",
"LOGROOT": "/opt/aai/logroot",
"JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
- "AAI_SERVER_URL_BASE": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/",
- "AAI_SERVER_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/v11/",
- "AAI_GLOBAL_CALLBACK_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/",
+ "AAI_SERVER_URL_BASE": "https:/aai.{{.Release.Namespace}}:8443/aai/",
+ "AAI_SERVER_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/v11/",
+ "AAI_GLOBAL_CALLBACK_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/",
"AAI_TRUSTSTORE_FILENAME": "aai_keystore",
"AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
"AAI_KEYSTORE_FILENAME": "aai_keystore",
"AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
- "APPLICATION_SERVERS": "aai-service.{{.Values.nsPrefix}}",
+ "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}",
"AAI_DMAAP_PROTOCOL": "http",
- "AAI_DMAAP_HOST_PORT": "dmaap.{{.Values.nsPrefix}}:3904",
+ "AAI_DMAAP_HOST_PORT": "dmaap.{{.Release.Namespace}}:3904",
"AAI_DMAAP_TOPIC_NAME": "AAI-EVENT",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT",
@@ -106,11 +106,11 @@
"AAI_NOTIFICATION_CURRENT_VERSION": "v11",
"RESOURCE_VERSION_ENABLE_FLAG": "true",
"TXN_HBASE_TABLE_NAME": "aailogging.dev",
- "TXN_ZOOKEEPER_QUORUM": "hbase.{{.Values.nsPrefix}}",
+ "TXN_ZOOKEEPER_QUORUM": "aai-hbase.{{.Release.Namespace}}",
"TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181",
"TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1",
- "STORAGE_HOSTNAME": "hbase.{{.Values.nsPrefix}}",
+ "STORAGE_HOSTNAME": "aai-hbase.{{.Release.Namespace}}",
"STORAGE_HBASE_TABLE": "aaigraph.dev",
"STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"DB_CACHE_CLEAN_WAIT": "20",
diff --git a/kubernetes/aai/resources/config/haproxy/haproxy.cfg b/kubernetes/aai/resources/config/haproxy/haproxy.cfg
index 6e6f489470..b9721ae41a 100644
--- a/kubernetes/aai/resources/config/haproxy/haproxy.cfg
+++ b/kubernetes/aai/resources/config/haproxy/haproxy.cfg
@@ -95,7 +95,7 @@ backend IST_Default_8447
balance roundrobin
http-request set-header X-Forwarded-Port %[src_port]
http-response set-header Strict-Transport-Security max-age=16000000;\ includeSubDomains;\ preload;
- server aai-resources.{{.Values.nsPrefix}} aai-resources.{{.Values.nsPrefix}}:8447 port 8447 ssl verify none
+ server aai-resources.{{.Release.Namespace}} aai-resources.{{.Release.Namespace}}:8447 port 8447 ssl verify none
#######################
# BACKEND 8446#########
@@ -105,7 +105,7 @@ backend IST_AAI_8446
balance roundrobin
http-request set-header X-Forwarded-Port %[src_port]
http-response set-header Strict-Transport-Security max-age=16000000;\ includeSubDomains;\ preload;
- server aai-traversal.{{.Values.nsPrefix}} aai-traversal.{{.Values.nsPrefix}}:8446 port 8446 ssl verify none
+ server aai-traversal.{{.Release.Namespace}} aai-traversal.{{.Release.Namespace}}:8446 port 8446 ssl verify none
listen IST_AAI_STATS
mode http
@@ -118,4 +118,3 @@ listen IST_AAI_STATS
stats show-legends
stats show-desc IST AAI APPLICATION NODES
stats admin if TRUE
-
diff --git a/kubernetes/aai/resources/config/log/filebeat/filebeat.yml b/kubernetes/aai/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/aai/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/aai/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties b/kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties
deleted file mode 100644
index c19667ad3c..0000000000
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-# ElasticSearch Configuration
-
-es.cluster-name=ES_AAI
-es.ip-address=aai-elasticsearch.{{.Values.nsPrefix}}
-es.http-port=9200
diff --git a/kubernetes/aai/templates/aai-deployment.yaml b/kubernetes/aai/templates/aai-deployment.yaml
deleted file mode 100644
index 1b32463735..0000000000
--- a/kubernetes/aai/templates/aai-deployment.yaml
+++ /dev/null
@@ -1,83 +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.
-
-#{{ if not .Values.disableAaiAaiService }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-service
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.aaiServiceReplicas }}
- selector:
- matchLabels:
- app: aai-service
- template:
- metadata:
- labels:
- app: aai-service
- name: aai-service
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - aai-resources
- - --container-name
- - aai-traversal
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: aai-service-readiness
- containers:
- - name: aai-service
- image: "{{ .Values.image.aaiProxy }}:{{ .Values.image.aaiProxyVersion}}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /dev/log
- name: aai-service-log
- - mountPath: /usr/local/etc/haproxy/haproxy.cfg
- subPath: haproxy.cfg
- name: haproxy-cfg
- ports:
- - containerPort: 8080
- - containerPort: 8443
- readinessProbe:
- tcpSocket:
- port: 8443
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-service-log
- hostPath:
- path: "/dev/log"
- - name: haproxy-cfg
- configMap:
- name: aai-deployment-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/aai-resources-traversal-configmap.yaml b/kubernetes/aai/templates/aai-resources-traversal-configmap.yaml
deleted file mode 100644
index 32055c47c8..0000000000
--- a/kubernetes/aai/templates/aai-resources-traversal-configmap.yaml
+++ /dev/null
@@ -1,47 +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.
-
-#{{ if not .Values.disableAaiAaiResources }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-chef-config-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/aai-data/chef-config/dev/.knife/solo.rb").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-resources-environments-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/aai-data/environments/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-resources-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/resources/logback.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-traversal-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/traversal/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/all-services.yaml b/kubernetes/aai/templates/all-services.yaml
deleted file mode 100644
index 39739de723..0000000000
--- a/kubernetes/aai/templates/all-services.yaml
+++ /dev/null
@@ -1,191 +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.
-
-#{{ if not .Values.disableAaiHbase }}
-apiVersion: v1
-kind: Service
-metadata:
- name: hbase
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: hbase
-spec:
- ports:
- - name: "hbase-port-1"
- port: 2181
- - name: "hbase-port-2"
- port: 8080
- - name: "hbase-port-3"
- port: 8085
- - name: "hbase-port-4"
- port: 9090
- - name: "hbase-port-5"
- port: 16000
- - name: "hbase-port-6"
- port: 16010
- - name: "hbase-port-7"
- port: 16201
- selector:
- app: hbase
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiAaiService }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-service
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-service
-spec:
- ports:
- - name: "aai-service-port-8443"
- port: 8443
- targetPort: 8443
- nodePort: {{ .Values.nodePortPrefix }}33
- - name: "aai-service-port-8080"
- port: 8080
- targetPort: 8080
- nodePort: {{ .Values.nodePortPrefix }}32
- type: NodePort
- selector:
- app: aai-service
- clusterIP: {{ .Values.aaiServiceClusterIp }}
-#{{ end }}
-#{{ if not .Values.disableAaiModelLoaderService }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: model-loader-service
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: model-loader-service
-spec:
- ports:
- - name: "model-loader-service-port-8443"
- port: 8443
- nodePort: {{ .Values.nodePortPrefix }}29
- - name: "model-loader-service-port-8080"
- port: 8080
- nodePort: {{ .Values.nodePortPrefix }}10
- type: NodePort
- selector:
- app: model-loader-service
-#{{ end }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: gremlin
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: gremlin
-spec:
- ports:
- - name: "gremlin-port"
- port: 8182
- selector:
- app: gremlin
- clusterIP: None
-#{{ if not .Values.disableAaiElasticsearch }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-elasticsearch
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-elasticsearch
-spec:
- ports:
- - name: "aai-elasticsearch-port"
- port: 9200
- selector:
- app: aai-elasticsearch
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiSearchDataService }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: search-data-service
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: search-data-service
-spec:
- ports:
- - name: "search-data-service-port-9509"
- port: 9509
- selector:
- app: search-data-service
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiAaiTraversal }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-traversal
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-traversal
-spec:
- ports:
- - name: "aai-traversal-port-8446"
- port: 8446
- - name: aai-traversal-port-debug
- port: 5005
- selector:
- app: aai-traversal
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiAaiResources }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-resources
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-resources
-spec:
- ports:
- - name: "aai-resources-port-8447"
- port: 8447
- - name: aai-resources-port-debug
- port: 5005
- selector:
- app: aai-resources
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiSparkyBe }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sparky-be
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sparky-be
-spec:
- ports:
- - name: "sparky-be-port-9517"
- port: 9517
- selector:
- app: sparky-be
- clusterIP: None
-#{{ end }}
diff --git a/kubernetes/aai/templates/configmap.yaml b/kubernetes/aai/templates/configmap.yaml
new file mode 100644
index 0000000000..78235bcd4f
--- /dev/null
+++ b/kubernetes/aai/templates/configmap.yaml
@@ -0,0 +1,35 @@
+# this is a shared resource for subcharts
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-filebeat
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-deployment-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/haproxy/*").AsConfig . | indent 2 }}
+---
+# this is a shared resource for subcharts
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-chef-config
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aai-data/chef-config/dev/.knife/solo.rb").AsConfig . | indent 2 }}
+---
+# this is a shared resource for subcharts
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-resources-environments
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aai-data/environments/*").AsConfig . | indent 2 }}
+
diff --git a/kubernetes/aai/templates/data-router-configmap.yaml b/kubernetes/aai/templates/data-router-configmap.yaml
deleted file mode 100644
index 8c2d988e66..0000000000
--- a/kubernetes/aai/templates/data-router-configmap.yaml
+++ /dev/null
@@ -1,73 +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.
-
-#{{ if not .Values.disableAaiDataRouter }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-prop-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/data-router.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v8-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v8.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v9-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v9.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v10-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v10.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v11-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v11.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-data-router-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-dynamic-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/dynamic/routes/entity-event.route").AsConfig . | indent 2 }}
-{{ tpl (.Files.Glob "resources/config/data-router/dynamic/conf/entity-event-policy.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/data-router-deployment.yaml b/kubernetes/aai/templates/data-router-deployment.yaml
deleted file mode 100644
index b1cb834eeb..0000000000
--- a/kubernetes/aai/templates/data-router-deployment.yaml
+++ /dev/null
@@ -1,144 +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.
-
-#{{ if not .Values.disableAaiDataRouter }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-data-router
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.dataRouterReplicas }}
- selector:
- matchLabels:
- app: aai-data-router
- template:
- metadata:
- labels:
- app: aai-data-router
- name: aai-data-router
- spec:
- initContainers:
- - command:
- - /bin/sh
- - -c
- - |
- mkdir -p /logroot/data-router/logs
- chmod -R 777 /logroot/data-router/logs
- chown -R root:root /logroot
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- securityContext:
- privileged: true
- image: {{ .Values.image.es_bb }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: init-sysctl
- volumeMounts:
- - name: aai-data-router-logs
- mountPath: /logroot/
- containers:
- - name: aai-data-router
- image: "{{ .Values.image.dataRouterImage }}:{{ .Values.image.dataRouterVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: SERVICE_BEANS
- value: /opt/app/data-router/dynamic/conf
- - name: CONFIG_HOME
- value: /opt/app/data-router/config/
- - name: KEY_STORE_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- - name: DYNAMIC_ROUTES
- value: /opt/app/data-router/dynamic/routes
- - name: KEY_MANAGER_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- - name: PATH
- value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- - name: JAVA_HOME
- value: usr/lib/jvm/java-8-openjdk-amd64
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v8.xml
- subPath: aai_oxm_v8.xml
- name: aai-data-router-model-v8
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v9.xml
- subPath: aai_oxm_v9.xml
- name: aai-data-router-model-v9
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v10.xml
- subPath: aai_oxm_v10.xml
- name: aai-data-router-model-v10
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v11.xml
- subPath: aai_oxm_v11.xml
- name: aai-data-router-model-v11
- - mountPath: /opt/app/data-router/config/auth
- name: aai-data-router-auth
- - mountPath: /opt/app/data-router/config/data-router.properties
- name: aai-data-router-properties
- subPath: data-router.properties
- - mountPath: /opt/app/data-router/dynamic/routes/entity-event.route
- subPath: entity-event.route
- name: aai-data-router-dynamic-route
- - mountPath: /opt/app/data-router/dynamic/conf/entity-event-policy.xml
- subPath: entity-event-policy.xml
- name: aai-data-router-dynamic-policy
- - mountPath: /logs/
- name: aai-data-router-logs
- ports:
- - containerPort: 9502
- readinessProbe:
- tcpSocket:
- port: 9502
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-data-router-model-v8
- configMap:
- name: aai-data-router-model-v8-configmap
- - name: aai-data-router-model-v9
- configMap:
- name: aai-data-router-model-v9-configmap
- - name: aai-data-router-model-v10
- configMap:
- name: aai-data-router-model-v10-configmap
- - name: aai-data-router-model-v11
- configMap:
- name: aai-data-router-model-v11-configmap
- - name: aai-data-router-auth
- secret:
- secretName: aai-data-router-secret
- - name: aai-data-router-properties
- configMap:
- name: aai-data-router-prop-configmap
- - name: aai-data-router-dynamic-route
- configMap:
- name: aai-data-router-dynamic-configmap
- - name: aai-data-router-dynamic-policy
- configMap:
- name: aai-data-router-dynamic-configmap
- - name: aai-data-router-logs
- hostPath:
- path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/aai/data-router/logs
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
diff --git a/kubernetes/aai/templates/deployment.yaml b/kubernetes/aai/templates/deployment.yaml
new file mode 100644
index 0000000000..6216758749
--- /dev/null
+++ b/kubernetes/aai/templates/deployment.yaml
@@ -0,0 +1,86 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ name: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - aai-traversal
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /dev/log
+ name: aai-service-log
+ - mountPath: /usr/local/etc/haproxy/haproxy.cfg
+ subPath: haproxy.cfg
+ name: haproxy-cfg
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort2 }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort2 }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: aai-service-log
+ hostPath:
+ path: "/dev/log"
+ - name: haproxy-cfg
+ configMap:
+ name: aai-deployment-configmap
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/templates/elasticsearch-deployment.yaml b/kubernetes/aai/templates/elasticsearch-deployment.yaml
deleted file mode 100644
index a07db04566..0000000000
--- a/kubernetes/aai/templates/elasticsearch-deployment.yaml
+++ /dev/null
@@ -1,88 +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.
-
-#{{ if not .Values.disableAaiElasticsearch }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-elasticsearch
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.elasticsearchReplicas }}
- selector:
- matchLabels:
- app: aai-elasticsearch
- template:
- metadata:
- labels:
- app: aai-elasticsearch
- name: aai-elasticsearch
- spec:
- initContainers:
- - command:
- - /bin/sh
- - -c
- - |
- mkdir -p /logroot/elasticsearch/es-data
- chmod -R 777 /logroot/elasticsearch/es-data
- chown -R root:root /logroot
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- securityContext:
- privileged: true
- image: {{ .Values.image.es_bb }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: init-sysctl
- volumeMounts:
- - name: elasticsearch-data
- mountPath: /logroot/
- hostname: aai-elasticsearch
- containers:
- - name: aai-elasticsearch
- image: "{{ .Values.image.elasticsearchImage }}:{{ .Values.image.elasticsearchVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- ports:
- - containerPort: 9200
- readinessProbe:
- tcpSocket:
- port: 9200
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- - name: elasticsearch-config
- subPath: elasticsearch.yml
- mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
- - name: elasticsearch-data
- mountPath: /usr/share/elasticsearch/data
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: elasticsearch-config
- configMap:
- name: aai-elasticsearch-configmap
- - name: elasticsearch-data
- hostPath:
- path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/aai/elasticsearch/data
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
diff --git a/kubernetes/aai/templates/hbase-deployment.yaml b/kubernetes/aai/templates/hbase-deployment.yaml
deleted file mode 100644
index 62b017db29..0000000000
--- a/kubernetes/aai/templates/hbase-deployment.yaml
+++ /dev/null
@@ -1,66 +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.
-
-#{{ if not .Values.disableAaiHbase }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-hbase
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.hbaseReplicas }}
- selector:
- matchLabels:
- app: hbase
- template:
- metadata:
- labels:
- app: hbase
- name: aai-hbase
- spec:
- hostname: hbase
- containers:
- - name: hbase
- image: "{{ .Values.image.aaiHbaseImage }}:{{ .Values.image.aaiHbaseVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- ports:
- - containerPort: 2181
- - containerPort: 8080
- - containerPort: 8085
- - containerPort: 9090
- - containerPort: 16000
- - containerPort: 16010
- - containerPort: 16201
- readinessProbe:
- tcpSocket:
- port: 2181
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - name: hbase-data
- mountPath: /tmp
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- volumes:
- - name: hbase-data
- hostPath:
- path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/aai/hbase
- - name: localtime
- hostPath:
- path: /etc/localtime
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
diff --git a/kubernetes/aai/templates/modelloader-deployment-configmap.yaml b/kubernetes/aai/templates/modelloader-deployment-configmap.yaml
deleted file mode 100644
index 14d316c42b..0000000000
--- a/kubernetes/aai/templates/modelloader-deployment-configmap.yaml
+++ /dev/null
@@ -1,40 +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.
-
-#{{ if not .Values.disableAaiModelLoaderService }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-model-loader-prop-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/model-loader/appconfig/model-loader.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-model-loader-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/model-loader/appconfig/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-model-loader-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/model-loader/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/modelloader-deployment.yaml b/kubernetes/aai/templates/modelloader-deployment.yaml
deleted file mode 100644
index 33458c772a..0000000000
--- a/kubernetes/aai/templates/modelloader-deployment.yaml
+++ /dev/null
@@ -1,90 +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.
-
-#{{ if not .Values.disableAaiModelLoaderService }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-model-loader-service
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.modelLoaderReplicas }}
- selector:
- matchLabels:
- app: model-loader-service
- template:
- metadata:
- labels:
- app: model-loader-service
- name: aai-model-loader-service
- spec:
- containers:
- - name: model-loader-service
- image: "{{ .Values.image.modelLoaderImage }}:{{ .Values.image.modelLoaderVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CONFIG_HOME
- value: /opt/app/model-loader/config/
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/model-loader/config/model-loader.properties
- subPath: model-loader.properties
- name: aai-model-loader-prop-config
- - mountPath: /opt/app/model-loader/config/auth/
- name: aai-model-loader-auth-config
- - mountPath: /var/log/onap
- name: aai-model-loader-logs
- - mountPath: /opt/app/model-loader/bundleconfig/etc/logback.xml
- name: aai-model-loader-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 8080
- - containerPort: 8443
- - name: filebeat-onap-aai-model-loader
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-model-loader-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-model-loader-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-model-loader-prop-config
- configMap:
- name: aai-model-loader-prop-configmap
- - name: aai-model-loader-auth-config
- secret:
- secretName: aai-model-loader-secret
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-model-loader-logs
- emptyDir: {}
- - name: aai-model-loader-filebeat
- emptyDir: {}
- - name: aai-model-loader-log-conf
- configMap:
- name: aai-model-loader-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/search-data-service-configmap.yaml b/kubernetes/aai/templates/search-data-service-configmap.yaml
deleted file mode 100644
index 2094f605c2..0000000000
--- a/kubernetes/aai/templates/search-data-service-configmap.yaml
+++ /dev/null
@@ -1,48 +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.
-
-#{{ if not .Values.disableAaiSearchDataService }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-search-data-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-search-data-keystone-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/auth/tomcat_keystore").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-search-policy-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/auth/search_policy.json").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-search-data-service-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/search-data-service/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/search-data-service-deployment.yaml b/kubernetes/aai/templates/search-data-service-deployment.yaml
deleted file mode 100644
index 28cc4f3236..0000000000
--- a/kubernetes/aai/templates/search-data-service-deployment.yaml
+++ /dev/null
@@ -1,111 +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.
-
-#{{ if not .Values.disableAaiSearchDataService }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-search-data-service
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.searchDataServiceReplicas }}
- selector:
- matchLabels:
- app: search-data-service
- template:
- metadata:
- labels:
- app: search-data-service
- name: aai-search-data-service
- spec:
- containers:
- - name: search-data-service
- image: "{{ .Values.image.searchDataImage }}:{{ .Values.image.searchDataVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CONFIG_HOME
- value: /opt/app/search-data-service/config/
- - name: KEY_STORE_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- - name: KEY_MANAGER_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/search-data-service/config/filter-config.json
- subPath: filter-config.json
- name: aai-search-data-service-config
- - mountPath: /opt/app/search-data-service/config/elastic-search.properties
- subPath: elastic-search.properties
- name: aai-search-data-service-config
- - mountPath: /opt/app/search-data-service/config/analysis-config.json
- subPath: filter-config.json
- name: aai-search-data-service-config
- - mountPath: /opt/app/search-data-service/config/auth/tomcat_keystore
- subPath: tomcat_keystore
- name: aai-search-data-service-auth-config
- - mountPath: /opt/app/search-data-service/config/auth/search_policy.json
- subPath: search_policy.json
- name: aai-search-data-search-policy-config
- - mountPath: /var/log/onap
- name: aai-search-data-service-logs
- - mountPath: /opt/app/search-data-service/bundleconfig/etc/logback.xml
- name: aai-search-data-service-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 9509
- readinessProbe:
- tcpSocket:
- port: 9509
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-search
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-search-data-service-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-search-data-service-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-search-data-service-config
- configMap:
- name: aai-search-data-configmap
- - name: aai-search-data-service-auth-config
- secret:
- secretName: aai-search-data-keystone-secret
- - name: aai-search-data-search-policy-config
- configMap:
- name: aai-search-policy-configmap
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-search-data-service-logs
- emptyDir: {}
- - name: aai-search-data-service-filebeat
- emptyDir: {}
- - name: aai-search-data-service-log-conf
- configMap:
- name: aai-search-data-service-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/service.yaml b/kubernetes/aai/templates/service.yaml
new file mode 100644
index 0000000000..d21ac7ed87
--- /dev/null
+++ b/kubernetes/aai/templates/service.yaml
@@ -0,0 +1,33 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - name: {{ .Values.service.name }}
+ port: {{ .Values.service.internalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ - name: {{ .Values.service.name }}2
+ port: {{ .Values.service.internalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ type: {{ .Values.service.type }}
+ selector:
+ app: {{ include "common.name" . }}
+ clusterIP: {{ .Values.config.aaiServiceClusterIp }}
diff --git a/kubernetes/aai/templates/sparky-be-deployment-configmap.yaml b/kubernetes/aai/templates/sparky-be-deployment-configmap.yaml
deleted file mode 100644
index 39c6138db3..0000000000
--- a/kubernetes/aai/templates/sparky-be-deployment-configmap.yaml
+++ /dev/null
@@ -1,56 +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.
-
-#{{ if not .Values.disableAaiSparkyBe }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-model-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/model/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-portal-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/portal/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-sparky-be-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/sparky-be/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/sparky-be-deployment.yaml b/kubernetes/aai/templates/sparky-be-deployment.yaml
deleted file mode 100644
index 4b3196910e..0000000000
--- a/kubernetes/aai/templates/sparky-be-deployment.yaml
+++ /dev/null
@@ -1,123 +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.
-
-#{{ if not .Values.disableAaiSparkyBe }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-sparky-be
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.sparkyReplicas }}
- selector:
- matchLabels:
- app: sparky-be
- template:
- metadata:
- labels:
- app: sparky-be
- name: aai-sparky-be
- spec:
- containers:
- - name: sparky-be
- image: "{{ .Values.image.sparkyBeImage }}:{{ .Values.image.sparkyBeVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CONFIG_HOME
- value: /opt/app/sparky/config/
- - name: KEY_MANAGER_PASSWORD
- value: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
- - name: KEY_STORE_PASSWORD
- value: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/sparky/config/auth/
- name: aai-sparky-be-auth-config
- - mountPath: /opt/app/sparky/config/synchronizer.properties
- subPath: synchronizer.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/suggestive-search.properties
- subPath: suggestive-search.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/search-service.properties
- subPath: search-service.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/roles.config
- subPath: roles.config
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/elasticsearch.properties
- subPath: elasticsearch.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/aai.properties
- subPath: aai.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/model/
- name: aai-sparky-be-model-config
- - mountPath: /opt/app/sparky/config/portal/
- name: aai-sparky-be-portal-config
- - mountPath: /var/log/onap
- name: aai-sparky-be-logs
- - mountPath: /opt/app/sparky/bundleconfig/etc/logback.xml
- name: aai-sparky-be-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 9517
- readinessProbe:
- tcpSocket:
- port: 9517
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-sparky
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-sparky-be-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-sparky-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-sparky-be-config
- configMap:
- name: aai-sparky-be-configmap
- - name: aai-sparky-be-model-config
- configMap:
- name: aai-sparky-be-model-configmap
- - name: aai-sparky-be-portal-config
- configMap:
- name: aai-sparky-be-portal-configmap
- - name: aai-sparky-be-auth-config
- secret:
- secretName: aai-sparky-be-secret
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-sparky-be-logs
- emptyDir: {}
- - name: aai-sparky-filebeat
- emptyDir: {}
- - name: aai-sparky-be-log-conf
- configMap:
- name: aai-sparky-be-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml
index e283cb6f2e..b06456800a 100644
--- a/kubernetes/aai/values.yaml
+++ b/kubernetes/aai/values.yaml
@@ -12,65 +12,84 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-nsPrefix: onap
+# Default values for aai.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repository: nexus3.onap.org:10001
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ dockerhubRepository: docker.io
+ busyboxImage: busybox
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+ restartPolicy: Always
+
+# application image
+dockerhubRepository: registry.hub.docker.com
+image: aaionap/haproxy:1.1.0
pullPolicy: Always
-nodePortPrefix: 302
-# POLICY hotfix - Note this must be temporary
-# See https://jira.onap.org/browse/POLICY-510
-aaiServiceClusterIp: 10.43.255.254
-aaiServiceReplicas: 1
-aaiResourceReplicas: 1
-aaiTraversalReplicas: 1
-dataRouterReplicas: 1
-elasticsearchReplicas: 1
-hbaseReplicas: 1
-modelLoaderReplicas: 1
-searchDataServiceReplicas: 1
-sparkyReplicas: 1
-image:
- readiness: oomk8s/readiness-check:1.1.0
- aaiProxy: aaionap/haproxy
- aaiProxyVersion: 1.1.0
- aaiHbaseImage: aaionap/hbase
- aaiHbaseVersion: 1.2.0
- modelLoaderImage: nexus3.onap.org:10001/onap/model-loader
- modelLoaderVersion: v1.1.0
- aaiResourcesImage: nexus3.onap.org:10001/openecomp/aai-resources
- aaiResourcesVersion: v1.1.0
- aaiTraversalImage: nexus3.onap.org:10001/openecomp/aai-traversal
- aaiTraversalVersion: v1.1.0
- dataRouterImage: nexus3.onap.org:10001/onap/data-router
- dataRouterVersion: v1.1.0
- elasticsearchImage: elasticsearch
- elasticsearchVersion: 2.4.1
- searchDataImage: nexus3.onap.org:10001/onap/search-data-service
- searchDataVersion: v1.1.0
- sparkyBeImage: nexus3.onap.org:10001/onap/sparky-be
- sparkyBeVersion: v1.1.0
- gremlinServerImage: aaionap/gremlin-server
- filebeat: docker.elastic.co/beats/filebeat:5.5.0
- es_bb: busybox
-aaicoreversion: 1.1.0-SNAPSHOT
-persistence:
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ # POLICY hotfix - Note this must be temporary
+ # See https://jira.onap.org/browse/POLICY-510
+ aaiServiceClusterIp:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
enabled: true
-
- ## A manually managed Persistent Volume and Claim
- ## Requires persistence.enabled: true
- ## If defined, PVC must be created manually before volume will be bound
- # existingClaim:
- volumeReclaimPolicy: Retain
- ## database data Persistent Volume Storage Class
- ## If defined, storageClassName: <storageClass>
- ## If set to "-", storageClassName: "", which disables dynamic provisioning
- ## If undefined (the default) or set to null, no storageClassName spec is
- ## set, choosing the default provisioner. (gp2 on AWS, standard on
- ## GKE, AWS & OpenStack)
- ##
- # storageClass: "-"
- accessMode: ReadWriteMany
- size: 2Gi
- mountPath: /dockerdata-nfs
- mountSubPath: aai/data-router/logs
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: aai
+ externalPort: 8080
+ internalPort: 8080
+ nodePort: 32
+ externalPort2: 8443
+ internalPort2: 8443
+ nodePort2: 33
+
+ingress:
+ enabled: false
+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:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi