kind: Template apiVersion: v1 metadata: annotations: description: Application template for Red Hat Decision Manager Execution Server 7.0 application built using S2I. iconClass: icon-jboss tags: rhdm,jboss,xpaas version: 1.4.0 openshift.io/display-name: Red Hat Decision Manager Execution Server 7.0 S2I (Ephemeral with https) name: rhdm70-kieserver-https-s2i labels: template: rhdm70-kieserver-https-s2i xpaas: 1.4.0 message: A new Decision Manager Decision Server application has been created in your project. The user name/password for calls to the Decision Server is ${KIE_SERVER_USER}/${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. The username/password for accessing the KIE Server REST interface is ${KIE_SERVER_USER}/${KIE_SERVER_PWD}. 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: EAP Admin User description: EAP administrator user name. Use this user account if you need use JBoss EAP command line management. You can use rsh to access the command line on the pods. 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. 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 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. Leave blank for default hostname, example: -execserv-.' 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--execserv-.' name: EXECUTION_SERVER_HOSTNAME_HTTPS value: '' 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: KIE Server Container Deployment description: 'KIE Server Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2. This information identifies the decision service (KJAR file) that is built from your source. You can provide two or more KJAR files using the `|` separator, for example: `containerId=groupId:artifactId:version|c2=g2:a2:v2`. The Maven build process must produce all these files from the source in the Git repository.' name: KIE_SERVER_CONTAINER_DEPLOYMENT value: rhdm-kieserver-hellorules=org.openshift.quickstarts:rhdm-kieserver-hellorules:1.4.0-SNAPSHOT required: false - displayName: Git Repository URL description: The URI for the Git repository containing the source for your decision service. name: SOURCE_REPOSITORY_URL value: https://github.com/jboss-container-images/rhdm-7-openshift-image.git required: true - displayName: Git Reference description: Git branch/tag reference for the source of your decision service. name: SOURCE_REPOSITORY_REF value: rhdm70-dev required: false - displayName: Context Directory description: Location of the module to build (pom.xml file) in the Git project. Empty for root project directory. name: CONTEXT_DIR value: quickstarts/hello-rules/hellorules required: false - displayName: Github Webhook Secret description: GitHub trigger secret. name: GITHUB_WEBHOOK_SECRET from: "[a-zA-Z0-9]{8}" generate: expression required: true - displayName: Generic Webhook Secret description: Generic build trigger secret. name: GENERIC_WEBHOOK_SECRET from: "[a-zA-Z0-9]{8}" generate: expression required: true - 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: Maven mirror URL description: Maven mirror to use for S2I builds. If the Maven build of your decision service pulls packages from a Maven repository, you can set this parameter. In this case, the build process will pull packages from the mirror repository instead of the configured original repository. name: MAVEN_MIRROR_URL value: '' required: false - displayName: Maven repository URL description: Fully qualified URL to a Maven repository. name: MAVEN_REPO_URL 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 - description: The directory or several directories within the project that contains the required binary files (KJAR files and any other necessary files) after a successful Maven build. Files from the artefact directory are copied into the deployment folder. Use a comma (,) to separate multiple directories. If this parameter is not specified, all archives in /target are copied. name: ARTIFACT_DIR displayName: Artifact Directory 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: 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: ImageStream apiVersion: v1 metadata: name: "${APPLICATION_NAME}-kieserver" labels: application: "${APPLICATION_NAME}" - kind: BuildConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-kieserver" labels: application: "${APPLICATION_NAME}" spec: source: type: Git git: uri: "${SOURCE_REPOSITORY_URL}" ref: "${SOURCE_REPOSITORY_REF}" contextDir: "${CONTEXT_DIR}" strategy: type: Source sourceStrategy: env: - name: KIE_SERVER_CONTAINER_DEPLOYMENT value: "${KIE_SERVER_CONTAINER_DEPLOYMENT}" - name: MAVEN_MIRROR_URL value: "${MAVEN_MIRROR_URL}" - name: ARTIFACT_DIR value: "${ARTIFACT_DIR}" forcePull: true from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: "rhdm70-kieserver-openshift:${IMAGE_STREAM_TAG}" output: to: kind: ImageStreamTag name: "${APPLICATION_NAME}-kieserver:latest" triggers: - type: GitHub github: secret: "${GITHUB_WEBHOOK_SECRET}" - type: Generic generic: secret: "${GENERIC_WEBHOOK_SECRET}" - type: ImageChange imageChange: {} - type: ConfigChange - 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: ImageStream name: "${APPLICATION_NAME}-kieserver" - type: ConfigChange replicas: 1 selector: deploymentConfig: "${APPLICATION_NAME}-kieserver" template: metadata: name: "${APPLICATION_NAME}-kieserver" labels: deploymentConfig: "${APPLICATION_NAME}-kieserver" application: "${APPLICATION_NAME}" spec: terminationGracePeriodSeconds: 60 containers: - name: "${APPLICATION_NAME}-kieserver" image: "${APPLICATION_NAME}-kieserver" 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_ID value: "${KIE_SERVER_ID}" - name: KIE_SERVER_HOST valueFrom: fieldRef: fieldPath: status.podIP - name: KIE_SERVER_CONTAINER_DEPLOYMENT value: "${KIE_SERVER_CONTAINER_DEPLOYMENT}" - 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: 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}"