Setup configMap and startup and shutdown scripts

This commit is contained in:
xurror
2020-04-12 11:06:38 +02:00
committed by Michael Vorburger ⛑️
parent 472f5b6280
commit a9c2140463
7 changed files with 133 additions and 15 deletions
@@ -16,6 +16,7 @@
# under the License.
#
apiVersion: v1
kind: Service
metadata:
@@ -31,7 +32,9 @@ spec:
app: fineract-server
tier: backend
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
+33
View File
@@ -0,0 +1,33 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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: fineractmysql-initdb
labels:
app: fineract-server
data:
init.sql: |
# create databases
CREATE DATABASE IF NOT EXISTS `fineract_tenants`;
CREATE DATABASE IF NOT EXISTS `fineract_default`;
# create root user and grant rights
GRANT ALL ON *.* TO 'root'@'%';
+11 -4
View File
@@ -16,6 +16,7 @@
# under the License.
#
apiVersion: v1
kind: PersistentVolume
metadata:
@@ -30,7 +31,9 @@ spec:
- ReadWriteMany
hostPath:
path: "/mnt/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
@@ -42,7 +45,9 @@ spec:
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
@@ -58,7 +63,9 @@ spec:
app: fineract-server
tier: fineractmysql
clusterIP: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -102,12 +109,12 @@ spec:
volumeMounts:
- name: fineractmysql-persistent-storage
mountPath: /var/lib/mysql/
- name: fineractmysql-host-path
- name: fineractmysql-initdb
mountPath: /docker-entrypoint-initdb.d/
volumes:
- name: fineractmysql-persistent-storage
persistentVolumeClaim:
claimName: fineractmysql-pv-claim
- name: fineractmysql-host-path
hostPath:
path: /fineract-db
- name: fineractmysql-initdb
configMap:
name: fineractmysql-initdb
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
kubectl delete -f secrets.yml
kubectl delete -f fineractmysql-configmap.yml
kubectl delete -f fineractmysql-deployment.yml
kubectl delete -f fineract-server-deployment.yml
+42
View File
@@ -0,0 +1,42 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
echo "Setting Up Fineract service configuration..."
kubectl apply -f secrets.yml
kubectl apply -f fineractmysql-configmap.yml
echo ""
echo "Starting fineractmysql..."
kubectl apply -f fineractmysql-deployment.yml
fineractmysql_pod=""
while [[ ${#fineractmysql_pod} -eq 0 ]]; do
fineractmysql_pod=$(kubectl get pods -l tier=fineractmysql --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
done
#sleep 5
fineractmysql_status=$(kubectl get pods ${fineractmysql_pod} --no-headers -o custom-columns=":status.phase")
while [[ ${fineractmysql_status} -ne 'Running' ]]; do
sleep 1
fineractmysql_status=$(kubectl get pods ${fineractmysql_pod} --no-headers -o custom-columns=":status.phase")
done
echo ""
echo "Starting fineract server..."
kubectl apply -f fineract-server-deployment.yml
+1
View File
@@ -16,6 +16,7 @@
# under the License.
#
apiVersion: v1
kind: Secret
metadata: