rhdm70-kieserver.yaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. kind: Template
  2. apiVersion: v1
  3. metadata:
  4. annotations:
  5. description: Application template for Red Hat Decision Manager Execution Server 7.0 application.
  6. iconClass: icon-jboss
  7. tags: rhdm,jboss,xpaas
  8. version: 1.4.0
  9. openshift.io/display-name: Red Hat Decision Manager Execution Server 7.0 (Ephemeral with https)
  10. name: rhdm70-kieserver
  11. labels:
  12. template: rhdm70-kieserver
  13. xpaas: 1.4.0
  14. message: A new Decision Manager Execution Server application has been created in your
  15. project. The user name/password for calls to the Decision Server is ${KIE_SERVER_USER}/${KIE_SERVER_PWD}.
  16. Please be sure to create the "kieserver-service-account" service account and
  17. the secret named "${HTTPS_SECRET}" containing the ${HTTPS_KEYSTORE} file used for
  18. serving secure content.
  19. Only stateless API calls to the Decision Server are supported.
  20. parameters:
  21. - displayName: Application Name
  22. description: The name for the application.
  23. name: APPLICATION_NAME
  24. value: myapp
  25. required: true
  26. - displayName: Maven repository URL
  27. description: Fully qualified URL to a Maven repository or service.
  28. name: MAVEN_REPO_URL
  29. example: http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/
  30. required: true
  31. - displayName: Maven repository username
  32. description: Username to access the Maven repository, if required.
  33. name: MAVEN_REPO_USERNAME
  34. required: false
  35. - displayName: Maven repository password
  36. description: Password to access the Maven repository, if required.
  37. name: MAVEN_REPO_PASSWORD
  38. required: false
  39. - displayName: EAP Admin User
  40. description: EAP administrator user name. Use this user account if you need use JBoss EAP command line management.
  41. You can use rsh to access the command line on the pods.
  42. name: ADMIN_USERNAME
  43. value: eapadmin
  44. required: false
  45. - displayName: EAP Admin Password
  46. description: EAP administrator password.
  47. name: ADMIN_PASSWORD
  48. from: "[a-zA-Z]{6}[0-9]{1}!"
  49. generate: expression
  50. required: false
  51. - displayName: KIE Admin User
  52. description: KIE administrator user name. Use this user account to manage the Decision Server using administrative
  53. API calls.
  54. name: KIE_ADMIN_USER
  55. value: adminUser
  56. required: false
  57. - displayName: KIE Admin Password
  58. description: KIE administrator password.
  59. name: KIE_ADMIN_PWD
  60. from: "[a-zA-Z]{6}[0-9]{1}!"
  61. generate: expression
  62. required: false
  63. - displayName: KIE Server User
  64. description: KIE execution server user name. Use this user account for API calls to the Decision Server.
  65. (Sets the org.kie.server.user system property).
  66. name: KIE_SERVER_USER
  67. value: executionUser
  68. required: false
  69. - displayName: KIE Server Password
  70. description: KIE execution server password (sets the org.kie.server.pwd system property).
  71. name: KIE_SERVER_PWD
  72. from: "[a-zA-Z]{6}[0-9]{1}!"
  73. generate: expression
  74. required: false
  75. - displayName: KIE Server ID
  76. 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).
  77. name: KIE_SERVER_ID
  78. value: ''
  79. required: false
  80. - displayName: KIE Server Bypass Auth User
  81. description: KIE execution server bypass auth user. If this parameter is set to true, the Decision Server accepts
  82. API calls without user account authorization. (Sets the org.kie.server.bypass.auth.user system property).
  83. name: KIE_SERVER_BYPASS_AUTH_USER
  84. value: 'false'
  85. required: false
  86. - displayName: KIE Server Controller User
  87. description: KIE server controller user name. The Decision Server uses this user account to log on to Decision
  88. Central or a controller. (Sets the org.kie.server.controller.user system property).
  89. name: KIE_SERVER_CONTROLLER_USER
  90. value: controllerUser
  91. required: false
  92. - displayName: KIE Server Controller Password
  93. description: KIE server controller password (sets the org.kie.server.controller.pwd system property).
  94. name: KIE_SERVER_CONTROLLER_PWD
  95. from: "[a-zA-Z]{6}[0-9]{1}!"
  96. generate: expression
  97. required: false
  98. - displayName: KIE server controller protocol
  99. description: KIE server controller service. To use Decision Central that is hosted on the same OpenShift environment
  100. to manage this Decision Server, set this variable to the OpenShift service name for the Decision Central. In this
  101. case, do not set the KIE server controller protocol, KIE server controller host, and KIE server controller port.
  102. (Sets the org.kie.server.controller system property if host and port are not set).
  103. name: KIE_SERVER_CONTROLLER_PROTOCOL
  104. value: http
  105. required: false
  106. - displayName: KIE server controller service
  107. 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)
  108. name: KIE_SERVER_CONTROLLER_SERVICE
  109. value: ''
  110. required: false
  111. - displayName: KIE server controller host
  112. description: KIE server controller host. To use Decision Central or a controller to manage this Decision
  113. Server, set this parameter to the host part of the URL for the Decision Central or controller. (Used to
  114. set the org.kie.server.controller system property).
  115. name: KIE_SERVER_CONTROLLER_HOST
  116. example: my-app-controller-ocpuser.os.example.com
  117. required: false
  118. - displayName: KIE server controller port
  119. description: KIE server controller port. To use Decision Central or a controller to manage this Decision
  120. Server, set this parameter to the port part of the URL for the Decision Central or controller. (Used to
  121. set the org.kie.server.controller system property).
  122. name: KIE_SERVER_CONTROLLER_PORT
  123. example: '8080'
  124. required: false
  125. - displayName: KIE MBeans
  126. description: KIE execution server mbeans enabled/disabled. These MBeans provide monitoring information. (Sets
  127. the kie.mbeans and kie.scanner.mbeans system properties).
  128. name: KIE_MBEANS
  129. value: enabled
  130. required: false
  131. - displayName: Drools Server Filter Classes
  132. description: KIE execution server class filtering. When this parameter is set to true, the Decision Server extension
  133. accepts custom classes annotated by the XmlRootElement or Remotable annotations only. Setting to true is preferable
  134. for performance, but some custom decision services might require false. (Sets the org.drools.server.filter.classes
  135. system property).
  136. name: DROOLS_SERVER_FILTER_CLASSES
  137. value: 'true'
  138. required: false
  139. - displayName: Decision Server Custom http Route Hostname
  140. description: 'Custom hostname for http service route. Leave blank for default hostname,
  141. example: <application-name>-kieserver-<project>.<default-domain-suffix>'
  142. name: EXECUTION_SERVER_HOSTNAME_HTTP
  143. value: ''
  144. required: false
  145. - displayName: Decision Server Custom https Route Hostname
  146. description: 'Custom hostname for https service route. Leave blank for default hostname,
  147. example: secure-<application-name>-kieserver-<project>.<default-domain-suffix>'
  148. name: EXECUTION_SERVER_HOSTNAME_HTTPS
  149. value: ''
  150. required: false
  151. - displayName: Server Keystore Secret Name
  152. description: The name of the secret containing the keystore file for Decision Server.
  153. name: HTTPS_SECRET
  154. value: kieserver-app-secret
  155. required: false
  156. - displayName: Server Keystore Filename
  157. description: The name of the keystore file within the secret.
  158. name: HTTPS_KEYSTORE
  159. value: keystore.jks
  160. required: false
  161. - displayName: Server Certificate Name
  162. description: The name associated with the server certificate.
  163. name: HTTPS_NAME
  164. value: jboss
  165. required: false
  166. - displayName: Server Keystore Password
  167. description: The password for the keystore and certificate.
  168. name: HTTPS_PASSWORD
  169. value: mykeystorepass
  170. required: false
  171. - displayName: ImageStream Namespace
  172. description: Namespace in which the ImageStreams for Red Hat Middleware images are
  173. installed. These ImageStreams are normally installed in the openshift namespace.
  174. Modify this setting only if you have installed the ImageStreams in a different
  175. namespace/project.
  176. name: IMAGE_STREAM_NAMESPACE
  177. value: openshift
  178. required: true
  179. - displayName: ImageStream Tag
  180. description: A named pointer to an image in an image stream. Default is "1.1".
  181. name: IMAGE_STREAM_TAG
  182. value: "1.1"
  183. required: false
  184. - displayName: KIE Server Container Deployment
  185. description: 'KIE Server Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2'
  186. name: KIE_SERVER_CONTAINER_DEPLOYMENT
  187. value: ''
  188. required: false
  189. - displayName: Execution Server Container Memory Limit
  190. description: Execution Server Container memory limit
  191. name: EXCECUTION_SERVER_MEMORY_LIMIT
  192. value: 1Gi
  193. required: false
  194. objects:
  195. - kind: Service
  196. apiVersion: v1
  197. spec:
  198. ports:
  199. - port: 8080
  200. targetPort: 8080
  201. selector:
  202. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  203. metadata:
  204. name: "${APPLICATION_NAME}-kieserver"
  205. labels:
  206. application: "${APPLICATION_NAME}"
  207. annotations:
  208. description: The execution server web server's http port.
  209. - kind: Service
  210. apiVersion: v1
  211. spec:
  212. ports:
  213. - port: 8443
  214. targetPort: 8443
  215. selector:
  216. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  217. metadata:
  218. name: secure-${APPLICATION_NAME}-kieserver
  219. labels:
  220. application: "${APPLICATION_NAME}"
  221. annotations:
  222. description: The execution server web server's https port.
  223. - kind: Route
  224. apiVersion: v1
  225. id: "${APPLICATION_NAME}-kieserver-http"
  226. metadata:
  227. name: "${APPLICATION_NAME}-kieserver"
  228. labels:
  229. application: "${APPLICATION_NAME}"
  230. annotations:
  231. description: Route for execution server's http service.
  232. spec:
  233. host: "${EXECUTION_SERVER_HOSTNAME_HTTP}"
  234. to:
  235. name: "${APPLICATION_NAME}-kieserver"
  236. - kind: Route
  237. apiVersion: v1
  238. id: "${APPLICATION_NAME}-kieserver-https"
  239. metadata:
  240. name: secure-${APPLICATION_NAME}-kieserver
  241. labels:
  242. application: "${APPLICATION_NAME}"
  243. annotations:
  244. description: Route for execution server's https service.
  245. spec:
  246. host: "${EXECUTION_SERVER_HOSTNAME_HTTPS}"
  247. to:
  248. name: secure-${APPLICATION_NAME}-kieserver
  249. tls:
  250. termination: passthrough
  251. - kind: DeploymentConfig
  252. apiVersion: v1
  253. metadata:
  254. name: "${APPLICATION_NAME}-kieserver"
  255. labels:
  256. application: "${APPLICATION_NAME}"
  257. spec:
  258. strategy:
  259. type: Recreate
  260. triggers:
  261. - type: ImageChange
  262. imageChangeParams:
  263. automatic: true
  264. containerNames:
  265. - "${APPLICATION_NAME}-kieserver"
  266. from:
  267. kind: ImageStreamTag
  268. namespace: "${IMAGE_STREAM_NAMESPACE}"
  269. name: "rhdm70-kieserver-openshift:${IMAGE_STREAM_TAG}"
  270. - type: ConfigChange
  271. replicas: 1
  272. selector:
  273. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  274. template:
  275. metadata:
  276. name: "${APPLICATION_NAME}-kieserver"
  277. labels:
  278. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  279. application: "${APPLICATION_NAME}"
  280. spec:
  281. terminationGracePeriodSeconds: 60
  282. containers:
  283. - name: "${APPLICATION_NAME}-kieserver"
  284. image: rhdm70-kieserver-openshift
  285. imagePullPolicy: Always
  286. resources:
  287. limits:
  288. memory: "${EXCECUTION_SERVER_MEMORY_LIMIT}"
  289. volumeMounts:
  290. - name: kieserver-keystore-volume
  291. mountPath: "/etc/kieserver-secret-volume"
  292. readOnly: true
  293. livenessProbe:
  294. exec:
  295. command:
  296. - "/bin/bash"
  297. - "-c"
  298. - "/opt/eap/bin/livenessProbe.sh"
  299. readinessProbe:
  300. exec:
  301. command:
  302. - "/bin/bash"
  303. - "-c"
  304. - "/opt/eap/bin/readinessProbe.sh"
  305. ports:
  306. - name: jolokia
  307. containerPort: 8778
  308. protocol: TCP
  309. - name: http
  310. containerPort: 8080
  311. protocol: TCP
  312. - name: https
  313. containerPort: 8443
  314. protocol: TCP
  315. env:
  316. - name: DROOLS_SERVER_FILTER_CLASSES
  317. value: "${DROOLS_SERVER_FILTER_CLASSES}"
  318. - name: KIE_ADMIN_PWD
  319. value: "${KIE_ADMIN_PWD}"
  320. - name: KIE_ADMIN_USER
  321. value: "${KIE_ADMIN_USER}"
  322. - name: KIE_MBEANS
  323. value: "${KIE_MBEANS}"
  324. - name: KIE_SERVER_BYPASS_AUTH_USER
  325. value: "${KIE_SERVER_BYPASS_AUTH_USER}"
  326. - name: KIE_SERVER_CONTROLLER_USER
  327. value: "${KIE_SERVER_CONTROLLER_USER}"
  328. - name: KIE_SERVER_CONTROLLER_PWD
  329. value: "${KIE_SERVER_CONTROLLER_PWD}"
  330. - name: KIE_SERVER_CONTROLLER_SERVICE
  331. value: "${KIE_SERVER_CONTROLLER_SERVICE}"
  332. - name: KIE_SERVER_CONTROLLER_PROTOCOL
  333. value: "${KIE_SERVER_CONTROLLER_PROTOCOL}"
  334. - name: KIE_SERVER_CONTROLLER_HOST
  335. value: "${KIE_SERVER_CONTROLLER_HOST}"
  336. - name: KIE_SERVER_CONTROLLER_PORT
  337. value: "${KIE_SERVER_CONTROLLER_PORT}"
  338. - name: KIE_SERVER_ID
  339. value: "${KIE_SERVER_ID}"
  340. - name: KIE_SERVER_HOST
  341. valueFrom:
  342. fieldRef:
  343. fieldPath: status.podIP
  344. - name: KIE_SERVER_PWD
  345. value: "${KIE_SERVER_PWD}"
  346. - name: KIE_SERVER_USER
  347. value: "${KIE_SERVER_USER}"
  348. - name: KIE_SERVER_CONTAINER_DEPLOYMENT
  349. value: "${KIE_SERVER_CONTAINER_DEPLOYMENT}"
  350. - name: MAVEN_REPO_URL
  351. value: "${MAVEN_REPO_URL}"
  352. - name: MAVEN_REPO_USERNAME
  353. value: "${MAVEN_REPO_USERNAME}"
  354. - name: MAVEN_REPO_PASSWORD
  355. value: "${MAVEN_REPO_PASSWORD}"
  356. - name: HTTPS_KEYSTORE_DIR
  357. value: "/etc/kieserver-secret-volume"
  358. - name: HTTPS_KEYSTORE
  359. value: "${HTTPS_KEYSTORE}"
  360. - name: HTTPS_NAME
  361. value: "${HTTPS_NAME}"
  362. - name: HTTPS_PASSWORD
  363. value: "${HTTPS_PASSWORD}"
  364. volumes:
  365. - name: kieserver-keystore-volume
  366. secret:
  367. secretName: "${HTTPS_SECRET}"