Move xos-db into it's own chart
Have it issue it's own PersistentVolumeClaim if required
Change-Id: I408559b2cf4481e011e47c310147fd36c8c284bc
diff --git a/.gitignore b/.gitignore
index f3aef51..54a5d81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,4 @@
xos-core/charts
voltha/charts
xos-core/charts
-xos-profiles/rcord-lite/charts
-xos-profiles/mcord/charts
-xos-profiles/base-openstack/charts
-xos-profiles/container-vnf/charts
+xos-profiles/*/charts
diff --git a/xos-core/requirements.yaml b/xos-core/requirements.yaml
index 05b5a9e..62de4ca 100644
--- a/xos-core/requirements.yaml
+++ b/xos-core/requirements.yaml
@@ -14,6 +14,9 @@
# limitations under the License.
dependencies:
+- name: xos-db
+ version: 0.1.0-dev0
+ repository: file://../xos-db
- name: xos-gui
version: 1.0.1
repository: file://../xos-gui
diff --git a/xos-core/values.yaml b/xos-core/values.yaml
index c6e5105..98b372f 100644
--- a/xos-core/values.yaml
+++ b/xos-core/values.yaml
@@ -18,10 +18,6 @@
imagePullPolicy: 'Always'
-dbPvClaimName: db-pv-claim
-
-needDBPersistence: false
-
# Docker images
# YAML variable names can't contain `-`, so substituted with `_`
xos_coreImage: 'xosproject/xos-core:{{ .Chart.Version }}'
@@ -29,7 +25,6 @@
xos_toscaImage: 'xosproject/xos-tosca:1.0.1'
xos_api_testerImage: 'xosproject/xos-api-tester:2.0.1'
-postgresImage: 'postgres:10.3-alpine'
nodeImage: 'node:7.9.0'
redisImage: 'redis:3.2'
@@ -46,11 +41,16 @@
# CORD site names
cordSiteName: mysite
-# Database name/username/password
+# Database name/username/password for XOS and the xos-db subchart
xosDBName: 'xos'
xosDBUser: 'postgres'
xosDBPassword: 'password'
+xos-db:
+ xosDBName: 'xos'
+ xosDBUser: 'postgres'
+ xosDBPassword: 'password'
+
ca_cert_chain: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYyakNDQThLZ0F3SUJBZ0lDRUFBd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z1lreEN6QUpCZ05WQkFZVEFsVlQKTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saE1STXdFUVlEVlFRSERBcE5aVzVzYnlCUVlYSnJNUTh3RFFZRApWUVFLREFaUFRpNU1ZV0l4R0RBV0JnTlZCQXNNRDFSbGMzUWdSR1Z3Ykc5NWJXVnVkREVsTUNNR0ExVUVBd3djClEwOVNSQ0JVWlhOMElFUmxjR3h2ZVcxbGJuUWdVbTl2ZENCRFFUQWVGdzB4TnpFeU1UUXdNRFE1TUROYUZ3MHgKT1RFeU1UUXdNRFE1TUROYU1HNHhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUTh3RFFZRFZRUUtEQVpQVGk1TVlXSXhHREFXQmdOVkJBc01EMVJsYzNRZ1JHVndiRzk1YldWdWRERWZNQjBHCkExVUVBd3dXVFhsVGFYUmxJRWx1ZEdWeWJXVmthV0YwWlNCRFFUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFPTDVRT0l5YmpJRXRjVkY3Y2hRV3c0Q3Z1QkhCVGpCSmMxcEh3SjRDSzlsYm04RgpJMXNFbW1pd20yTWtJRG9WQ2lBQk5ld1JtVTRTcU4wUG5QOWlGNjV2NlpTbHlXT25hVHF1SitTck9tM1F6MHZmCkZuSHZmWkZycC9BU3FhUlBxQVUrVlR3dTVsb2VHcEZIS3F1MXhxZUpQNWlSaVdTS3hWdk1XeS9TUnhsU0FudVkKTG84WkRrWllpdWZYY1dJaEMzWGdXb081ckVuZVcxS1FXdWdnU1l1dUFPMDJkV2hPQklJTlJPQTZSdUdWdWw0Uwo1S1oxTE5tclAyS2c1a0JoaG1xclhLZWJudzdkZTg2emthV0RlcG1LajZiUWtiRGNWYTJXdU1mTS9Yd0dqd0d3CkwwT2RRRzB3dzFhMFdYTi9NMU5WVnBManNFTDZ2U0Q0UlR0RlZYZWFPRkZ3VGphUXpVSGgxUHdsRkI1S25nM0oKcXBnNzdRdXUvVFdvcHI5ZXBPNk1oZ25KSmliSzB3MzZvaUt1YUJiMGt4TjlKOHVQbERiWlpuRm1NYk9jYjVNOQpzU1A0cTJ3ODJuYkdmRm0rZFR6OU9Ddi9aUWc3Nm5XTk8vVWFEMFR6c25zZjBMZ3dXL1dqR3pEd0w3Rk0vTXRoCnI2eUQ5dVRiRnR1TzdGbGp4NUZMZ2thc200bzRQbzBsR3RFMCtWUXg5bTRiN014R1RITThBcm1ES1lzTTJTeXUKdG5ZeXBHQjE4T0c2NENrTEhzejJkU2dhb1BVVDY1MW9UbnRTZDZMU2hGazR1VVpxVjdrYnBzSGRhK2s0UlgwNApSejI3RUcwQ0V3R0RDYnhVTnJCcVlTZzdZNENJSklodnB1Mm8vSGNsREsxV09tZGYrL3h2M0M0RHBYb1RBZ01CCkFBR2paakJrTUIwR0ExVWREZ1FXQkJSWis4akR3eVRORzdzMVAzdElEY2Q0RXFCbnZEQWZCZ05WSFNNRUdEQVcKZ0JUVFVvazdCSzZnVHZ2cjFnUkJxUyswdDBjanNUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUJoakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBemU1NlZGTjRJRkdQaVk4ZHZkL1pscCtxCjMvSENUdDFJemE5cFlhTi9KY2U3b1hlOVRNZDJWWXJ5VmdWZVc1aWJ5eDdQVGhINFBDMHRrMUZFeUNoZFZHV0IKclRrSGE4T25vQ0lqdVFDS3FPV1hPRkNMMkQyaEwxTjRFNHYyeW02UmpNeWVMRDgvQW8wUGUvYkFyUGVkZHV6WgplY21MdTFLN2Q2Y3RPbmV6cXJwRm1YemN2WDVVUFFyVlppWHFGcHVxRzl1TWQrTkVMTWFTMC85K3NwUlF6VE5WClg4RStET1RsbVU5eTVxMHNiR0ZscFV0a0JuVnJ4cllQV2tLMnRWK2phOGpLSitiZFJuNktSZzIyZjkyTndleFMKK1BlUWI0bzltOG9jSnVFanpnczZDbjM3L3FIWXc1YXVjdkJBUU4yYk85NXArN2k0WGh2OVo3UjRGcFE3amY2QgpSV3NSc3dvclpTZWo3N1Fva0JqQ1VZVzVnK2xObHh1UjRacks5VjMxVC9USkkrSHB5YjJYSVFWYUJxbkF3bGRxCnlsNGZMN3dibTg1blQ4Q29tZ1prRWZzMEd3T2FHOFhWdEFROTJGQ3p5bFdKcXpYaEVNbElzdlNqVCs5ZU5FZzIKM0Vnc24xendRdU14aWRpQk5DaThyT3c3UlNBN0UzM1l6TTBMQk5pRWJSS012YWVKbm1sUU5tZGh5YmJXYUpwQwp6R1hYd1lMRkhjK3FsUGsvMFdodVJvNVVKRUx5REJ0ai9HK0U2OFhLdm1iSUZMdjdJNmN0S2Z3RHhZNVFXajJvCmF0NDlsS3dWMS9jUSt0d3B1Ym1NcmtYUzlwaExhVHBvTFNiOVRFUDZTWmVqNVgzQVB2aUVzZkltUjlLQ0MwSHMKRzBnL0pVTkgyVWJWbU5pZld2bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRitqQ0NBK0tnQXdJQkFnSUpBSnhvbU5IbkovTXRNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1JR0pNUXN3Q1FZRApWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVUTUJFR0ExVUVCd3dLVFdWdWJHOGdVR0Z5CmF6RVBNQTBHQTFVRUNnd0dUMDR1VEdGaU1SZ3dGZ1lEVlFRTERBOVVaWE4wSUVSbGNHeHZlVzFsYm5ReEpUQWoKQmdOVkJBTU1IRU5QVWtRZ1ZHVnpkQ0JFWlhCc2IzbHRaVzUwSUZKdmIzUWdRMEV3SGhjTk1UY3hNakUwTURBMApPRFUzV2hjTk1qY3hNakV5TURBME9EVTNXakNCaVRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ01Da05oCmJHbG1iM0p1YVdFeEV6QVJCZ05WQkFjTUNrMWxibXh2SUZCaGNtc3hEekFOQmdOVkJBb01CazlPTGt4aFlqRVkKTUJZR0ExVUVDd3dQVkdWemRDQkVaWEJzYjNsdFpXNTBNU1V3SXdZRFZRUUREQnhEVDFKRUlGUmxjM1FnUkdWdwpiRzk1YldWdWRDQlNiMjkwSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBCjBQMWNhZTluQThEYUdBMEM3L0pnbk0zWCtJdk1rMlVaem1hdHJuL1FhVTZhWWZZbWNRTW5LOGZYbDBoTmg0cVQKZVc1QlVFeUE5Q1I3Q0lXSDh1ZVkvWnBFaDJ2SHB1U0hBWk1YcFdjOWtNYmRCUHVYQlpNTFZXRjFpYXhYdm9TcgpocGNLNmxzRFd3a3JrT2IvbjVHTUpPR1VDYk5aalBUdjJLMkt3UW1kTE1FQmg3S29CT1k1SVNoL1lFL3AyNExGCmhCVVAxTEJ5dXBSUExEdkJhazkrc3h0NVpyM3BtRDh1clpuekNGMnVQZ09rWFJNRStRM081Rmg5eU91TzNDYXkKazNhQnlWRmhJMnRjdUdFTXFodmNoeU9QaDhPNEFXb2xJbnVyWFRCNWpqcHNVSlFlWlBZLzFuaHAxU1VOckNnKwpFbnlvclBtVW5JL1BqWW9SV1E3U1htcWRKanFKVm5XZUZ5eThXeU8xeGl2QTVsTzFrZVRlbFVvWnhxSUlieUtiCjVKcEdNMnFUaTR3dlo1cXdHL1Z2emUzN0cwOUk5bjBlZ1FsdDBrRmI3N2Z4TVRyYzZIKzV0ZkNOZVBWZ0FYajIKalJ1bnBFTDhsS1ZOdHJqVEQ5aEQ4Mm10a3FPcVFZZ29jWDRldXVNQWFNSE5QMzdmWWpvNjBEQXRUNzNPRnNMNApnRGc0ZnlOaG4rQmdKK2pkU2IxNGRpT2lxRG0zcnYrZDhZeWpCd0p6dXJyOXhnMU5zQnI1ZjVZNTgzbDN5UElyCnVSOEV5UzBuNjNIMG4wWkUvT1VuV253dzZGTWVCNXZBc2ZUVDlxZlJhQ1QvUXZTcmFzSVJwd2pCRzFBZ3FlWUUKT3R6QzE3WXQzckx0K3NhU1VyVTI4dnZJelREL2UrS3QxV0RBdHllRWRuVUNBd0VBQWFOak1HRXdIUVlEVlIwTwpCQllFRk5OU2lUc0VycUJPKyt2V0JFR3BMN1MzUnlPeE1COEdBMVVkSXdRWU1CYUFGTk5TaVRzRXJxQk8rK3ZXCkJFR3BMN1MzUnlPeE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0dHTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQ0FRQTNMWkFoSGVHTnZtMVZaSG1xMUkySU5JVGxnZXg0bldZMy90Y3VCUXpDN1RpbgpJNk1rdWVTVUdoN3JSMWJ6Q1UyUlpvd2E1aGkyQzRVSEJYcWR2cDRoRnNoL2MvV0VEVmtNbWttWS9lTERJVjZDClVXUGpYaXRmeDlrWkh4eWZJbEVNc3JuS3lmTFRDK0E3ZkxOQWhocE1OZHFFZlB3UG9GbTFzbGVuSG54NU9PMWkKY2NZUVc4d2tIS1pCQzdhUElZbXdiSEFIWGpPeGFmYkpKUmFRQ2hhTURHdmt0b0NwaVdzWWxydWx0SHRYRU1tQgpuVWliM0k3VFhFekNBdFVONDN4a1MwY21ZWXZkK3I4M24vSEZLWk5VeHl5NXRXZUJZWE0xWVFiQTBGTU1qQnhYClg5ZGppYkxVTC9oenJ3ZkFLa1dPMFRQMWxrV1cwTkh5d3BySVdtWmVUVWJJb3dVWFRpSFdYMzk3a241QTRMMngKZHFhQS94TFEvMjd4VUJnUmJZZ1J0eVY4eWJWQWdUNEdKbyswY1NvR1EycTdMVzVidWxUMjM1ZjZqSEM5b0xHTwo2UDVwenYrZWozS1BSdWZDVlJMMHk4WjlHYlAzZmVxejQ0bHNXRWg3N056UWdSaVdaYUMxdFFaYjFKWitmam5ECnVHZlJNM085WW9Lb0tKMHo1VW5WVk13TDl0K0JFbVp5TGNvYzRoVVgzTDJjT1VpM0VaaC9jeTEvREpGODg0UDcKQlgyY0lWcWM4ZU1rL1ZYbE5CY1d3RlpzVGM4Vk56SUprbExKYlJuOERQWmhxWHNlYjBCZXNlU1B6M0EvKzh4TApCZTJzbFBPK01KWVdLSGZPKzNvZmNibUFpUnMvNTkxOVpiMy9rVyt4c3ROQ1V3b0pBeTk1bXF2Ukg4TFo0Zz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
secrets:
diff --git a/local-persistent-volume/templates/persistent_volume_claim.yaml b/xos-db/Chart.yaml
similarity index 72%
rename from local-persistent-volume/templates/persistent_volume_claim.yaml
rename to xos-db/Chart.yaml
index 35af447..677cbc9 100644
--- a/local-persistent-volume/templates/persistent_volume_claim.yaml
+++ b/xos-db/Chart.yaml
@@ -13,15 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: {{ .Values.pvClaimName }}
-spec:
- accessModes:
- - ReadWriteOnce
- storageClassName: {{ .Values.storageClassName }}
- resources:
- requests:
- storage: 1Gi
-
+name: xos-db
+version: 0.1.0-dev0
diff --git a/xos-db/templates/_helpers.tpl b/xos-db/templates/_helpers.tpl
new file mode 100644
index 0000000..ad2a2b5
--- /dev/null
+++ b/xos-db/templates/_helpers.tpl
@@ -0,0 +1,24 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/ -}}
+
+{{- define "xos-db.release_labels" }}
+app: {{ printf "%s-%s" .Release.Name .Chart.Name | trunc 63 }}
+chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+release: {{ .Release.Name }}
+heritage: {{ .Release.Service }}
+version: {{ .Chart.Version }}
+{{- end }}
+
diff --git a/xos-db/templates/_persist.tpl b/xos-db/templates/_persist.tpl
new file mode 100644
index 0000000..ee6fb9b
--- /dev/null
+++ b/xos-db/templates/_persist.tpl
@@ -0,0 +1,30 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/ -}}
+{{- define "xos-db.persistent-volume-claim" }}
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ .Values.pvClaimName }}
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: {{ .Values.storageClassName }}
+ resources:
+ requests:
+ storage: 1Gi
+{{- end }}
+
diff --git a/xos-core/templates/db-deployment.yaml b/xos-db/templates/db-deployment.yaml
similarity index 91%
rename from xos-core/templates/db-deployment.yaml
rename to xos-db/templates/db-deployment.yaml
index d2cb923..a3d3e91 100644
--- a/xos-core/templates/db-deployment.yaml
+++ b/xos-db/templates/db-deployment.yaml
@@ -45,12 +45,13 @@
key: password
- name: PGDATA
value: "/var/lib/postgresql/data/pgdata"
- {{- if .Values.needDBPersistence }}
+{{- if .Values.needDBPersistence }}
volumeMounts:
- name: db-pv-storage
mountPath: "/var/lib/postgresql/data"
volumes:
- name: db-pv-storage
persistentVolumeClaim:
- claimName: {{ .Values.dbPvClaimName }}
- {{- end }}
+ claimName: {{ .Values.pvClaimName }}
+{{- include "xos-db.persistent-volume-claim" . }}
+{{- end }}
diff --git a/xos-core/templates/db-secrets.yaml b/xos-db/templates/db-secrets.yaml
similarity index 100%
rename from xos-core/templates/db-secrets.yaml
rename to xos-db/templates/db-secrets.yaml
diff --git a/xos-core/templates/db-service.yaml b/xos-db/templates/db-service.yaml
similarity index 92%
rename from xos-core/templates/db-service.yaml
rename to xos-db/templates/db-service.yaml
index 3a71aaa..fe8f3b7 100644
--- a/xos-core/templates/db-service.yaml
+++ b/xos-db/templates/db-service.yaml
@@ -18,7 +18,7 @@
metadata:
name: "xos-db"
labels:
- {{- include "xos-core.release_labels" . | indent 4 }}
+ {{- include "xos-db.release_labels" . | indent 4 }}
spec:
type: ClusterIP
selector:
diff --git a/local-persistent-volume/templates/persistent_volume_claim.yaml b/xos-db/values.yaml
similarity index 64%
copy from local-persistent-volume/templates/persistent_volume_claim.yaml
copy to xos-db/values.yaml
index 35af447..35e2ca7 100644
--- a/local-persistent-volume/templates/persistent_volume_claim.yaml
+++ b/xos-db/values.yaml
@@ -13,15 +13,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: {{ .Values.pvClaimName }}
-spec:
- accessModes:
- - ReadWriteOnce
- storageClassName: {{ .Values.storageClassName }}
- resources:
- requests:
- storage: 1Gi
+# XOS Postgres database related values
+
+imagePullPolicy: 'Always'
+postgresImage: 'postgres:10.3-alpine'
+
+# Database name/username/password
+xosDBName: 'xos'
+xosDBUser: 'postgres'
+xosDBPassword: 'password'
+
+# DB persistence related vars
+needDBPersistence: false
+storageClassName: cord-block
+pvClaimName: xosdb-pv-claim