In this guide we'll create a lightweight Backbase setup configuring a k3s cluster.
- Colima with Kubernetes (k3s embedded by default) configured with at least 16GB of RAM and 4 CPUs - Or any local Kubernetes cluster you are comfortable with.
- Set up on MacOS
colima start --cpu 4 --memory 16 --kubernetes --kubernetes-disable=traefik
Disclaimer: If you already have
colima
running with insufficient resources it is recommended to delete it first using:colima delete
- Helmfile
brew install helmfile
- kubectl (and k9s)
brew install kubectl k9s
- Backbase Repository Credentials
Once everything is installed and the cluster is up and running you can execute the following steps:
- Run
setup-backbase-credentials.sh
to set up helm and images repositories. - Run
echo '127.0.0.1 kubernetes.docker.internal' | sudo tee -a /etc/hosts
to enable the ingress to expose the internal endpoints. - Obtain the harbor.backbase.eu/development/employee-web-app-essentials image as it is not yet public available.
- Run:
helmfile sync
.
Grab a coffee and wait for a few minutes, so everything can start. I recommend installing k9s to monitor the status of the pods.
Hint: You can test if the entire environment is up once the Job stream-legal-entity-boostrap-stream-bootstrap-task
is completed:
$ kubectl get job stream-legal-entity-boostrap-stream-bootstrap-task
NAME COMPLETIONS DURATION AGE
stream-legal-entity-boostrap-stream-bootstrap-task 1/1 56s 138m
- MySQL
- ActiveMQ
- Nginx Ingress Controller
- Spring Boot Admin Server
- Edge
- Identity Server
- With
backbase
realm included.
- With
- Identity Integration
- Token Converter
- Access Control
- Arrangement Manager
- User Manager
- Stream Legal Entity Bootstrap
- With
moustache-bank
andmoustache-bank-subsidiaries
profiles enabled. They are pre-configured in the Stream services for demonstration purposes.
- With
Once your environment is up and running you can access it using the following URLs:
- Employee Web App: http://kubernetes.docker.internal/
- Employee Admin Credentials:
admin
/admin
- Employee Admin Credentials:
- Identity: http://kubernetes.docker.internal/auth
- Realm Admin Credentials:
admin
/admin
- Realm Admin Credentials:
- Edge Gateway: http://kubernetes.docker.internal/api
- Spring Boot Admin: http://kubernetes.docker.internal/admin
- Jaeger: http://kubernetes.docker.internal/jaeger
You can add your custom integration service to the cluster by adding a new backbase-app
chart deployment in the helmfile. e.g.
- name: dis-custom-integration-service
chart: backbase-charts/backbase-app
version: 0.24.1
labels:
tier: dis
component: custom-integration-service
values:
- global.yaml.gotmpl
- global-ssdk.yaml.gotmpl
- app:
name: custom-integration-service
image:
registry: harbor.backbase.eu/development
repository: custom-integration-service
tag: latest
service:
nameOverride: custom-integration-service
ingress:
enabled: true
annotations:
"kubernetes.io/ingress.class": "nginx"
"nginx.ingress.kubernetes.io/rewrite-target": /$1
"nginx.ingress.kubernetes.io/x-forwarded-prefix": "/internal/custom-integration-service"
hosts:
- host: {{ .Values.ingress.host }}
paths:
- /internal/custom-integration-service/(.*)
- Use all helm charts from Topstack once it is stable.
- Create an umbrella chart where we could replace this
helmfile
itself by a simplehelm
execution.