You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by pt...@apache.org on 2021/12/23 12:53:35 UTC

[fineract] branch FINERACT-1419 created (now f9b629e)

This is an automated email from the ASF dual-hosted git repository.

ptuomola pushed a change to branch FINERACT-1419
in repository https://gitbox.apache.org/repos/asf/fineract.git.


      at f9b629e  Adding UI to K8s deployment (FINERACT-1419)

This branch includes the following new commits:

     new f9b629e  Adding UI to K8s deployment (FINERACT-1419)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[fineract] 01/01: Adding UI to K8s deployment (FINERACT-1419)

Posted by pt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ptuomola pushed a commit to branch FINERACT-1419
in repository https://gitbox.apache.org/repos/asf/fineract.git

commit f9b629ebc45809531d087a1d53ce5b9cbcb65fe0
Author: Vic Romero <vi...@fintecheando.mx>
AuthorDate: Sun Oct 31 23:47:57 2021 -0600

    Adding UI to K8s deployment (FINERACT-1419)
---
 docker-compose.yml                                | 11 ++-
 kubernetes/fineract-mifoscommunity-deployment.yml | 85 +++++++++++++++++++++++
 kubernetes/kubectl-shutdown.sh                    |  1 +
 kubernetes/kubectl-startup.sh                     | 17 ++++-
 4 files changed, 111 insertions(+), 3 deletions(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 2513129..714b1c9 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -38,10 +38,15 @@ services:
     build:
       context: .
       target: fineract
+    healthcheck:
+      test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
+      timeout: 10s
+      retries: 10
     ports:
       - 8443:8443
     depends_on:
-      - fineractmysql
+      fineractmysql:
+        condition: service_healthy
     environment:
       - DRIVERCLASS_NAME=org.drizzle.jdbc.DrizzleDriver
       - PROTOCOL=jdbc
@@ -64,7 +69,9 @@ services:
     restart: always
     ports:
       - 9090:80
-
+    depends_on:
+      fineract-server:
+        condition: service_healthy
 
 # https://issues.apache.org/jira/browse/FINERACT-762
 # To use an altnerative JDBC driver (which is faster, but not allowed to be default in Apache distribution)
diff --git a/kubernetes/fineract-mifoscommunity-deployment.yml b/kubernetes/fineract-mifoscommunity-deployment.yml
new file mode 100644
index 0000000..3bf4321
--- /dev/null
+++ b/kubernetes/fineract-mifoscommunity-deployment.yml
@@ -0,0 +1,85 @@
+# 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: Service
+metadata:
+  labels:
+    app: fineract-mifoscommunity
+  name: fineract-mifoscommunity
+spec:
+  ports:
+  - protocol: TCP
+    port: 80
+    targetPort: 80
+  selector:
+    app: fineract-mifoscommunity
+    tier: frontend
+  type: LoadBalancer
+
+---
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: fineract-mifoscommunity
+  labels:
+    app: fineract-mifoscommunity
+spec:
+  selector:
+    matchLabels:
+      app: fineract-mifoscommunity
+      tier: frontend
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        app: fineract-mifoscommunity
+        tier: frontend
+    spec:
+      initContainers:
+        - name: init-myservice
+          image: busybox:1.28
+          command: ['sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";']
+      containers:
+      - name: fineract-mifoscommunity
+        image: openmf/community-app:latest
+        resources:
+          limits:
+            cpu: "1000m"
+            memory: "1Gi"
+          requests:
+            cpu: "200m"
+            memory: "0.5Gi"
+        livenessProbe:
+          httpGet:
+            path: /#
+            port: 9090
+          initialDelaySeconds: 90
+          periodSeconds: 1
+        readinessProbe:
+          httpGet:
+            path: /#
+            port: 9090
+          initialDelaySeconds: 90
+          periodSeconds: 1
+        ports:
+        - containerPort: 80
+          name: fineract-mifoscommunity
diff --git a/kubernetes/kubectl-shutdown.sh b/kubernetes/kubectl-shutdown.sh
index ba21d32..8d64d23 100755
--- a/kubernetes/kubectl-shutdown.sh
+++ b/kubernetes/kubectl-shutdown.sh
@@ -22,3 +22,4 @@ kubectl delete secret fineract-tenants-db-secret
 kubectl delete -f fineractmysql-configmap.yml
 kubectl delete -f fineractmysql-deployment.yml
 kubectl delete -f fineract-server-deployment.yml
+kubectl delete -f fineract-mifoscommunity-deployment.yml
diff --git a/kubernetes/kubectl-startup.sh b/kubernetes/kubectl-startup.sh
index bc164a7..f52306f 100755
--- a/kubernetes/kubectl-startup.sh
+++ b/kubernetes/kubectl-startup.sh
@@ -52,4 +52,19 @@ while [[ ${fineract_server_status} -ne 'Running' ]]; do
     fineract_server_status=$(kubectl get pods ${fineract_server_pod} --no-headers -o custom-columns=":status.phase")
 done
 
-echo "Fineract server is up and running"
\ No newline at end of file
+echo "Fineract server is up and running"
+
+echo "Starting Mifos Community UI..."
+kubectl apply -f fineract-mifoscommunity-deployment.yml
+
+fineract_mifoscommunity_pod=""
+while [[ ${#fineract_mifoscommunity_pod} -eq 0 ]]; do
+    fineract_mifoscommunity_pod=$(kubectl get pods -l tier=backend --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
+done
+
+fineract_mifoscommunity_status=$(kubectl get pods ${fineract_mifoscommunity_pod} --no-headers -o custom-columns=":status.phase")
+while [[ ${fineract_mifoscommunity_status} -ne 'Running' ]]; do
+    sleep 1
+    fineract_mifoscommunity_status=$(kubectl get pods ${fineract_mifoscommunity_pod} --no-headers -o custom-columns=":status.phase")
+done
+echo "Mifos Community UI is up and running"