rhdm70-kieserver-https-s2i.yaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. kind: Template
  2. apiVersion: v1
  3. metadata:
  4. annotations:
  5. description: Application template for Red Hat Decision Manager Execution Server 7.0 application built using S2I.
  6. iconClass: icon-decisionserver
  7. tags: rhdm,jboss,xpaas
  8. version: 1.4.8
  9. openshift.io/display-name: Red Hat Decision Manager Execution Server 7.0 S2I (Ephemeral with https)
  10. name: rhdm70-kieserver-https-s2i
  11. labels:
  12. template: rhdm70-kieserver-https-s2i
  13. xpaas: 1.4.8
  14. message: A new Decision Manager Execution Server application has been created in your
  15. project. Please be sure to create the "kieserver-service-account" service account and
  16. the secret named "${HTTPS_SECRET}" containing the ${HTTPS_KEYSTORE} file used for
  17. serving secure content. The username/password for accessing the KIE Server REST interface is ${KIE_SERVER_USER}/${KIE_SERVER_PWD}.
  18. parameters:
  19. - displayName: Application Name
  20. description: The name for the application.
  21. name: APPLICATION_NAME
  22. value: myapp
  23. required: true
  24. - displayName: EAP Admin User
  25. description: EAP administrator username
  26. name: ADMIN_USERNAME
  27. value: eapadmin
  28. required: false
  29. - displayName: EAP Admin Password
  30. description: EAP administrator password
  31. name: ADMIN_PASSWORD
  32. from: "[a-zA-Z]{6}[0-9]{1}!"
  33. generate: expression
  34. required: false
  35. - displayName: KIE Admin User
  36. description: KIE administrator username
  37. name: KIE_ADMIN_USER
  38. value: adminUser
  39. required: false
  40. - displayName: KIE Admin Password
  41. description: KIE administrator password
  42. name: KIE_ADMIN_PWD
  43. from: "[a-zA-Z]{6}[0-9]{1}!"
  44. generate: expression
  45. required: false
  46. - displayName: KIE Server User
  47. description: KIE execution server username (Sets the org.kie.server.user system
  48. property)
  49. name: KIE_SERVER_USER
  50. value: executionUser
  51. required: false
  52. - displayName: KIE Server Password
  53. description: KIE execution server password (Sets the org.kie.server.pwd system property)
  54. name: KIE_SERVER_PWD
  55. from: "[a-zA-Z]{6}[0-9]{1}!"
  56. generate: expression
  57. required: false
  58. - displayName: KIE Server ID
  59. 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).
  60. name: KIE_SERVER_ID
  61. value: ''
  62. required: false
  63. - displayName: KIE Server Bypass Auth User
  64. description: KIE execution server bypass auth user (Sets the org.kie.server.bypass.auth.user
  65. system property)
  66. name: KIE_SERVER_BYPASS_AUTH_USER
  67. value: 'false'
  68. required: false
  69. - displayName: KIE MBeans
  70. description: KIE execution server mbeans enabled/disabled (Sets the kie.mbeans and
  71. kie.scanner.mbeans system properties)
  72. name: KIE_MBEANS
  73. value: enabled
  74. required: false
  75. - displayName: Drools Server Filter Classes
  76. description: KIE execution server class filtering (Sets the org.drools.server.filter.classes
  77. system property)
  78. name: DROOLS_SERVER_FILTER_CLASSES
  79. value: 'true'
  80. required: false
  81. - displayName: Execution Server Custom http Route Hostname
  82. description: 'Custom hostname for http service route. Leave blank for default hostname,
  83. e.g.: <application-name>-execserv-<project>.<default-domain-suffix>'
  84. name: EXECUTION_SERVER_HOSTNAME_HTTP
  85. value: ''
  86. required: false
  87. - displayName: Execution Server Custom https Route Hostname
  88. description: 'Custom hostname for https service route. Leave blank for default
  89. hostname, e.g.: secure-<application-name>-execserv-<project>.<default-domain-suffix>'
  90. name: EXECUTION_SERVER_HOSTNAME_HTTPS
  91. value: ''
  92. required: false
  93. - displayName: Server Keystore Secret Name
  94. description: The name of the secret containing the keystore file
  95. name: HTTPS_SECRET
  96. value: kieserver-app-secret
  97. required: false
  98. - displayName: Server Keystore Filename
  99. description: The name of the keystore file within the secret
  100. name: HTTPS_KEYSTORE
  101. value: keystore.jks
  102. required: false
  103. - displayName: Server Certificate Name
  104. description: The name associated with the server certificate
  105. name: HTTPS_NAME
  106. value: jboss
  107. required: false
  108. - displayName: Server Keystore Password
  109. description: The password for the keystore and certificate
  110. name: HTTPS_PASSWORD
  111. value: mykeystorepass
  112. required: false
  113. - displayName: KIE Server Container Deployment
  114. description: 'KIE Server Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2'
  115. name: KIE_SERVER_CONTAINER_DEPLOYMENT
  116. value: rhdm-kieserver-hellorules=org.openshift.quickstarts:rhdm-kieserver-hellorules:1.4.8.Final
  117. required: false
  118. - displayName: Git Repository URL
  119. description: Git source URI for application
  120. name: SOURCE_REPOSITORY_URL
  121. value: https://github.com/jboss-container-images/rhdm-7-openshift-image.git
  122. required: true
  123. - displayName: Git Reference
  124. description: Git branch/tag reference
  125. name: SOURCE_REPOSITORY_REF
  126. value: ose-v1.4.8-1
  127. required: false
  128. - displayName: Context Directory
  129. description: Path within Git project to build; empty for root project directory.
  130. name: CONTEXT_DIR
  131. value: quickstarts/hello-rules/hellorules
  132. required: false
  133. - displayName: Github Webhook Secret
  134. description: GitHub trigger secret
  135. name: GITHUB_WEBHOOK_SECRET
  136. from: "[a-zA-Z0-9]{8}"
  137. generate: expression
  138. required: true
  139. - displayName: Generic Webhook Secret
  140. description: Generic build trigger secret
  141. name: GENERIC_WEBHOOK_SECRET
  142. from: "[a-zA-Z0-9]{8}"
  143. generate: expression
  144. required: true
  145. - displayName: ImageStream Namespace
  146. description: Namespace in which the ImageStreams for Red Hat Middleware images are
  147. installed. These ImageStreams are normally installed in the openshift namespace.
  148. You should only need to modify this if you've installed the ImageStreams in a
  149. different namespace/project.
  150. name: IMAGE_STREAM_NAMESPACE
  151. value: openshift
  152. required: true
  153. - displayName: Maven mirror URL
  154. description: Maven mirror to use for S2I builds
  155. name: MAVEN_MIRROR_URL
  156. value: ''
  157. required: false
  158. - displayName: Maven repository URL
  159. description: Fully qualified URL to a Maven repository.
  160. name: MAVEN_REPO_URL
  161. value: ''
  162. required: false
  163. - displayName: Maven repository username
  164. description: Username to access the Maven repository.
  165. name: MAVEN_REPO_USERNAME
  166. value: ''
  167. required: false
  168. - displayName: Maven repository password
  169. description: Password to access the Maven repository.
  170. name: MAVEN_REPO_PASSWORD
  171. value: ''
  172. required: false
  173. - description: List of directories from which archives will be copied into the deployment
  174. folder. If unspecified, all archives in /target will be copied.
  175. name: ARTIFACT_DIR
  176. value: ''
  177. required: false
  178. objects:
  179. - kind: Service
  180. apiVersion: v1
  181. spec:
  182. ports:
  183. - port: 8080
  184. targetPort: 8080
  185. selector:
  186. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  187. metadata:
  188. name: "${APPLICATION_NAME}-kieserver"
  189. labels:
  190. application: "${APPLICATION_NAME}"
  191. annotations:
  192. description: The execution server web server's http port.
  193. - kind: Service
  194. apiVersion: v1
  195. spec:
  196. ports:
  197. - port: 8443
  198. targetPort: 8443
  199. selector:
  200. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  201. metadata:
  202. name: secure-${APPLICATION_NAME}-kieserver
  203. labels:
  204. application: "${APPLICATION_NAME}"
  205. annotations:
  206. description: The execution server web server's https port.
  207. - kind: Route
  208. apiVersion: v1
  209. id: "${APPLICATION_NAME}-kieserver-http"
  210. metadata:
  211. name: "${APPLICATION_NAME}-kieserver"
  212. labels:
  213. application: "${APPLICATION_NAME}"
  214. annotations:
  215. description: Route for execution server's http service.
  216. spec:
  217. host: "${EXECUTION_SERVER_HOSTNAME_HTTP}"
  218. to:
  219. name: "${APPLICATION_NAME}-kieserver"
  220. - kind: Route
  221. apiVersion: v1
  222. id: "${APPLICATION_NAME}-kieserver-https"
  223. metadata:
  224. name: secure-${APPLICATION_NAME}-kieserver
  225. labels:
  226. application: "${APPLICATION_NAME}"
  227. annotations:
  228. description: Route for execution server's https service.
  229. spec:
  230. host: "${EXECUTION_SERVER_HOSTNAME_HTTPS}"
  231. to:
  232. name: secure-${APPLICATION_NAME}-kieserver
  233. tls:
  234. termination: passthrough
  235. - kind: ImageStream
  236. apiVersion: v1
  237. metadata:
  238. name: "${APPLICATION_NAME}-kieserver"
  239. labels:
  240. application: "${APPLICATION_NAME}"
  241. - kind: BuildConfig
  242. apiVersion: v1
  243. metadata:
  244. name: "${APPLICATION_NAME}-kieserver"
  245. labels:
  246. application: "${APPLICATION_NAME}"
  247. spec:
  248. source:
  249. type: Git
  250. git:
  251. uri: "${SOURCE_REPOSITORY_URL}"
  252. ref: "${SOURCE_REPOSITORY_REF}"
  253. contextDir: "${CONTEXT_DIR}"
  254. strategy:
  255. type: Source
  256. sourceStrategy:
  257. env:
  258. - name: KIE_SERVER_CONTAINER_DEPLOYMENT
  259. value: "${KIE_SERVER_CONTAINER_DEPLOYMENT}"
  260. - name: MAVEN_MIRROR_URL
  261. value: "${MAVEN_MIRROR_URL}"
  262. - name: ARTIFACT_DIR
  263. value: "${ARTIFACT_DIR}"
  264. forcePull: true
  265. from:
  266. kind: ImageStreamTag
  267. namespace: "${IMAGE_STREAM_NAMESPACE}"
  268. name: rhdm70-kieserver-openshift:1.0
  269. output:
  270. to:
  271. kind: ImageStreamTag
  272. name: "${APPLICATION_NAME}-kieserver:latest"
  273. triggers:
  274. - type: GitHub
  275. github:
  276. secret: "${GITHUB_WEBHOOK_SECRET}"
  277. - type: Generic
  278. generic:
  279. secret: "${GENERIC_WEBHOOK_SECRET}"
  280. - type: ImageChange
  281. imageChange: {}
  282. - type: ConfigChange
  283. - kind: DeploymentConfig
  284. apiVersion: v1
  285. metadata:
  286. name: "${APPLICATION_NAME}-kieserver"
  287. labels:
  288. application: "${APPLICATION_NAME}"
  289. spec:
  290. strategy:
  291. type: Recreate
  292. triggers:
  293. - type: ImageChange
  294. imageChangeParams:
  295. automatic: true
  296. containerNames:
  297. - "${APPLICATION_NAME}-kieserver"
  298. from:
  299. kind: ImageStream
  300. name: "${APPLICATION_NAME}-kieserver"
  301. - type: ConfigChange
  302. replicas: 1
  303. selector:
  304. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  305. template:
  306. metadata:
  307. name: "${APPLICATION_NAME}-kieserver"
  308. labels:
  309. deploymentConfig: "${APPLICATION_NAME}-kieserver"
  310. application: "${APPLICATION_NAME}"
  311. spec:
  312. serviceAccountName: kieserver-service-account
  313. terminationGracePeriodSeconds: 60
  314. containers:
  315. - name: "${APPLICATION_NAME}-kieserver"
  316. image: "${APPLICATION_NAME}-kieserver"
  317. imagePullPolicy: Always
  318. volumeMounts:
  319. - name: kieserver-keystore-volume
  320. mountPath: "/etc/kieserver-secret-volume"
  321. readOnly: true
  322. livenessProbe:
  323. exec:
  324. command:
  325. - "/bin/bash"
  326. - "-c"
  327. - "/opt/eap/bin/livenessProbe.sh"
  328. readinessProbe:
  329. exec:
  330. command:
  331. - "/bin/bash"
  332. - "-c"
  333. - "/opt/eap/bin/readinessProbe.sh"
  334. ports:
  335. - name: jolokia
  336. containerPort: 8778
  337. protocol: TCP
  338. - name: http
  339. containerPort: 8080
  340. protocol: TCP
  341. - name: https
  342. containerPort: 8443
  343. protocol: TCP
  344. env:
  345. - name: DROOLS_SERVER_FILTER_CLASSES
  346. value: "${DROOLS_SERVER_FILTER_CLASSES}"
  347. - name: KIE_ADMIN_PWD
  348. value: "${KIE_ADMIN_PWD}"
  349. - name: KIE_ADMIN_USER
  350. value: "${KIE_ADMIN_USER}"
  351. - name: KIE_MBEANS
  352. value: "${KIE_MBEANS}"
  353. - name: KIE_SERVER_BYPASS_AUTH_USER
  354. value: "${KIE_SERVER_BYPASS_AUTH_USER}"
  355. - name: KIE_SERVER_ID
  356. value: "${KIE_SERVER_ID}"
  357. - name: KIE_SERVER_HOST
  358. valueFrom:
  359. fieldRef:
  360. fieldPath: status.podIP
  361. - name: KIE_SERVER_CONTAINER_DEPLOYMENT
  362. value: "${KIE_SERVER_CONTAINER_DEPLOYMENT}"
  363. - name: KIE_SERVER_PWD
  364. value: "${KIE_SERVER_PWD}"
  365. - name: KIE_SERVER_USER
  366. value: "${KIE_SERVER_USER}"
  367. - name: MAVEN_REPO_URL
  368. value: "${MAVEN_REPO_URL}"
  369. - name: MAVEN_REPO_USERNAME
  370. value: "${MAVEN_REPO_USERNAME}"
  371. - name: MAVEN_REPO_PASSWORD
  372. value: "${MAVEN_REPO_PASSWORD}"
  373. - name: HTTPS_KEYSTORE_DIR
  374. value: "/etc/kieserver-secret-volume"
  375. - name: HTTPS_KEYSTORE
  376. value: "${HTTPS_KEYSTORE}"
  377. - name: HTTPS_NAME
  378. value: "${HTTPS_NAME}"
  379. - name: HTTPS_PASSWORD
  380. value: "${HTTPS_PASSWORD}"
  381. volumes:
  382. - name: kieserver-keystore-volume
  383. secret:
  384. secretName: "${HTTPS_SECRET}"