English |
---|
This article is provided as a technical guide to set up Joget DX |
...
8 with PostgreSQL database on Kubernetes |
...
. The following steps were implemented on Ubuntu |
...
22.04, please modify the commands to suit your environment. |
Table of Contents
Create Joget Image with PostgreSQL JDBC Driver
...
language | bash |
---|---|
linenumbers | true |
...
Deploy PostgreSQL on K8s using Helm
Code Block | ||||
---|---|---|---|---|
| ||||
# deploy postgresql using Helm helm repoinstall addpostgres bitnami httpsoci://chartsregistry-1.bitnamidocker.com/bitnami helm install postgres bitnamiio/bitnamicharts/postgresql helm list helm get notes postgres # wait for postgresql to startup kubectl wait \ --for=condition=ready pod \ --selector=app.kubernetes.io/name=postgresql \ --timeout=180s |
...
Code Block | ||||
---|---|---|---|---|
| ||||
# setcheck for postgresql password export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgres-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode) # run psql kubectl run postgres-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:1116.113.0-debian-1012-r24r4 --env="PGPASSWORD=$POSTGRES_PASSWORD" \ --command -- psql --host postgres-postgresql -U postgres -d postgres -p 5432 $ CREATE DATABASE jwdb; $ \quit |
...
Obtain the pgsql file from Configure for PostgreSQL.
Code Block | ||||
---|---|---|---|---|
| ||||
# import sql cat jwdb-postgresql-dx7postgres.pgsqlsql | kubectl exec -i postgres-postgresql-0 -- env PGPASSWORD=$POSTGRES_PASSWORD psql -U postgres -d jwdb |
Deploy Joget
Follow the instructions in https://dev.joget.org/community/display/DX7/Joget+on+Kubernetes, replacing the jogetworkflow/joget-dx7-tomcat9 image with the custom image quay.io/replaceWithYourAccount/joget-dx7-postgresql-tomcat9 in the YAMLin Joget on Kubernetes.
Configure Joget Datasource for PostgreSQL
Code Block | ||||
---|---|---|---|---|
| ||||
# ssh into tomcat pod and create datasource files kubectl exec --stdin --tty deployments/joget-dx7dx8-tomcat9 -- /bin/bash $ cat <<EOF > /opt/joget/wflow/app_datasource-postgresql.properties workflowUser=postgres workflowPassword=REPLACE_POSTGRES_PASSWORD_HERE workflowDriver=org.postgresql.Driver workflowUrl=jdbc\:postgresql\://postgres-postgresql/jwdb EOF $ cat <<EOF > /opt/joget/wflow/app_datasource.properties currentProfile=postgresql EOF $ exit |
...
Code Block | ||||
---|---|---|---|---|
| ||||
# restart pods kubectl scale --replicas=0 deployment/joget-dx7dx8-tomcat9 kubectl scale --replicas=1 deployment/joget-dx7dx8-tomcat9 # view logs kubectl logs -f deployment/joget-dx7dx8-tomcat9 |