kind: Template apiVersion: v1 metadata: annotations: description: Application template for Red Hat Decision Manager Execution Server 7.0 application. iconClass: icon-jboss tags: rhdm,jboss,kieserver version: "1.2" openshift.io/display-name: Red Hat Decision Manager Execution Server 7.0 (Ephemeral with https) name: rhdm70-kieserver labels: template: rhdm70-kieserver rhdm: "1.2" message: |- A new Decision Manager Execution Server application has been created in your project. The username/password for calls to the Decision Server is: Username: ${KIE_SERVER_USER} Password: ${KIE_SERVER_PWD} Please be sure to create the "kieserver-service-account" service account and the secret named "${HTTPS_SECRET}" containing the ${HTTPS_KEYSTORE} file used for serving secure content. Only stateless API calls to the Decision Server are supported. 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: true - 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: Name of the Maven service hosted by Decision Central description: The service name for the optional decision central, where it can be reached, to allow service lookups (for maven repo usage), if required name: DECISION_CENTRAL_MAVEN_SERVICE example: "myapp-rhdmcentr" required: false - displayName: Username for the Maven service hosted by Decision Central description: Username to access the Maven service hosted by Decision Central inside EAP. name: DECISION_CENTRAL_MAVEN_USERNAME example: "mavenUser" required: false - displayName: Password for the Maven service hosted by Decision Central description: Password to access the Maven service hosted by Decision Central inside EAP. name: DECISION_CENTRAL_MAVEN_PASSWORD example: "maven1!" required: false - displayName: KIE Admin User description: KIE administrator user name. Use this user account to manage the Decision Server using administrative API calls. 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 user name. Use this user account for API calls to the Decision Server. (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 (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: KIE Server ID description: Decision server identifier. Determines the template ID in Decision Central or controller. If this parameter is left blank, it is set using the $HOSTNAME environment variable or a random value. (Sets the org.kie.server.id system property). name: KIE_SERVER_ID value: '' required: false - displayName: KIE Server Bypass Auth User description: KIE execution server bypass auth user. If this parameter is set to true, the Decision Server accepts API calls without user account authorization. (Sets the org.kie.server.bypass.auth.user system property). name: KIE_SERVER_BYPASS_AUTH_USER value: 'false' required: false - displayName: KIE Server Controller User description: KIE server controller user name. The Decision Server uses this user account to log on to Decision Central or a controller. (Sets the org.kie.server.controller.user system property). name: KIE_SERVER_CONTROLLER_USER value: controllerUser required: false - displayName: KIE Server Controller Password description: KIE server controller password (sets the org.kie.server.controller.pwd system property). name: KIE_SERVER_CONTROLLER_PWD from: "[a-zA-Z]{6}[0-9]{1}!" generate: expression required: false - displayName: KIE server controller protocol description: KIE server controller service. To use Decision Central that is hosted on the same OpenShift environment to manage this Decision Server, set this variable to the OpenShift service name for the Decision Central. In this case, do not set the KIE server controller protocol, KIE server controller host, and KIE server controller port. (Sets the org.kie.server.controller system property if host and port are not set). name: KIE_SERVER_CONTROLLER_PROTOCOL value: http required: false - displayName: KIE server controller service description: The service name for the optional Decision Central or controller, where it can be reached and registered with. (Used to set the org.kie.server.controller system property if host and port aren't set) name: KIE_SERVER_CONTROLLER_SERVICE value: '' required: false - displayName: KIE server controller host description: KIE server controller host. To use Decision Central or a controller to manage this Decision Server, set this parameter to the host part of the URL for the Decision Central or controller. (Used to set the org.kie.server.controller system property). name: KIE_SERVER_CONTROLLER_HOST example: my-app-controller-ocpuser.os.example.com required: false - displayName: KIE server controller port description: KIE server controller port. To use Decision Central or a controller to manage this Decision Server, set this parameter to the port part of the URL for the Decision Central or controller. (Used to set the org.kie.server.controller system property). name: KIE_SERVER_CONTROLLER_PORT example: '8080' required: false - displayName: KIE MBeans description: KIE execution server mbeans enabled/disabled. These MBeans provide monitoring information. (Sets the kie.mbeans and kie.scanner.mbeans system properties). name: KIE_MBEANS value: enabled required: false - displayName: Drools Server Filter Classes description: KIE execution server class filtering. When this parameter is set to true, the Decision Server extension accepts custom classes annotated by the XmlRootElement or Remotable annotations only. Setting to true is preferable for performance, but some custom decision services might require false. (Sets the org.drools.server.filter.classes system property). name: DROOLS_SERVER_FILTER_CLASSES value: 'true' required: false - displayName: Decision Server Custom http Route Hostname description: 'Custom hostname for http service route, if set will also configure the KIE_SERVER_HOST. Leave blank for default hostname, example: -kieserver-.' name: EXECUTION_SERVER_HOSTNAME_HTTP value: '' required: false - displayName: Decision Server Custom https Route Hostname description: 'Custom hostname for https service route. Leave blank for default hostname, example: secure--kieserver-.' name: EXECUTION_SERVER_HOSTNAME_HTTPS value: '' required: false - displayName: Use the secure route name to set KIE_SERVER_HOST. description: Use https for the KIE_SERVER_HOST when it is not explicit configured to a custom value. name: EXECUTION_SERVER_USE_SECURE_ROUTE_NAME value: 'false' required: false - displayName: Server Keystore Secret Name description: The name of the secret containing the keystore file for Decision Server. name: HTTPS_SECRET value: kieserver-app-secret required: false - displayName: Server Keystore Filename description: The name of the keystore file within the secret. name: HTTPS_KEYSTORE value: keystore.jks required: false - displayName: Server Certificate Name description: The name associated with the server certificate. name: HTTPS_NAME value: jboss required: false - displayName: Server Keystore Password description: The password for the keystore and certificate. name: HTTPS_PASSWORD value: mykeystorepass 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. Modify this setting only if you have 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.1". name: IMAGE_STREAM_TAG value: "1.1" required: false - displayName: KIE Server Container Deployment description: 'KIE Server Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2' name: KIE_SERVER_CONTAINER_DEPLOYMENT value: '' required: false - displayName: Execution Server Container Memory Limit description: Execution Server Container memory limit name: EXCECUTION_SERVER_MEMORY_LIMIT value: 1Gi required: false objects: - kind: ServiceAccount apiVersion: v1 metadata: name: "${APPLICATION_NAME}-kieserver" labels: application: "${APPLICATION_NAME}" - kind: RoleBinding apiVersion: v1 metadata: name: "${APPLICATION_NAME}-kieserver-view" subjects: - kind: ServiceAccount name: "${APPLICATION_NAME}-kieserver" roleRef: name: view - kind: Service apiVersion: v1 spec: ports: - port: 8080 targetPort: 8080 selector: deploymentConfig: "${APPLICATION_NAME}-kieserver" metadata: name: "${APPLICATION_NAME}-kieserver" labels: application: "${APPLICATION_NAME}" annotations: description: The execution server web server's http port. - kind: Service apiVersion: v1 spec: ports: - port: 8443 targetPort: 8443 selector: deploymentConfig: "${APPLICATION_NAME}-kieserver" metadata: name: secure-${APPLICATION_NAME}-kieserver labels: application: "${APPLICATION_NAME}" annotations: description: The execution server web server's https port. - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-kieserver-http" metadata: name: "${APPLICATION_NAME}-kieserver" labels: application: "${APPLICATION_NAME}" annotations: description: Route for execution server's http service. spec: host: "${EXECUTION_SERVER_HOSTNAME_HTTP}" to: name: "${APPLICATION_NAME}-kieserver" - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-kieserver-https" metadata: name: secure-${APPLICATION_NAME}-kieserver labels: application: "${APPLICATION_NAME}" annotations: description: Route for execution server's https service. spec: host: "${EXECUTION_SERVER_HOSTNAME_HTTPS}" to: name: secure-${APPLICATION_NAME}-kieserver tls: termination: passthrough - kind: DeploymentConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-kieserver" labels: application: "${APPLICATION_NAME}" spec: strategy: type: Recreate triggers: - type: ImageChange imageChangeParams: automatic: true containerNames: - "${APPLICATION_NAME}-kieserver" from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: "rhdm70-kieserver-openshift:${IMAGE_STREAM_TAG}" - type: ConfigChange replicas: 1 selector: deploymentConfig: "${APPLICATION_NAME}-kieserver" template: metadata: name: "${APPLICATION_NAME}-kieserver" labels: deploymentConfig: "${APPLICATION_NAME}-kieserver" application: "${APPLICATION_NAME}" spec: serviceAccountName: "${APPLICATION_NAME}-kieserver" terminationGracePeriodSeconds: 60 containers: - name: "${APPLICATION_NAME}-kieserver" image: rhdm70-kieserver-openshift imagePullPolicy: Always resources: limits: memory: "${EXCECUTION_SERVER_MEMORY_LIMIT}" volumeMounts: - name: kieserver-keystore-volume mountPath: "/etc/kieserver-secret-volume" readOnly: true livenessProbe: exec: command: - "/bin/bash" - "-c" - "/opt/eap/bin/livenessProbe.sh" readinessProbe: exec: command: - "/bin/bash" - "-c" - "/opt/eap/bin/readinessProbe.sh" ports: - name: jolokia containerPort: 8778 protocol: TCP - name: http containerPort: 8080 protocol: TCP - name: https containerPort: 8443 protocol: TCP env: - name: DROOLS_SERVER_FILTER_CLASSES value: "${DROOLS_SERVER_FILTER_CLASSES}" - name: KIE_ADMIN_PWD value: "${KIE_ADMIN_PWD}" - name: KIE_ADMIN_USER value: "${KIE_ADMIN_USER}" - name: KIE_MBEANS value: "${KIE_MBEANS}" - name: KIE_SERVER_BYPASS_AUTH_USER value: "${KIE_SERVER_BYPASS_AUTH_USER}" - name: KIE_SERVER_CONTROLLER_USER value: "${KIE_SERVER_CONTROLLER_USER}" - name: KIE_SERVER_CONTROLLER_PWD value: "${KIE_SERVER_CONTROLLER_PWD}" - name: KIE_SERVER_CONTROLLER_SERVICE value: "${KIE_SERVER_CONTROLLER_SERVICE}" - name: KIE_SERVER_CONTROLLER_PROTOCOL value: "${KIE_SERVER_CONTROLLER_PROTOCOL}" - name: KIE_SERVER_CONTROLLER_HOST value: "${KIE_SERVER_CONTROLLER_HOST}" - name: KIE_SERVER_CONTROLLER_PORT value: "${KIE_SERVER_CONTROLLER_PORT}" - name: KIE_SERVER_CONTROLLER_PROTOCOL value: "ws" - name: KIE_SERVER_ID value: "${KIE_SERVER_ID}" - name: KIE_SERVER_HOST value: "${EXECUTION_SERVER_HOSTNAME_HTTP}" - name: EXECUTION_SERVER_ROUTE_NAME value: "${APPLICATION_NAME}-kieserver" - name: EXECUTION_SERVER_USE_SECURE_ROUTE_NAME value: "${EXECUTION_SERVER_USE_SECURE_ROUTE_NAME}" - name: KIE_SERVER_PWD value: "${KIE_SERVER_PWD}" - name: KIE_SERVER_USER value: "${KIE_SERVER_USER}" - name: KIE_SERVER_CONTAINER_DEPLOYMENT value: "${KIE_SERVER_CONTAINER_DEPLOYMENT}" - name: MAVEN_REPOS value: "RHDMCENTR,EXTERNAL" - name: RHDMCENTR_MAVEN_REPO_SERVICE value: "${DECISION_CENTRAL_MAVEN_SERVICE}" - name: RHDMCENTR_MAVEN_REPO_PATH value: "/maven2/" - name: RHDMCENTR_MAVEN_REPO_USERNAME value: "${DECISION_CENTRAL_MAVEN_USERNAME}" - name: RHDMCENTR_MAVEN_REPO_PASSWORD value: "${DECISION_CENTRAL_MAVEN_PASSWORD}" - name: EXTERNAL_MAVEN_REPO_URL value: "${MAVEN_REPO_URL}" - name: EXTERNAL_MAVEN_REPO_USERNAME value: "${MAVEN_REPO_USERNAME}" - name: EXTERNAL_MAVEN_REPO_PASSWORD value: "${MAVEN_REPO_PASSWORD}" - name: HTTPS_KEYSTORE_DIR value: "/etc/kieserver-secret-volume" - name: HTTPS_KEYSTORE value: "${HTTPS_KEYSTORE}" - name: HTTPS_NAME value: "${HTTPS_NAME}" - name: HTTPS_PASSWORD value: "${HTTPS_PASSWORD}" volumes: - name: kieserver-keystore-volume secret: secretName: "${HTTPS_SECRET}"