summaryrefslogtreecommitdiffstats
path: root/kubernetes/clamp/charts
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/clamp/charts')
-rw-r--r--kubernetes/clamp/charts/mariadb/Chart.yaml4
-rw-r--r--kubernetes/clamp/charts/mariadb/NOTES.txt19
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf194
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql192
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql449
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql33
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh28
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/configmap.yaml33
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/deployment.yaml94
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/pv.yaml21
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/pvc.yaml32
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/secrets.yaml13
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/service.yaml24
-rw-r--r--kubernetes/clamp/charts/mariadb/values.yaml91
14 files changed, 1227 insertions, 0 deletions
diff --git a/kubernetes/clamp/charts/mariadb/Chart.yaml b/kubernetes/clamp/charts/mariadb/Chart.yaml
new file mode 100644
index 0000000000..da9cab3175
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: MariaDB Service
+name: mariadb
+version: 2.0.0
diff --git a/kubernetes/clamp/charts/mariadb/NOTES.txt b/kubernetes/clamp/charts/mariadb/NOTES.txt
new file mode 100644
index 0000000000..91d8ed42f1
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/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 {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.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.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -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 {{ include "common.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/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf
new file mode 100644
index 0000000000..0be1bd7aa3
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf
@@ -0,0 +1,194 @@
+# Example MySQL config file for medium systems.
+#
+# This is for a system with memory 8G where MySQL plays
+# an important part, or systems up to 128M where MySQL is used together with
+# other programs (such as a web server)
+#
+# In this file, you can use all long options that a program supports.
+# If you want to know which options a program supports, run the program
+# with the "--help" option.
+
+# The following options will be passed to all MySQL clients
+##[client]
+##user = root
+##port = 3306
+##socket = //opt/app/mysql/mysql.sock
+
+# Here follows entries for some specific programs
+
+# The MySQL server
+[mysqld]
+##performance_schema
+
+slow_query_log =ON
+long_query_time =2
+slow_query_log_file =//var/lib/mysql/slow_query.log
+##basedir = //opt/app/mysql/product/mariadb-10.1.11-linux-x86_64
+##datadir = //opt/app/mysql/data
+##port = 3306
+##socket = //opt/app/mysql/mysql.sock
+skip-external-locking
+explicit_defaults_for_timestamp = true
+skip-symbolic-links
+local-infile = 0
+#ignore_db_dir=lost+found
+key_buffer_size = 16M
+max_allowed_packet = 4M
+table_open_cache = 100
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+max_connections = 500
+lower_case_table_names = 1
+thread_stack = 256K
+thread_cache_size = 25
+query_cache_size = 8M
+query_cache_type = 0
+query_prealloc_size = 512K
+query_cache_limit = 1M
+
+# Password validation
+##plugin-load-add=simple_password_check.so
+##simple_password_check_other_characters=0
+
+# Audit Log settings
+plugin-load-add=server_audit.so
+server_audit=FORCE_PLUS_PERMANENT
+server_audit_file_path=//var/lib/mysql/audit.log
+server_audit_file_rotate_size=50M
+server_audit_events=CONNECT,QUERY,TABLE
+server_audit_logging=on
+
+# Don't listen on a TCP/IP port at all. This can be a security enhancement,
+# if all processes that need to connect to mysqld run on the same host.
+# All interaction with mysqld must be made via Unix sockets or named pipes.
+# Note that using this option without enabling named pipes on Windows
+# (via the "enable-named-pipe" option) will render mysqld useless!
+#
+#skip-networking
+
+# Replication Master Server (default)
+# binary logging is required for replication
+##log-bin=//var/lib/mysql/mysql-bin
+
+# binary logging format - mixed recommended
+binlog_format=row
+
+# required unique id between 1 and 2^32 - 1
+# defaults to 1 if master-host is not set
+# but will not function as a master if omitted
+
+# Replication Slave (comment out master section to use this)
+#
+# To configure this host as a replication slave, you can choose between
+# two methods :
+#
+# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
+# the syntax is:
+#
+# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
+# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
+#
+# where you replace <host>, <user>, <password> by quoted strings and
+# <port> by the master's port number (3306 by default).
+#
+# Example:
+#
+# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
+# MASTER_USER='joe', MASTER_PASSWORD='secret';
+#
+# OR
+#
+# 2) Set the variables below. However, in case you choose this method, then
+# start replication for the first time (even unsuccessfully, for example
+# if you mistyped the password in master-password and the slave fails to
+# connect), the slave will create a master.info file, and any later
+# change in this file to the variables' values below will be ignored and
+# overridden by the content of the master.info file, unless you shutdown
+# the slave server, delete master.info and restart the slaver server.
+# For that reason, you may want to leave the lines below untouched
+# (commented) and instead use CHANGE MASTER TO (see above)
+#
+# required unique id between 2 and 2^32 - 1
+# (and different from the master)
+# defaults to 2 if master-host is set
+# but will not function as a slave if omitted
+#server-id = 2
+#
+# The replication master for this slave - required
+#master-host = <hostname>
+#
+# The username the slave will use for authentication when connecting
+# to the master - required
+#master-user = <username>
+#
+# The password the slave will authenticate with when connecting to
+# the master - required
+#master-password = <password>
+#
+# The port the master is listening on.
+# optional - defaults to 3306
+#master-port = <port>
+#
+# binary logging - not required for slaves, but recommended
+#log-bin=mysql-bin
+
+# Uncomment the following if you are using InnoDB tables
+##innodb_data_home_dir = //opt/app/mysql/data
+##innodb_data_file_path = ibdata1:20M:autoextend:max:32G
+##innodb_log_group_home_dir = //opt/app/mysql/iblogs
+# You can set .._buffer_pool_size up to 50 - 80 %
+# of RAM but beware of setting memory usage too high
+innodb_buffer_pool_size = 6380M
+#innodb_additional_mem_pool_size = 2M
+# Set .._log_file_size to 25 % of buffer pool size
+innodb_log_file_size = 150M
+innodb_log_files_in_group = 3
+innodb_log_buffer_size = 8M
+#innodb_flush_log_at_trx_commit = 1
+innodb_lock_wait_timeout = 50
+innodb_autoextend_increment = 100
+expire_logs_days = 8
+open_files_limit = 2000
+transaction-isolation=READ-COMMITTED
+####### Galera parameters #######
+## Galera Provider configuration
+wsrep_provider=/usr/lib/galera/libgalera_smm.so
+wsrep_provider_options="gcache.size=2G; gcache.page_size=1G"
+## Galera Cluster configuration
+wsrep_cluster_name="MSO-automated-tests-cluster"
+wsrep_cluster_address="gcomm://"
+#wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3"
+##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186"
+## Galera Synchronization configuration
+wsrep_sst_method=rsync
+#wsrep_sst_method=xtrabackup-v2
+#wsrep_sst_auth="sstuser:Mon#2o!6"
+## Galera Node configuration
+wsrep_node_name="mariadb1"
+##wsrep_node_address="192.169.3.184"
+wsrep_on=ON
+## Status notification
+#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify
+#######
+
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+no-auto-rehash
+# Remove the next comment character if you are not familiar with SQL
+#safe-updates
+
+[myisamchk]
+key_buffer_size = 20971520
+
+##[mysqlhotcopy]
+##interactive-timeout
+##[mysqld_safe]
+##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1
+##log-error=//opt/app/mysql/log/mysqld.log \ No newline at end of file
diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql
new file mode 100644
index 0000000000..3312daf56f
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql
@@ -0,0 +1,192 @@
+#
+# Create CLDS database objects (tables, etc.)
+#
+#
+CREATE DATABASE `camundabpm`;
+USE `camundabpm`;
+DROP USER 'camunda';
+CREATE USER 'camunda';
+GRANT ALL on camundabpm.* to 'camunda' identified by 'ndMSpw4CAM' with GRANT OPTION;
+FLUSH PRIVILEGES;
+
+CREATE DATABASE `cldsdb4`;
+USE `cldsdb4`;
+DROP USER 'clds';
+CREATE USER 'clds';
+GRANT ALL on cldsdb4.* to 'clds' identified by 'sidnnd83K' with GRANT OPTION;
+GRANT SELECT on mysql.proc TO 'clds';
+FLUSH PRIVILEGES;
+
+
+CREATE TABLE template (
+ template_id VARCHAR(36) NOT NULL,
+ template_name VARCHAR(80) NOT NULL,
+ template_bpmn_id VARCHAR(36) NULL,
+ template_image_id VARCHAR(36) NULL,
+ template_doc_id VARCHAR(36) NULL,
+ PRIMARY KEY (template_id),
+ UNIQUE (template_name)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE template_bpmn (
+ template_bpmn_id VARCHAR(36) NOT NULL,
+ template_id VARCHAR(36) NOT NULL,
+ template_bpmn_text MEDIUMTEXT NOT NULL,
+ user_id VARCHAR(80),
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (template_bpmn_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE template_image (
+ template_image_id VARCHAR(36) NOT NULL,
+ template_id VARCHAR(36) NOT NULL,
+ template_image_text MEDIUMTEXT NULL,
+ user_id VARCHAR(80),
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (template_image_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE template_doc (
+ template_doc_id VARCHAR(36) NOT NULL,
+ template_id VARCHAR(36) NOT NULL,
+ template_doc_text MEDIUMTEXT NULL,
+ user_id VARCHAR(80),
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (template_doc_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE model (
+ model_id VARCHAR(36) NOT NULL,
+ model_name VARCHAR(80) NOT NULL,
+ template_id VARCHAR(36) NULL,
+ model_prop_id VARCHAR(36) NULL,
+ model_blueprint_id VARCHAR(36) NULL,
+ event_id VARCHAR(36) NULL,
+ control_name_prefix VARCHAR(80) NULL,
+ control_name_uuid VARCHAR(36) NOT NULL,
+ service_type_id VARCHAR(80) NULL,
+ deployment_id VARCHAR(80) NULL,
+ PRIMARY KEY (model_id),
+ UNIQUE (model_name),
+ UNIQUE (control_name_uuid),
+ UNIQUE (service_type_id),
+ UNIQUE (deployment_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE model_properties (
+ model_prop_id VARCHAR(36) NOT NULL,
+ model_id VARCHAR(36) NOT NULL,
+ model_prop_text MEDIUMTEXT NULL,
+ user_id VARCHAR(80),
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (model_prop_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE model_blueprint (
+ model_blueprint_id VARCHAR(36) NOT NULL,
+ model_id VARCHAR(36) NOT NULL,
+ model_blueprint_text MEDIUMTEXT NULL,
+ user_id VARCHAR(80),
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (model_blueprint_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE model_instance (
+ model_instance_id VARCHAR(36) NOT NULL,
+ model_id VARCHAR(36) NOT NULL,
+ vm_name VARCHAR(250) NOT NULL,
+ location VARCHAR(250) NULL,
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (model_instance_id),
+ UNIQUE (model_id, vm_name)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE event (
+ event_id VARCHAR(36) NOT NULL,
+ model_id VARCHAR(36) NULL,
+ action_cd VARCHAR(80) NOT NULL,
+ action_state_cd VARCHAR(80) NULL,
+ prev_event_id VARCHAR(36) NULL,
+ process_instance_id VARCHAR(80) NULL,
+ user_id VARCHAR(80) NULL,
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (event_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+CREATE TABLE clds_service_cache (
+ invariant_service_id VARCHAR(36) NOT NULL,
+ service_id VARCHAR(36) NULL,
+ timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ object_data MEDIUMBLOB NULL,
+ PRIMARY KEY (invariant_service_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
+
+ALTER TABLE template
+ ADD CONSTRAINT template_bpmn_id_fkey01
+ FOREIGN KEY (template_bpmn_id)
+ REFERENCES template_bpmn (template_bpmn_id);
+
+ALTER TABLE template
+ ADD CONSTRAINT template_image_id_fkey01
+ FOREIGN KEY (template_image_id)
+ REFERENCES template_image (template_image_id);
+
+ALTER TABLE template
+ ADD CONSTRAINT template_doc_id_fkey01
+ FOREIGN KEY (template_doc_id)
+ REFERENCES template_doc (template_doc_id);
+
+ALTER TABLE template_bpmn
+ ADD CONSTRAINT template_id_fkey02
+ FOREIGN KEY (template_id)
+ REFERENCES template (template_id);
+
+ALTER TABLE template_image
+ ADD CONSTRAINT template_id_fkey03
+ FOREIGN KEY (template_id)
+ REFERENCES template (template_id);
+
+ALTER TABLE template_doc
+ ADD CONSTRAINT template_id_fkey04
+ FOREIGN KEY (template_id)
+ REFERENCES template (template_id);
+
+ALTER TABLE model
+ ADD CONSTRAINT template_id_fkey01
+ FOREIGN KEY (template_id)
+ REFERENCES template (template_id);
+
+ALTER TABLE model
+ ADD CONSTRAINT model_prop_id_fkey01
+ FOREIGN KEY (model_prop_id)
+ REFERENCES model_properties (model_prop_id);
+
+ALTER TABLE model
+ ADD CONSTRAINT model_blueprint_id_fkey01
+ FOREIGN KEY (model_blueprint_id)
+ REFERENCES model_blueprint (model_blueprint_id);
+
+ALTER TABLE model
+ ADD CONSTRAINT event_id_fkey01
+ FOREIGN KEY (event_id)
+ REFERENCES event (event_id);
+
+ALTER TABLE model_properties
+ ADD CONSTRAINT model_id_fkey01
+ FOREIGN KEY (model_id)
+ REFERENCES model (model_id);
+
+ALTER TABLE model_blueprint
+ ADD CONSTRAINT model_id_fkey02
+ FOREIGN KEY (model_id)
+ REFERENCES model (model_id);
+
+ALTER TABLE model_instance
+ ADD CONSTRAINT model_id_fkey04
+ FOREIGN KEY (model_id)
+ REFERENCES model (model_id);
+
+ALTER TABLE event
+ ADD CONSTRAINT model_id_fkey03
+ FOREIGN KEY (model_id)
+ REFERENCES model (model_id);
diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql
new file mode 100644
index 0000000000..112cb2b55e
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql
@@ -0,0 +1,449 @@
+#
+# CLDS stored procedures
+#
+
+USE cldsdb4;
+
+DROP PROCEDURE IF EXISTS upd_event;
+DROP PROCEDURE IF EXISTS ins_event;
+DROP PROCEDURE IF EXISTS del_all_model_instances;
+DROP PROCEDURE IF EXISTS del_model_instance;
+DROP PROCEDURE IF EXISTS ins_model_instance;
+DROP PROCEDURE IF EXISTS set_model;
+DROP PROCEDURE IF EXISTS get_model;
+DROP PROCEDURE IF EXISTS get_model_template;
+DROP PROCEDURE IF EXISTS set_template;
+DROP PROCEDURE IF EXISTS get_template;
+DELIMITER //
+CREATE PROCEDURE get_template
+ (IN v_template_name VARCHAR(80),
+ OUT v_template_id VARCHAR(36),
+ OUT v_template_bpmn_id VARCHAR(36),
+ OUT v_template_bpmn_user_id VARCHAR(80),
+ OUT v_template_bpmn_text MEDIUMTEXT,
+ OUT v_template_image_id VARCHAR(36),
+ OUT v_template_image_user_id VARCHAR(80),
+ OUT v_template_image_text MEDIUMTEXT,
+ OUT v_template_doc_id VARCHAR(36),
+ OUT v_template_doc_user_id VARCHAR(80),
+ OUT v_template_doc_text MEDIUMTEXT)
+BEGIN
+ SELECT t.template_id,
+ tb.template_bpmn_id,
+ tb.user_id,
+ tb.template_bpmn_text,
+ ti.template_image_id,
+ ti.user_id,
+ ti.template_image_text,
+ td.template_doc_id,
+ td.user_id,
+ td.template_doc_text
+ INTO v_template_id,
+ v_template_bpmn_id,
+ v_template_bpmn_user_id,
+ v_template_bpmn_text,
+ v_template_image_id,
+ v_template_image_user_id,
+ v_template_image_text,
+ v_template_doc_id,
+ v_template_doc_user_id,
+ v_template_doc_text
+ FROM template t,
+ template_bpmn tb,
+ template_image ti,
+ template_doc td
+ WHERE t.template_bpmn_id = tb.template_bpmn_id
+ AND t.template_image_id = ti.template_image_id
+ AND t.template_doc_id = td.template_doc_id
+ AND t.template_name = v_template_name;
+END;
+CREATE PROCEDURE set_template
+ (IN v_template_name VARCHAR(80),
+ IN v_user_id VARCHAR(80),
+ IN v_template_bpmn_text MEDIUMTEXT,
+ IN v_template_image_text MEDIUMTEXT,
+ IN v_template_doc_text MEDIUMTEXT,
+ OUT v_template_id VARCHAR(36),
+ OUT v_template_bpmn_id VARCHAR(36),
+ OUT v_template_bpmn_user_id VARCHAR(80),
+ OUT v_template_image_id VARCHAR(36),
+ OUT v_template_image_user_id VARCHAR(80),
+ OUT v_template_doc_id VARCHAR(36),
+ OUT v_template_doc_user_id VARCHAR(80))
+BEGIN
+ DECLARE v_old_template_bpmn_text MEDIUMTEXT;
+ DECLARE v_old_template_image_text MEDIUMTEXT;
+ DECLARE v_old_template_doc_text MEDIUMTEXT;
+ SET v_template_id = NULL;
+ CALL get_template(
+ v_template_name,
+ v_template_id,
+ v_template_bpmn_id,
+ v_template_bpmn_user_id,
+ v_old_template_bpmn_text,
+ v_template_image_id,
+ v_template_image_user_id,
+ v_old_template_image_text,
+ v_template_doc_id,
+ v_template_doc_user_id,
+ v_old_template_doc_text);
+ IF v_template_id IS NULL THEN
+ BEGIN
+ SET v_template_id = UUID();
+ INSERT INTO template
+ (template_id, template_name)
+ VALUES (v_template_id, v_template_name);
+ END;
+ END IF;
+ IF v_template_bpmn_id IS NULL OR v_template_bpmn_text <> v_old_template_bpmn_text THEN
+ SET v_template_bpmn_id = UUID();
+ INSERT INTO template_bpmn
+ (template_bpmn_id, template_id, template_bpmn_text, user_id)
+ VALUES (v_template_bpmn_id, v_template_id, v_template_bpmn_text, v_user_id);
+ SET v_template_bpmn_user_id = v_user_id;
+ END IF;
+ IF v_template_image_id IS NULL OR v_template_image_text <> v_old_template_image_text THEN
+ SET v_template_image_id = UUID();
+ INSERT INTO template_image
+ (template_image_id, template_id, template_image_text, user_id)
+ VALUES (v_template_image_id, v_template_id, v_template_image_text, v_user_id);
+ SET v_template_image_user_id = v_user_id;
+ END IF;
+ IF v_template_doc_id IS NULL OR v_template_doc_text <> v_old_template_doc_text THEN
+ SET v_template_doc_id = UUID();
+ INSERT INTO template_doc
+ (template_doc_id, template_id, template_doc_text, user_id)
+ VALUES (v_template_doc_id, v_template_id, v_template_doc_text, v_user_id);
+ SET v_template_doc_user_id = v_user_id;
+ END IF;
+ UPDATE template
+ SET template_bpmn_id = v_template_bpmn_id,
+ template_image_id = v_template_image_id,
+ template_doc_id = v_template_doc_id
+ WHERE template_id = v_template_id;
+END;
+CREATE PROCEDURE get_model
+ (IN v_model_name VARCHAR(80),
+ OUT v_control_name_prefix VARCHAR(80),
+ INOUT v_control_name_uuid VARCHAR(36),
+ OUT v_model_id VARCHAR(36),
+ OUT v_service_type_id VARCHAR(80),
+ OUT v_deployment_id VARCHAR(80),
+ OUT v_template_name VARCHAR(80),
+ OUT v_template_id VARCHAR(36),
+ OUT v_model_prop_id VARCHAR(36),
+ OUT v_model_prop_user_id VARCHAR(80),
+ OUT v_model_prop_text MEDIUMTEXT,
+ OUT v_model_blueprint_id VARCHAR(36),
+ OUT v_model_blueprint_user_id VARCHAR(80),
+ OUT v_model_blueprint_text MEDIUMTEXT,
+ OUT v_event_id VARCHAR(36),
+ OUT v_action_cd VARCHAR(80),
+ OUT v_action_state_cd VARCHAR(80),
+ OUT v_event_process_instance_id VARCHAR(80),
+ OUT v_event_user_id VARCHAR(80))
+BEGIN
+ SELECT m.control_name_prefix,
+ m.control_name_uuid,
+ m.model_id,
+ m.service_type_id,
+ m.deployment_id,
+ t.template_name,
+ m.template_id,
+ mp.model_prop_id,
+ mp.user_id,
+ mp.model_prop_text,
+ mb.model_blueprint_id,
+ mb.user_id,
+ mb.model_blueprint_text,
+ e.event_id,
+ e.action_cd,
+ e.action_state_cd,
+ e.process_instance_id,
+ e.user_id
+ INTO v_control_name_prefix,
+ v_control_name_uuid,
+ v_model_id,
+ v_service_type_id,
+ v_deployment_id,
+ v_template_name,
+ v_template_id,
+ v_model_prop_id,
+ v_model_prop_user_id,
+ v_model_prop_text,
+ v_model_blueprint_id,
+ v_model_blueprint_user_id,
+ v_model_blueprint_text,
+ v_event_id,
+ v_action_cd,
+ v_action_state_cd,
+ v_event_process_instance_id,
+ v_event_user_id
+ FROM model m,
+ template t,
+ model_properties mp,
+ model_blueprint mb,
+ event e
+ WHERE m.template_id = t.template_id
+ AND m.model_prop_id = mp.model_prop_id
+ AND m.model_blueprint_id = mb.model_blueprint_id
+ AND m.event_id = e.event_id
+ AND (m.model_name = v_model_name
+ OR m.control_name_uuid = v_control_name_uuid);
+ SELECT model_instance_id,
+ vm_name,
+ location,
+ timestamp
+ FROM model_instance
+ WHERE model_id = v_model_id
+ ORDER BY 2;
+END;
+CREATE PROCEDURE get_model_template
+ (IN v_model_name VARCHAR(80),
+ OUT v_control_name_prefix VARCHAR(80),
+ INOUT v_control_name_uuid VARCHAR(36),
+ OUT v_model_id VARCHAR(36),
+ OUT v_service_type_id VARCHAR(80),
+ OUT v_deployment_id VARCHAR(80),
+ OUT v_template_name VARCHAR(80),
+ OUT v_template_id VARCHAR(36),
+ OUT v_model_prop_id VARCHAR(36),
+ OUT v_model_prop_user_id VARCHAR(80),
+ OUT v_model_prop_text MEDIUMTEXT,
+ OUT v_model_blueprint_id VARCHAR(36),
+ OUT v_model_blueprint_user_id VARCHAR(80),
+ OUT v_model_blueprint_text MEDIUMTEXT,
+ OUT v_template_bpmn_id VARCHAR(36),
+ OUT v_template_bpmn_user_id VARCHAR(80),
+ OUT v_template_bpmn_text MEDIUMTEXT,
+ OUT v_template_image_id VARCHAR(36),
+ OUT v_template_image_user_id VARCHAR(80),
+ OUT v_template_image_text MEDIUMTEXT,
+ OUT v_template_doc_id VARCHAR(36),
+ OUT v_template_doc_user_id VARCHAR(80),
+ OUT v_template_doc_text MEDIUMTEXT,
+ OUT v_event_id VARCHAR(36),
+ OUT v_action_cd VARCHAR(80),
+ OUT v_action_state_cd VARCHAR(80),
+ OUT v_event_process_instance_id VARCHAR(80),
+ OUT v_event_user_id VARCHAR(80))
+BEGIN
+ CALL get_model(
+ v_model_name,
+ v_control_name_prefix,
+ v_control_name_uuid,
+ v_model_id,
+ v_service_type_id,
+ v_deployment_id,
+ v_template_name,
+ v_template_id,
+ v_model_prop_id,
+ v_model_prop_user_id,
+ v_model_prop_text,
+ v_model_blueprint_id,
+ v_model_blueprint_user_id,
+ v_model_blueprint_text,
+ v_event_id,
+ v_action_cd,
+ v_action_state_cd,
+ v_event_process_instance_id,
+ v_event_user_id);
+ CALL get_template(
+ v_template_name,
+ v_template_id,
+ v_template_bpmn_id,
+ v_template_bpmn_user_id,
+ v_template_bpmn_text,
+ v_template_image_id,
+ v_template_image_user_id,
+ v_template_image_text,
+ v_template_doc_id,
+ v_template_doc_user_id,
+ v_template_doc_text);
+ END;
+CREATE PROCEDURE set_model
+ (IN v_model_name VARCHAR(80),
+ IN v_template_id VARCHAR(36),
+ IN v_user_id VARCHAR(80),
+ IN v_model_prop_text MEDIUMTEXT,
+ IN v_model_blueprint_text MEDIUMTEXT,
+ IN v_service_type_id VARCHAR(80),
+ IN v_deployment_id VARCHAR(80),
+ INOUT v_control_name_prefix VARCHAR(80),
+ INOUT v_control_name_uuid VARCHAR(36),
+ OUT v_model_id VARCHAR(36),
+ OUT v_model_prop_id VARCHAR(36),
+ OUT v_model_prop_user_id VARCHAR(80),
+ OUT v_model_blueprint_id VARCHAR(36),
+ OUT v_model_blueprint_user_id VARCHAR(80),
+ OUT v_event_id VARCHAR(36),
+ OUT v_action_cd VARCHAR(80),
+ OUT v_action_state_cd VARCHAR(80),
+ OUT v_event_process_instance_id VARCHAR(80),
+ OUT v_event_user_id VARCHAR(80))
+BEGIN
+ DECLARE v_old_template_name VARCHAR(80);
+ DECLARE v_old_template_id VARCHAR(36);
+ DECLARE v_old_control_name_prefix VARCHAR(80);
+ DECLARE v_old_control_name_uuid VARCHAR(36);
+ DECLARE v_old_model_prop_text MEDIUMTEXT;
+ DECLARE v_old_model_blueprint_text MEDIUMTEXT;
+ DECLARE v_old_service_type_id VARCHAR(80);
+ DECLARE v_old_deployment_id VARCHAR(80);
+ SET v_model_id = NULL;
+ CALL get_model(
+ v_model_name,
+ v_old_control_name_prefix,
+ v_old_control_name_uuid,
+ v_model_id,
+ v_old_service_type_id,
+ v_old_deployment_id,
+ v_old_template_name,
+ v_old_template_id,
+ v_model_prop_id,
+ v_model_prop_user_id,
+ v_old_model_prop_text,
+ v_model_blueprint_id,
+ v_model_blueprint_user_id,
+ v_old_model_blueprint_text,
+ v_event_id,
+ v_action_cd,
+ v_action_state_cd,
+ v_event_process_instance_id,
+ v_event_user_id);
+ IF v_model_id IS NULL THEN
+ BEGIN
+ # UUID can be provided initially but cannot be updated
+ # if not provided (this is expected) then it will be set here
+ IF v_control_name_uuid IS NULL THEN
+ SET v_control_name_uuid = UUID();
+ END IF;
+ SET v_model_id = v_control_name_uuid;
+ INSERT INTO model
+ (model_id, model_name, template_id, control_name_prefix, control_name_uuid, service_type_id, deployment_id)
+ VALUES (v_model_id, v_model_name, v_template_id, v_control_name_prefix, v_control_name_uuid, v_service_type_id, v_deployment_id);
+ # since just created model, insert CREATED event as initial default event
+ SET v_action_cd = 'CREATE';
+ SET v_action_state_cd = 'COMPLETED';
+ SET v_event_user_id = v_user_id;
+ SET v_event_id = UUID();
+ INSERT INTO event
+ (event_id, model_id, action_cd, action_state_cd, user_id)
+ VALUES (v_event_id, v_model_id, v_action_cd, v_action_state_cd, v_event_user_id);
+ UPDATE model
+ SET event_id = v_event_id
+ WHERE model_id = v_model_id;
+ END;
+ ELSE
+ BEGIN
+ # use old control_name_prefix if null value is provided
+ IF v_control_name_prefix IS NULL THEN
+ SET v_control_name_prefix = v_old_control_name_prefix;
+ END IF;
+ # UUID can not be updated after initial insert
+ SET v_control_name_uuid = v_old_control_name_uuid;
+ END;
+ END IF;
+ IF v_model_prop_id IS NULL OR v_model_prop_text <> v_old_model_prop_text THEN
+ SET v_model_prop_id = UUID();
+ INSERT INTO model_properties
+ (model_prop_id, model_id, model_prop_text, user_id)
+ VALUES (v_model_prop_id, v_model_id, v_model_prop_text, v_user_id);
+ SET v_model_prop_user_id = v_user_id;
+ END IF;
+ IF v_model_blueprint_id IS NULL OR v_model_blueprint_text <> v_old_model_blueprint_text THEN
+ SET v_model_blueprint_id = UUID();
+ INSERT INTO model_blueprint
+ (model_blueprint_id, model_id, model_blueprint_text, user_id)
+ VALUES (v_model_blueprint_id, v_model_id, v_model_blueprint_text, v_user_id);
+ SET v_model_blueprint_user_id = v_user_id;
+ END IF;
+ UPDATE model
+ SET control_name_prefix = v_control_name_prefix,
+ model_prop_id = v_model_prop_id,
+ model_blueprint_id = v_model_blueprint_id,
+ service_type_id = v_service_type_id,
+ deployment_id = v_deployment_id
+ WHERE model_id = v_model_id;
+END;
+CREATE PROCEDURE ins_model_instance
+ (IN v_control_name_uuid VARCHAR(36),
+ IN v_vm_name VARCHAR(250),
+ IN v_location VARCHAR(250),
+ OUT v_model_id VARCHAR(36),
+ OUT v_model_instance_id VARCHAR(36))
+BEGIN
+ SELECT m.model_id
+ INTO v_model_id
+ FROM model m
+ WHERE m.control_name_uuid = v_control_name_uuid;
+ SET v_model_instance_id = UUID();
+ INSERT INTO model_instance
+ (model_instance_id, model_id, vm_name, location)
+ VALUES (v_model_instance_id, v_model_id, v_vm_name, v_location);
+END;
+CREATE PROCEDURE del_model_instance
+ (IN v_control_name_uuid VARCHAR(36),
+ IN v_vm_name VARCHAR(250),
+ OUT v_model_id VARCHAR(36),
+ OUT v_model_instance_id VARCHAR(36))
+BEGIN
+ SELECT m.model_id, i.model_instance_id
+ INTO v_model_id,
+ v_model_instance_id
+ FROM model m,
+ model_instance i
+ WHERE m.model_id = i.model_id
+ AND m.control_name_uuid = v_control_name_uuid
+ AND i.vm_name = v_vm_name;
+ DELETE FROM model_instance
+ WHERE model_instance_id = v_model_instance_id;
+END;
+CREATE PROCEDURE del_all_model_instances
+ (IN v_control_name_uuid VARCHAR(36),
+ OUT v_model_id VARCHAR(36))
+BEGIN
+ SELECT m.model_id
+ INTO v_model_id
+ FROM model m
+ WHERE m.control_name_uuid = v_control_name_uuid;
+ DELETE FROM model_instance
+ WHERE model_id = v_model_id;
+END;
+CREATE PROCEDURE ins_event
+ (IN v_model_name VARCHAR(80),
+ IN v_control_name_prefix VARCHAR(80),
+ IN v_control_name_uuid VARCHAR(36),
+ IN v_user_id VARCHAR(80),
+ IN v_action_cd VARCHAR(80),
+ IN v_action_state_cd VARCHAR(80),
+ IN v_process_instance_id VARCHAR(80),
+ OUT v_model_id VARCHAR(36),
+ OUT v_event_id VARCHAR(36))
+BEGIN
+ DECLARE v_prev_event_id VARCHAR(36);
+ SELECT m.model_id,
+ m.event_id
+ INTO v_model_id,
+ v_prev_event_id
+ FROM model m
+ WHERE m.model_name = v_model_name
+ OR m.control_name_uuid = v_control_name_uuid;
+ SET v_event_id = UUID();
+ INSERT INTO event
+ (event_id, model_id, action_cd, action_state_cd, prev_event_id, process_instance_id, user_id)
+ VALUES (v_event_id, v_model_id, v_action_cd, v_action_state_cd, v_prev_event_id, v_process_instance_id, v_user_id);
+ UPDATE model
+ SET event_id = v_event_id
+ WHERE model_id = v_model_id;
+END;
+CREATE PROCEDURE upd_event
+ (IN v_event_id VARCHAR(36),
+ IN v_process_instance_id VARCHAR(80))
+BEGIN
+ UPDATE event
+ SET process_instance_id = v_process_instance_id
+ WHERE event_id = v_event_id;
+END
+//
+DELIMITER ;
diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql
new file mode 100644
index 0000000000..478eaf0e09
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql
@@ -0,0 +1,33 @@
+#
+# Drop CLDS database objects (tables, etc.)
+#
+
+
+ALTER TABLE template
+ DROP FOREIGN KEY template_image_id_fkey01;
+ALTER TABLE template
+ DROP FOREIGN KEY template_bpmn_id_fkey01;
+ALTER TABLE template
+ DROP FOREIGN KEY template_doc_id_fkey01;
+
+ALTER TABLE model
+ DROP FOREIGN KEY template_id_fkey01;
+ALTER TABLE model
+ DROP FOREIGN KEY model_prop_id_fkey01;
+ALTER TABLE model
+ DROP FOREIGN KEY model_blueprint_id_fkey01;
+ALTER TABLE model
+ DROP FOREIGN KEY event_id_fkey01;
+
+DROP TABLE clds_service_cache;
+
+DROP TABLE model_instance;
+DROP TABLE model_blueprint;
+DROP TABLE model_properties;
+DROP TABLE event;
+DROP TABLE model;
+
+DROP TABLE template_doc;
+DROP TABLE template_image;
+DROP TABLE template_bpmn;
+DROP TABLE template;
diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
new file mode 100644
index 0000000000..4924922c91
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
+
+cd /docker-entrypoint-initdb.d/bulkload
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < clds-create-db-objects.sql
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < clds-stored-procedures.sql
diff --git a/kubernetes/clamp/charts/mariadb/templates/configmap.yaml b/kubernetes/clamp/charts/mariadb/templates/configmap.yaml
new file mode 100644
index 0000000000..8b58aedcb0
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/configmap.yaml
@@ -0,0 +1,33 @@
+#{{ if not .Values.disableClampClampMariadb }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: clamp-entrypoint-initdb-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: clamp-entrypoint-drop-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/drop/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: clamp-entrypoint-bulkload-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: clamp-mariadb-conf-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/mariadb/conf.d/conf1/*").AsConfig . | indent 2 }}
+#{{ end }}
diff --git a/kubernetes/clamp/charts/mariadb/templates/deployment.yaml b/kubernetes/clamp/charts/mariadb/templates/deployment.yaml
new file mode 100644
index 0000000000..1e17b9b139
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/deployment.yaml
@@ -0,0 +1,94 @@
+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 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 }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ volumeMounts:
+ - mountPath: /docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
+ name: docker-entrypoint-initdb
+ subPath: load-sql-files-tests-automation.sh
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /docker-entrypoint-initdb.d/drop/
+ name: docker-entrypoint-clds-drop
+ - mountPath: /docker-entrypoint-initdb.d/bulkload/
+ name: docker-entrypoint-bulkload
+ - mountPath: /etc/mysql/conf.d/conf1/
+ name: clamp-mariadb-conf
+ - mountPath: /var/lib/mysql
+ name: clamp-mariadb-data
+ 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:
+ {{- if .Values.persistence.enabled }}
+ - name: clamp-mariadb-data
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ - name: docker-entrypoint-initdb
+ configMap:
+ name: clamp-entrypoint-initdb-configmap
+ - name: docker-entrypoint-clds-drop
+ configMap:
+ name: clamp-entrypoint-drop-configmap
+ - name: docker-entrypoint-bulkload
+ configMap:
+ name: clamp-entrypoint-bulkload-configmap
+ - name: clamp-mariadb-conf
+ configMap:
+ name: clamp-mariadb-conf-configmap
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/clamp/charts/mariadb/templates/pv.yaml b/kubernetes/clamp/charts/mariadb/templates/pv.yaml
new file mode 100644
index 0000000000..31230a9ed7
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/pv.yaml
@@ -0,0 +1,21 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+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 }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/clamp/charts/mariadb/templates/pvc.yaml b/kubernetes/clamp/charts/mariadb/templates/pvc.yaml
new file mode 100644
index 0000000000..b0cd3bf238
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/pvc.yaml
@@ -0,0 +1,32 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ name: {{ include "common.fullname" . }}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/clamp/charts/mariadb/templates/secrets.yaml b/kubernetes/clamp/charts/mariadb/templates/secrets.yaml
new file mode 100644
index 0000000000..4734d1f242
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/secrets.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Secret
+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 }}
+type: Opaque
+data:
+ db-root-password: {{ .Values.config.mysqlPassword | b64enc | quote }}
diff --git a/kubernetes/clamp/charts/mariadb/templates/service.yaml b/kubernetes/clamp/charts/mariadb/templates/service.yaml
new file mode 100644
index 0000000000..94ec4694a3
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/service.yaml
@@ -0,0 +1,24 @@
+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 "302" }}{{ .Values.service.nodePort }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ {{- end}}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }} \ No newline at end of file
diff --git a/kubernetes/clamp/charts/mariadb/values.yaml b/kubernetes/clamp/charts/mariadb/values.yaml
new file mode 100644
index 0000000000..c525fec597
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/values.yaml
@@ -0,0 +1,91 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+ persistence: {}
+
+# application image
+repository: nexus3.onap.org:10001
+image: mariadb:10.1.11
+pullPolicy: Always
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+config:
+ mysqlPassword: strong_pitchou
+
+# 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
+
+## Persist data to a persitent volume
+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: clamp/mariadb/data
+
+service:
+ type: ClusterIP
+ name: mariadb
+ internalPort: 3306
+ externalPort: 3306
+
+
+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