Files
cbsnexora-backend/kubernetes/fineract-mifoscommunity-deployment.yml
T

142 lines
3.7 KiB
YAML

# 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: web-app-config
data:
environment.json: |
{
"fineractApiUrls": ["/fineract-provider"],
"oauth": {
"enabled": false
},
"defaultLanguage": "en-US",
"supportedLanguages": ["en-US", "es-MX"],
"preloadClients": true
}
nginx.conf: |
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /fineract-provider/ {
proxy_pass https://fineract-server:8443/fineract-provider/;
proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect https:// http://;
}
}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: mifos-community
name: mifos-community
spec:
ports:
- protocol: TCP
port: 9090
targetPort: 80
selector:
app: mifos-community
tier: frontend
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mifos-community
labels:
app: mifos-community
spec:
selector:
matchLabels:
app: mifos-community
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: mifos-community
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: mifos-community
image: openmf/web-app:master
resources:
limits:
cpu: "1000m"
memory: "1Gi"
requests:
cpu: "200m"
memory: "0.5Gi"
volumeMounts:
- name: web-app-config
mountPath: /usr/share/nginx/html/assets/configuration
readOnly: true
- name: nginx-config
mountPath: /etc/nginx/conf.d/default.conf
subPath: nginx.conf
readOnly: true
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 10
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 10
failureThreshold: 3
ports:
- containerPort: 80
name: mifos-community
volumes:
- name: web-app-config
configMap:
name: web-app-config
- name: nginx-config
configMap:
name: web-app-config