diff --git a/README.md b/README.md index a024f12..2d5c123 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,13 @@ To list the content of repository, type `helm search repo webmethods` ``` NAME CHART VERSION APP VERSION DESCRIPTION -webmethods/mywebmethodsserver 1.0.0 10.15 My webMethods Server (MWS) Helm Chart for Kuber... -webmethods/apigateway 1.0.0 10.15 API Gateway Helm Chart for Kubernetes -webmethods/common 1.0.0 1.0.0 A Library Helm Chart for grouping common logic ... -webmethods/developerportal 1.0.0 10.15 webMethods Developer Portal Helm Chart for Kube... -webmethods/microservicesruntime 1.0.0 10.15 Microservices Runtime (MSR) Helm Chart for Kube... -webmethods/universalmessaging 1.0.1 10.15 Universal Messaging (UM) Helm Chart for Kubernetes -webmethods/terracottabigmemorymax 1.2.1 10.15 Universal Messaging (UM) Helm Chart for Kubernetes +webmethods/mywebmethodsserver 1.0.0 10.15 My webMethods Server (MWS) Helm Chart for Kuber... +webmethods/apigateway 1.1.0 10.15 API Gateway Helm Chart for Kubernetes +webmethods/common 1.0.1 1.0.0 A Library Helm Chart for grouping common logic ... +webmethods/developerportal 1.0.0 10.15 webMethods Developer Portal Helm Chart for Kube... +webmethods/microservicesruntime 1.0.3 10.15 Microservices Runtime (MSR) Helm Chart for Kube... +webmethods/terracottabigmemorymax 1.2.0 4.4.0 Terracotta BigMemory Max Helm Chart for Kubernetes +webmethods/universalmessaging 1.0.3 10.15 Universal Messaging (UM) Helm Chart for Kubernetes ``` ## Available Charts READMEs diff --git a/microservicesruntime/examples/msr-master-password/README.md b/microservicesruntime/examples/msr-master-password/README.md new file mode 100644 index 0000000..b1b09ad --- /dev/null +++ b/microservicesruntime/examples/msr-master-password/README.md @@ -0,0 +1,18 @@ +# Configure Master Password + +## Prerequisites + +MSR/IS image is created on 10.15 Core Fix 8. + +## `values.yaml` + +Since MSR/IS 10.15 Core Fix 8 is it possible to configure the Master password at startup time using environment variable `SAG_IS_MASTER_PASSWORD_KEY`. You can add environment variables with `extraEnvs` ... + +``` +extraEnvs: + - name: SAG_IS_MASTER_PASSWORD_KEY + valueFrom: + secretKeyRef: + name: msr-default-master-password + key: password-key +``` diff --git a/microservicesruntime/examples/msr-statefulset-csq/README.md b/microservicesruntime/examples/msr-statefulset-csq/README.md index 186e244..2dbc078 100644 --- a/microservicesruntime/examples/msr-statefulset-csq/README.md +++ b/microservicesruntime/examples/msr-statefulset-csq/README.md @@ -1,6 +1,3 @@ # Running MSR as statefulset for Client Side Queueing -This exmple shows how to deploy MSR as a Stateful set in order to allow stable storage of Client Side Queue files. - -## Prerequisites - +This example [values.yaml](./values.yaml) shows how to deploy MSR as a Stateful set in order to allow stable storage of Client Side Queue files. diff --git a/microservicesruntime/examples/msr-tsa-stateful-cluster/README.md b/microservicesruntime/examples/msr-tsa-stateful-cluster/README.md new file mode 100644 index 0000000..5bcc92e --- /dev/null +++ b/microservicesruntime/examples/msr-tsa-stateful-cluster/README.md @@ -0,0 +1,56 @@ +# Deploy MSR stateful Cluster with Terracotta Big Memory Max Server Array (TSA) + +Set the values described in this document in your `values.yaml` to deploy a MSR *stateful* cluster with distributed caches. *stateful* is here in this context only the data with are stored in the distributed cache. + +Note, you must configured for other data e.g. CSQ if you want to have a stateful container. See example [msr-statefulset-csq](../msr-statefulset-csq/README.md). + +## Prerequisites + +Use the [Terracotta Big Memory Helm Chart](../../../terracottabigmemorymax/helm/README.md) to deploy a TSA in your namespace of MSR. + +After deployment, TSA can be connected on `terracotta-service:9510` in your namespace. + +## Setup `values.yaml` + +* Add Terracotta License Key using `extra...` configuration settings and mount the volume ... + +``` +extraConfigMaps: + - name: cache-tsa-config + data: + terracotta-license.key: | + # copy/past here the content of LK ... + Date of Issue: ... + + +extraVolumeMounts: + - name: terracotta-license-key + mountPath: /opt/softwareag/common/conf/terracotta-license.key + subPath: terracotta-license.key + +extraVolumes: + - name: terracotta-license-key + configMap: + name: cache-tsa-config +``` + +* Add following WATT settings to configure the TSA URL `terracotta-service:9510` cluster in MSR ... + +``` + propertiesFile: + content: | + settings.watt.server.cluster.aware=true + settings.watt.server.cluster.name="{{ include "common.names.fullname" . }}" + settings.watt.server.cluster.tsaURLs=terracotta-service:9510 + settings.watt.server.cluster.SessTimeout=60 + settings.watt.server.cluster.action.errorOnStartup=standalone +``` + +* Unfortunately, the cluster is going to health status `UP` only if there are minimum 2 nodes up and running. Therefore increase the replicates ... + +``` +# -- Number of replicates in Deployment +replicaCount: 2 +``` + +Note: You can change the threshold of nodes in `./config/healthindicators/healthindicators.cnf` of MSR container. diff --git a/microservicesruntime/examples/trading-networks/README.md b/microservicesruntime/examples/trading-networks/README.md new file mode 100644 index 0000000..e376c56 --- /dev/null +++ b/microservicesruntime/examples/trading-networks/README.md @@ -0,0 +1,91 @@ +# Trading Networks (TN) Deployment + +This example guides you to deploy Trading Networks (TN) in a container environment. + +## Architecture + +We need following containers to run ... + +* Integration Server with Trading Network Server and EDI adapters +* My webMethods Server for Monitoring for Trading Network Portal +* Universal Messaging +* Database(s) +* if you want to have more than 1 MSR/IS node, TN needs a distributed cache. In this case, a Terracotta Server Array (TSA) is required to setup a cluster. + +## Prerequisites + +* License Key for MSR and Trading Networks +* Image Build Environment, e.g. [image-builder-using-azure-devops](../../../utils/image-builder-using-azure-devops/README.md) + +## Create Base Image for TN Server + +With using [image-builder-using-azure-devops](../../../utils/image-builder-using-azure-devops/README.md) and pipeline `azure-pipelines-own-entrypoint`, you can create the TN Server image with following parameters ... + +``` +PRODUCTS: "integrationServer,Monitor,PIEContainerExternalRDBMS,TNServer,1syncDoc,1sync,EDIINT,EDICore,EDIEANCOM,EDIODETTE,EDITRADACOMS,EDIUCS,EDIUNEDIFACTMisc,EDIUNEDIFACT1990,EDIUNEDIFACT1991,EDIUNEDIFACT1992,EDIUNEDIFACT1993,EDIUNEDIFACT1994,EDIUNEDIFACT1995,EDIUNEDIFACT1996,EDIUNEDIFACT1997,EDIUNEDIFACT1998,EDIUNEDIFACT1999,EDIUNEDIFACT2000,EDIUNEDIFACT2001,EDIUNEDIFACT2002,EDIUNEDIFACT2003,EDIUNEDIFACT2004,EDIUNEDIFACT2005,EDIUNEDIFACT2006,EDIUNEDIFACT2007,EDIUNEDIFACT2008,EDIUNEDIFACT2009,EDIUNEDIFACT2010,EDIUNEDIFACT2011,EbXMLCore" + +ENTRYPOINT: "/opt/softwareag/IntegrationServer/bin/startContainer.sh" + +BASE_IMAGE: "centos:8" +``` + +The entrypoint `startContainer.sh` requires additional environment variable `INSTANCE_NAME`. Therefore, you must increase the already created image using Docker `build` and Docker file ... + +``` +FROM your-created-image-with-azure-pipelines-own-entrypoint + +ENV INSTANCE_NAME=default +``` + +Create a new image with `docker build -t wm-tn .` + +## Create Base Image for My webMethods Server as TN Portal + +With using [image-builder-using-azure-devops](../../../utils/image-builder-using-azure-devops/README.md) and pipeline `azure-pipelines`, + +``` +PRODUCTS: MwsProgramFiles,monitorUI,optimizeSharedUI,optimizeUI,centralConfiguratorUI,TNPortal + +BASE_IMAGE : "centos:8" +``` + +## Create TN Database Schema + +You must use the Database Component Configurator to create the TN schemas (parameter `-pr TN`) in you database. If you have an already created DCC image with ([image-builder-using-azure-devops](../../../utils/image-builder-using-azure-devops/README.md)), you can call the DCC with following `kubectl` command. The following command use an existing PostgresQL database ... + +``` +kubectl run wm-dcc-client --rm --tty -i --restart=Never --namespace TN --image wm-dcc:10.15.01 --command -- /opt/softwareag/common/db/bin/dbConfigurator.sh -a CREATE -l "jdbc:wm:postgresql://tn-db-postgresql:5432;databaseName=wmdb" --dbms postgresql -u wm -p "password" -pr TN +``` + +## Add TN JDBC Pool in TN Server + +Add following JDBC database pool configuration in `application.properties` of MSR/IS to access the TN database ... + +``` +jdbc.tn.dbURL=jdbc:wm:postgresql://tn-postgresql:5432;databaseName=wmdb +jdbc.tn.driverAlias=DataDirect Connect JDBC PostgreSQL Driver +jdbc.tn.maxConns=10 +jdbc.tn.password=... +jdbc.tn.userid=... +jdbcfunc.TN.connPoolAlias=tn +``` + +## TN Configuration for Containers + +To configure TN at IS/MSR container, you can setup appropriated `application.properties` in `values.yaml` (how described [here](https://documentation.softwareag.com/webmethods/trading_networks/otn10-15/webhelp/otn-webhelp/#page/otn-webhelp%2Fto-tn_4.html%23)). The [available TN properties](https://documentation.softwareag.com/webmethods/trading_networks/otn10-15/webhelp/otn-webhelp/#page/otn-webhelp%2Fto-app_tn_config_props.html%23) must have the `tnProperty` prefix that IS/MSR (with MSR License) call pull these at startup time. + +## TN Server @ Cluster + +Optional, if you want to replicate the TN server then you must setup Terracotta for a distributed cache. You can use the described [msr-tsa-stateful-cluster](../msr-tsa-stateful-cluster/README.md) example. + +## Install TN Server Release + +At least, you have the `application.properties` and a `values.yaml` (e.g. `tn-values.yaml`) file configured, you can install in a new namespace `TN` the MSR with Helm ... + +``` +helm upgrade --install msr-tn webmethods/microservicesruntime -n TN --create-namespace -f tn-values.yaml +``` + +## Install TN Portal Release + +To install the TN Portal, use the [My webMethods Server Helm Chart](../../../mywebmethodsserver/helm/README.md) with the image which you have already created. diff --git a/microservicesruntime/helm/README.md b/microservicesruntime/helm/README.md index 6efbcd7..d907159 100644 --- a/microservicesruntime/helm/README.md +++ b/microservicesruntime/helm/README.md @@ -52,15 +52,18 @@ Sub-folder `examples` contains some *values* examples for more use-cases. To use | [external-postgresql-db](../examples/external-postgresql-db/README.md) | Using MSR with external PostgresQL database | | [msr-defaults](../examples/msr-defaults/README.md) | Recommended default application properties| | [Fluentd Sidecar](../examples/msr-fluentd-sidecar/README.md) | Running with Fluentd Sidecar | +| [msr-master-password](../examples/msr-master-password/README.md) | Setting master password | | [msr-post-init](../examples/msr-post-init/README.md) | Performs *post-init* actions after startup, e.g. deploy assets to Universal Messaging | | [msr-push-doc-types](../examples/msr-push-doc-types/README.md) | Pushing IS Document Types after startup | | [msr-statefulset-csq](../examples/msr-statefulset-csq/README.md) | Deploy MSR with stateful set | +| [msr-tsa-stateful-cluster](../examples/msr-tsa-stateful-cluster/README.md) | Deploy MSR with Terracotta as distributed cache | | [msr-using-secrets](../examples/msr-using-secrets/README.md) | Using secrets in application properties and set Administrator password | | [msr-with-extra-ports](../examples/msr-with-extra-ports/README.md) | Define additional ports in MSR deployment | | [msr-with-tls](../examples/msr-with-tls/README.md) | Configure Ingress with TLS | | [process-engine](../examples/process-engine/README.md) | Deploy MSR as Process Engine | | [service-auditing-monitor](../examples/service-auditing-monitor/README.md) | Deploy MSR as Service Auditing Monitor | | [Stakater Reloader](../examples/stakater-reloader/README.md) | Utility to restart MSR pod on configuration changes | +| [Trading Networks](../examples/trading-networks/README.md) | Deploy Trading Networks in a container environment | ## Install Microservices Runtime Release diff --git a/microservicesruntime/helm/README.md.gotmpl b/microservicesruntime/helm/README.md.gotmpl index 67ecb49..212849b 100644 --- a/microservicesruntime/helm/README.md.gotmpl +++ b/microservicesruntime/helm/README.md.gotmpl @@ -52,15 +52,18 @@ Sub-folder `examples` contains some *values* examples for more use-cases. To use | [external-postgresql-db](../examples/external-postgresql-db/README.md) | Using MSR with external PostgresQL database | | [msr-defaults](../examples/msr-defaults/README.md) | Recommended default application properties| | [Fluentd Sidecar](../examples/msr-fluentd-sidecar/README.md) | Running with Fluentd Sidecar | +| [msr-master-password](../examples/msr-master-password/README.md) | Setting master password | | [msr-post-init](../examples/msr-post-init/README.md) | Performs *post-init* actions after startup, e.g. deploy assets to Universal Messaging | | [msr-push-doc-types](../examples/msr-push-doc-types/README.md) | Pushing IS Document Types after startup | | [msr-statefulset-csq](../examples/msr-statefulset-csq/README.md) | Deploy MSR with stateful set | +| [msr-tsa-stateful-cluster](../examples/msr-tsa-stateful-cluster/README.md) | Deploy MSR with Terracotta as distributed cache | | [msr-using-secrets](../examples/msr-using-secrets/README.md) | Using secrets in application properties and set Administrator password | | [msr-with-extra-ports](../examples/msr-with-extra-ports/README.md) | Define additional ports in MSR deployment | | [msr-with-tls](../examples/msr-with-tls/README.md) | Configure Ingress with TLS | | [process-engine](../examples/process-engine/README.md) | Deploy MSR as Process Engine | | [service-auditing-monitor](../examples/service-auditing-monitor/README.md) | Deploy MSR as Service Auditing Monitor | | [Stakater Reloader](../examples/stakater-reloader/README.md) | Utility to restart MSR pod on configuration changes | +| [Trading Networks](../examples/trading-networks/README.md) | Deploy Trading Networks in a container environment | ## Install Microservices Runtime Release