--- kind: Template apiVersion: v1 metadata: annotations: description: Application template for a router and monitoring console in a production environment, for Red Hat Process Automation Manager 7.0 iconClass: icon-jboss tags: rhpam,jboss,xpaas version: 1.4.0 openshift.io/display-name: Red Hat Process Automation Manager 7.0 production monitoring environment name: rhpam70-prod-immutable-monitor labels: template: rhpam70-prod-immutable-monitor xpaas: 1.4.0 message: A new environment has been set up for Red Hat Process Automation Manager 7. To create a new KIE server and connect to this monitoring console/router, enter oc new-app -f rhpam70-prod-immutable-kieserver.yaml -p KIE_ADMIN_PWD=${KIE_ADMIN_PWD} -p KIE_SERVER_PWD=${KIE_SERVER_PWD} -p KIE_SERVER_MONITOR_PWD=${KIE_SERVER_MONITOR_PWD} -p KIE_SERVER_MONITOR_SERVICE=${APPLICATION_NAME}-rhpamcentrmon -p KIE_SERVER_ROUTER_SERVICE=${APPLICATION_NAME}-smartrouter -p SOURCE_REPOSITORY_URL=https://example.com/xxxx.git -p CONTEXT_DIR=rootDir -p KIE_SERVER_CONTAINER_DEPLOYMENT=containerId=G:A:V parameters: - displayName: Application Name description: The name for the application. name: APPLICATION_NAME value: myapp required: true - displayName: Maven repository URL description: Fully qualified URL to a Maven repository or service. name: MAVEN_REPO_URL example: http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ required: false - displayName: Maven repository username description: Username to access the Maven repository, if required. name: MAVEN_REPO_USERNAME required: false - displayName: Maven repository password description: Password to access the Maven repository, if required. name: MAVEN_REPO_PASSWORD required: false - displayName: EAP Admin User description: EAP administrator username name: ADMIN_USERNAME value: eapadmin required: false - displayName: EAP Admin Password description: EAP administrator password name: ADMIN_PASSWORD from: "[a-zA-Z]{6}[0-9]{1}!" generate: expression required: false - displayName: KIE Admin User description: KIE administrator username name: KIE_ADMIN_USER value: adminUser required: false - displayName: KIE Admin Password description: KIE administrator password name: KIE_ADMIN_PWD from: "[a-zA-Z]{6}[0-9]{1}!" generate: expression required: false - displayName: KIE Server User description: KIE execution server username (Sets the org.kie.server.user system property) name: KIE_SERVER_USER value: executionUser required: false - displayName: KIE Server Password description: KIE execution server password, used to connect to KIE servers. Generated value can be a suggestion to use for thew s2i various (Sets the org.kie.server.pwd system property) name: KIE_SERVER_PWD from: "[a-zA-Z]{6}[0-9]{1}!" generate: expression required: false - displayName: ImageStream Namespace description: Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project. name: IMAGE_STREAM_NAMESPACE value: openshift required: true - displayName: ImageStream Tag description: A named pointer to an image in an image stream. Default is "1.0". name: IMAGE_STREAM_TAG value: "1.0" required: false - displayName: Smart Router Custom http Route Hostname description: Custom hostname for http service route. Leave blank for default hostname, e.g. -smartrouter-.' name: SMART_ROUTER_HOSTNAME_HTTP value: '' required: false - displayName: Smart Router ID description: Router ID used when connecting to the controller (router property org.kie.server.router.id) name: KIE_SERVER_ROUTER_ID value: kie-server-router - displayName: Smart Router listening port description: Port in which the smart router server listens (router property org.kie.server.router.port) name: KIE_SERVER_ROUTER_PORT example: "9000" required: false - displayName: Smart Router protocol description: KIE server router protocol (Used to build the org.kie.server.router.url.external property) name: KIE_SERVER_ROUTER_PROTOCOL example: "http" required: false - displayName: Smart Router external URL description: Public URL where the router can be found. Format http://: (router property org.kie.server.router.url.external) name: KIE_SERVER_ROUTER_URL_EXTERNAL - displayName: Smart Router name description: Router name used when connecting to the controller (router property org.kie.server.router.name) name: KIE_SERVER_ROUTER_NAME value: KIE Server Router - displayName: KIE Server Monitor User description: KIE server monitor username (Sets the org.kie.server.controller.user system property) name: KIE_SERVER_MONITOR_USER value: monitorUser required: false - displayName: KIE Server Monitor Password description: KIE server monitor password (Sets the org.kie.server.controller.pwd system property) name: KIE_SERVER_MONITOR_PWD from: "[a-zA-Z]{6}[0-9]{1}!" generate: expression required: false - displayName: JGroups Cluster Password description: JGroups Cluster Password, used to establish an EAP cluster on OpenShift name: JGROUPS_CLUSTER_PASSWORD from: "[a-zA-Z]{6}[0-9]{1}!" generate: expression required: true - displayName: KIE MBeans description: KIE mbeans enabled/disabled (Sets the kie.mbeans and kie.scanner.mbeans system properties) name: KIE_MBEANS value: enabled required: false - displayName: Business Central Custom http Route Hostname description: 'Custom hostname for http service route. Leave blank for default hostname, e.g.: -rhpamcentrmon-.' name: BUSINESS_CENTRAL_HOSTNAME_HTTP value: '' required: false - displayName: Business Central Custom https Route Hostname description: 'Custom hostname for https service route. Leave blank for default hostname, e.g.: secure--rhpamcentrmon-.' name: BUSINESS_CENTRAL_HOSTNAME_HTTPS value: '' required: false - displayName: Business Central Server Keystore Secret Name description: The name of the secret containing the keystore file name: BUSINESS_CENTRAL_HTTPS_SECRET example: businesscentral-app-secret required: true - displayName: Business Central Server Keystore Filename description: The name of the keystore file within the secret name: BUSINESS_CENTRAL_HTTPS_KEYSTORE value: keystore.jks required: false - displayName: Business Central Server Certificate Name description: The name associated with the server certificate name: BUSINESS_CENTRAL_HTTPS_NAME value: jboss required: false - displayName: Business Central Server Keystore Password description: The password for the keystore and certificate name: BUSINESS_CENTRAL_HTTPS_PASSWORD value: mykeystorepass required: false - displayName: Smart Router Custom http Route Hostname description: 'Custom hostname for http service route. Leave blank for default hostname, e.g.: -rhpamcentrmon-.' name: SMART_ROUTER_HOSTNAME_HTTP value: '' required: false - displayName: Business Central Container Memory Limit description: Business Central Container memory limit name: BUSINESS_CENTRAL_MEMORY_LIMIT value: 2Gi required: false - displayName: Smart Router Container Memory Limit description: Smart Router Container memory limit name: SMART_ROUTER_MEMORY_LIMIT value: 512Mi required: false - displayName: RH-SSO URL description: RH-SSO URL name: SSO_URL example: https://rh-sso.example.com/auth required: false - displayName: RH-SSO Realm name description: RH-SSO Realm name name: SSO_REALM required: false - displayName: Business Central Monitoring RH-SSO Client name description: Business Central Monitoring RH-SSO Client name name: BUSINESS_CENTRAL_SSO_CLIENT required: false - displayName: Business Central Monitoring RH-SSO Client Secret description: Business Central Monitoring RH-SSO Client Secret name: BUSINESS_CENTRAL_SSO_SECRET example: "252793ed-7118-4ca8-8dab-5622fa97d892" required: false - displayName: RH-SSO Realm Admin Username description: RH-SSO Realm Admin Username used to create the Client if it doesn't exist name: SSO_USERNAME required: false - displayName: RH-SSO Realm Admin Password description: RH-SSO Realm Admin Password used to create the Client name: SSO_PASSWORD required: false - displayName: RH-SSO Disable SSL Certificate Validation description: RH-SSO Disable SSL Certificate Validation name: SSO_DISABLE_SSL_CERTIFICATE_VALIDATION value: "false" required: false objects: - kind: Service apiVersion: v1 spec: ports: - name: http port: 8080 targetPort: 8080 - name: https port: 8443 targetPort: 8443 selector: deploymentConfig: "${APPLICATION_NAME}-rhpamcentrmon" metadata: name: "${APPLICATION_NAME}-rhpamcentrmon" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" annotations: description: All the Business Central Monitoring web server's ports. - kind: Service apiVersion: v1 spec: clusterIP: "None" ports: - name: "ping" port: 8888 selector: deploymentConfig: "${APPLICATION_NAME}-rhpamcentrmon" metadata: name: "${APPLICATION_NAME}-rhpamcentrmon-ping" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" annotations: service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" description: "The JGroups ping port for clustering." - kind: Service apiVersion: v1 spec: ports: - port: 9000 targetPort: 9000 selector: deploymentConfig: "${APPLICATION_NAME}-smartrouter" metadata: name: "${APPLICATION_NAME}-smartrouter" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-smartrouter" annotations: description: The smart router server http port. - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-rhpamcentrmon-http" metadata: name: "${APPLICATION_NAME}-rhpamcentrmon" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" annotations: description: Route for Business Central Monitoring's http service. haproxy.router.openshift.io/timeout: 60s spec: host: "${BUSINESS_CENTRAL_HOSTNAME_HTTP}" to: name: "${APPLICATION_NAME}-rhpamcentrmon" port: targetPort: http - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-rhpamcentrmon-https" metadata: name: "secure-${APPLICATION_NAME}-rhpamcentrmon" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" annotations: description: Route for Business Central Monitoring's https service. haproxy.router.openshift.io/timeout: 60s spec: host: "${BUSINESS_CENTRAL_HOSTNAME_HTTPS}" to: name: "${APPLICATION_NAME}-rhpamcentrmon" port: targetPort: https tls: termination: passthrough - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-smartrouter-http" metadata: name: "${APPLICATION_NAME}-smartrouter" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-smartrouter" annotations: description: Route for Smart Router's http service. spec: host: "${SMART_ROUTER_HOSTNAME_HTTP}" to: name: "${APPLICATION_NAME}-smartrouter" - kind: DeploymentConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-rhpamcentrmon" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" spec: strategy: type: Recreate triggers: - type: ImageChange imageChangeParams: automatic: true containerNames: - "${APPLICATION_NAME}-rhpamcentrmon" from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: "rhpam70-businesscentral-monitoring-openshift:${IMAGE_STREAM_TAG}" - type: ConfigChange replicas: 1 selector: deploymentConfig: "${APPLICATION_NAME}-rhpamcentrmon" template: metadata: name: "${APPLICATION_NAME}-rhpamcentrmon" labels: deploymentConfig: "${APPLICATION_NAME}-rhpamcentrmon" application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" spec: terminationGracePeriodSeconds: 60 containers: - name: "${APPLICATION_NAME}-rhpamcentrmon" image: rhpam70-businesscentral-monitoring-openshift imagePullPolicy: Always resources: limits: memory: "${BUSINESS_CENTRAL_MEMORY_LIMIT}" volumeMounts: - name: businesscentral-keystore-volume mountPath: "/etc/businesscentral-secret-volume" readOnly: true - name: "${APPLICATION_NAME}-rhpamcentr-pvol" mountPath: "/opt/eap/standalone/data/bpmsuite" livenessProbe: exec: command: - "/bin/bash" - "-c" - "curl --fail --silent -u '${KIE_ADMIN_USER}:${KIE_ADMIN_PWD}' http://localhost:8080/kie-wb.jsp" initialDelaySeconds: 180 timeoutSeconds: 2 periodSeconds: 15 readinessProbe: exec: command: - "/bin/bash" - "-c" - "curl --fail --silent -u '${KIE_ADMIN_USER}:${KIE_ADMIN_PWD}' http://localhost:8080/kie-wb.jsp" initialDelaySeconds: 60 timeoutSeconds: 2 periodSeconds: 30 failureThreshold: 6 ports: - name: jolokia containerPort: 8778 protocol: TCP - name: http containerPort: 8080 protocol: TCP - name: https containerPort: 8443 protocol: TCP - name: ping containerPort: 8888 protocol: TCP env: - name: KIE_ADMIN_PWD value: "${KIE_ADMIN_PWD}" - name: KIE_ADMIN_USER value: "${KIE_ADMIN_USER}" - name: KIE_SERVER_PWD value: "${KIE_SERVER_PWD}" - name: KIE_SERVER_USER value: "${KIE_SERVER_USER}" - name: MAVEN_REPO_URL value: "${MAVEN_REPO_URL}" - name: MAVEN_REPO_USERNAME value: "${MAVEN_REPO_USERNAME}" - name: MAVEN_REPO_PASSWORD value: "${MAVEN_REPO_PASSWORD}" - name: ADMIN_USERNAME value: "${ADMIN_USERNAME}" - name: ADMIN_PASSWORD value: "${ADMIN_PASSWORD}" - name: KIE_SERVER_CONTROLLER_USER value: "${KIE_SERVER_MONITOR_USER}" - name: KIE_SERVER_CONTROLLER_PWD value: "${KIE_SERVER_MONITOR_PWD}" - name: PROBE_IMPL value: probe.eap.jolokia.EapProbe - name: PROBE_DISABLE_BOOT_ERRORS_CHECK value: 'true' - name: HTTPS_KEYSTORE_DIR value: "/etc/businesscentral-secret-volume" - name: HTTPS_KEYSTORE value: "${BUSINESS_CENTRAL_HTTPS_KEYSTORE}" - name: HTTPS_NAME value: "${BUSINESS_CENTRAL_HTTPS_NAME}" - name: HTTPS_PASSWORD value: "${BUSINESS_CENTRAL_HTTPS_PASSWORD}" - name: JGROUPS_PING_PROTOCOL value: "openshift.DNS_PING" - name: OPENSHIFT_DNS_PING_SERVICE_NAME value: "${APPLICATION_NAME}-rhpamcentrmon-ping" - name: OPENSHIFT_DNS_PING_SERVICE_PORT value: "8888" - name: SSO_URL value: "${SSO_URL}" - name: SSO_OPENIDCONNECT_DEPLOYMENTS value: "ROOT.war" - name: SSO_REALM value: "${SSO_REALM}" - name: SSO_SECRET value: "${BUSINESS_CENTRAL_SSO_SECRET}" - name: SSO_CLIENT value: "${BUSINESS_CENTRAL_SSO_CLIENT}" - name: SSO_USERNAME value: "${SSO_USERNAME}" - name: SSO_PASSWORD value: "${SSO_PASSWORD}" - name: SSO_DISABLE_SSL_CERTIFICATE_VALIDATION value: "${SSO_DISABLE_SSL_CERTIFICATE_VALIDATION}" - name: HOSTNAME_HTTP value: "${BUSINESS_CENTRAL_HOSTNAME_HTTP}" - name: HOSTNAME_HTTPS value: "${BUSINESS_CENTRAL_HOSTNAME_HTTPS}" volumes: - name: businesscentral-keystore-volume secret: secretName: "${BUSINESS_CENTRAL_HTTPS_SECRET}" - name: "${APPLICATION_NAME}-rhpamcentr-pvol" persistentVolumeClaim: claimName: "${APPLICATION_NAME}-rhpamcentr-claim" - kind: DeploymentConfig apiVersion: v1 metadata: name: ${APPLICATION_NAME}-smartrouter labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-smartrouter" spec: strategy: type: Recreate triggers: - type: ImageChange imageChangeParams: automatic: true containerNames: - "${APPLICATION_NAME}-smartrouter" from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: "rhpam70-smartrouter-openshift:${IMAGE_STREAM_TAG}" - type: ConfigChange replicas: 2 selector: deploymentConfig: "${APPLICATION_NAME}-smartrouter" template: metadata: name: "${APPLICATION_NAME}-smartrouter" labels: deploymentConfig: "${APPLICATION_NAME}-smartrouter" application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-smartrouter" spec: terminationGracePeriodSeconds: 60 containers: - name: "${APPLICATION_NAME}-smartrouter" image: rhpam70-smartrouter-openshift imagePullPolicy: Always resources: limits: memory: "${SMART_ROUTER_MEMORY_LIMIT}" ports: - name: http containerPort: 9000 protocol: TCP env: - name: KIE_SERVER_ROUTER_HOST valueFrom: fieldRef: fieldPath: status.podIP - name: KIE_SERVER_ROUTER_PORT value: "${KIE_SERVER_ROUTER_PORT}" - name: KIE_SERVER_ROUTER_URL_EXTERNAL value: "${KIE_SERVER_ROUTER_URL_EXTERNAL}" - name: KIE_SERVER_ROUTER_ID value: "${KIE_SERVER_ROUTER_ID}" - name: KIE_SERVER_ROUTER_NAME value: "${KIE_SERVER_ROUTER_NAME}" - name: KIE_SERVER_ROUTER_PROTOCOL value: "${KIE_SERVER_ROUTER_PROTOCOL}" - name: KIE_SERVER_CONTROLLER_USER value: "${KIE_SERVER_MONITOR_USER}" - name: KIE_SERVER_CONTROLLER_PWD value: "${KIE_SERVER_MONITOR_PWD}" - name: KIE_SERVER_CONTROLLER_SERVICE value: "${APPLICATION_NAME}-rhpamcentrmon" - name: KIE_SERVER_ROUTER_REPO value: "/opt/rhpam-smartrouter/data" - name: KIE_SERVER_ROUTER_CONFIG_WATCHER_ENABLED value: "true" volumeMounts: - name: "${APPLICATION_NAME}-smartrouter" mountPath: "/opt/rhpam-smartrouter/data" volumes: - name: "${APPLICATION_NAME}-smartrouter" persistentVolumeClaim: claimName: "${APPLICATION_NAME}-smartrouter-claim" - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: "${APPLICATION_NAME}-smartrouter-claim" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-smartrouter" spec: accessModes: - ReadWriteMany resources: requests: storage: "64Mi" - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: "${APPLICATION_NAME}-rhpamcentr-claim" labels: application: "${APPLICATION_NAME}" service: "${APPLICATION_NAME}-rhpamcentrmon" spec: accessModes: - ReadWriteMany resources: requests: storage: "64Mi"