142 lines
3.7 KiB
YAML
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
|