datavirt63-extensions-support-s2i.json 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. {
  2. "kind": "Template",
  3. "apiVersion": "v1",
  4. "metadata": {
  5. "annotations": {
  6. "iconClass": "icon-datavirt",
  7. "tags": "jdv,datavirt,database,jboss",
  8. "version": "1.4.7",
  9. "openshift.io/display-name": "JBoss Data Virtualization 6.3 (with SSL and Extensions)",
  10. "openshift.io/provider-display-name": "Red Hat, Inc.",
  11. "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.",
  12. "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Data Virtualization based application, including a build configuration, application deployment configuration, support for installing extensions (e.g. third-party DB drivers) and the ability to configure certificates for serving secure content.",
  13. "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-data-virtualization/",
  14. "template.openshift.io/support-url": "https://access.redhat.com"
  15. },
  16. "name": "datavirt63-extensions-support-s2i"
  17. },
  18. "labels": {
  19. "template": "datavirt63-extensions-support-s2i",
  20. "xpaas": "1.4.7"
  21. },
  22. "message": "A new data service has been created in your project. The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}. Please be sure to create the \"${SERVICE_ACCOUNT_NAME}\" service account and the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.",
  23. "parameters": [
  24. {
  25. "description": "The name for the application.",
  26. "displayName": "Application Name",
  27. "name": "APPLICATION_NAME",
  28. "value": "datavirt-app",
  29. "required": true
  30. },
  31. {
  32. "description": "The name of the secret containing configuration properties for the data sources.",
  33. "displayName": "Configuration Secret Name",
  34. "name": "CONFIGURATION_NAME",
  35. "value": "datavirt-app-config",
  36. "required": true
  37. },
  38. {
  39. "description": "Specify a custom hostname for the http route. Leave blank to use default hostname, e.g.: <service-name>-<project>.<default-domain-suffix>",
  40. "displayName": "Custom http Route Hostname",
  41. "name": "HOSTNAME_HTTP",
  42. "value": "",
  43. "required": false
  44. },
  45. {
  46. "description": "Specify a custom hostname for the https route. Leave blank to use default hostname, e.g.: secure-<service-name>-<project>.<default-domain-suffix>",
  47. "displayName": "Custom https Route Hostname",
  48. "name": "HOSTNAME_HTTPS",
  49. "value": "",
  50. "required": false
  51. },
  52. {
  53. "description": "Specify a custom hostname for the JDBC route. Leave blank to use default hostname, e.g.: secure-<service-name>-<project>.<default-domain-suffix>",
  54. "displayName": "Custom JDBC Route Hostname",
  55. "name": "HOSTNAME_JDBC",
  56. "value": "",
  57. "required": false
  58. },
  59. {
  60. "description": "The URL of the repository with your application source code.",
  61. "displayName": "Git Repository URL",
  62. "name": "SOURCE_REPOSITORY_URL",
  63. "value": "https://github.com/jboss-openshift/openshift-quickstarts",
  64. "required": true
  65. },
  66. {
  67. "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch.",
  68. "displayName": "Git Reference",
  69. "name": "SOURCE_REPOSITORY_REF",
  70. "value": "master",
  71. "required": false
  72. },
  73. {
  74. "description": "Set this to the relative path to your project if it is not in the root of your repository.",
  75. "displayName": "Context Directory",
  76. "name": "CONTEXT_DIR",
  77. "value": "datavirt/dynamicvdb-datafederation/app",
  78. "required": false
  79. },
  80. {
  81. "description": "The URL of the repository with source code for the extensions image. The image should have all modules, etc., placed in the \"/extensions/\" directory in the image. If the contents are in a different directory, the sourcePath for the ImageSource in the BuildConfig must be modified.",
  82. "displayName": "Extensions Git Repository URL",
  83. "name": "EXTENSIONS_REPOSITORY_URL",
  84. "value": "https://github.com/jboss-openshift/openshift-quickstarts",
  85. "required": true
  86. },
  87. {
  88. "description": "Set this to a branch name, tag or other ref of your extensions repository if you are not using the default branch.",
  89. "displayName": "Extensions Git Reference",
  90. "name": "EXTENSIONS_REPOSITORY_REF",
  91. "value": "master",
  92. "required": false
  93. },
  94. {
  95. "description": "Set this to the relative path to your project if it is not in the root of your extensions repository.",
  96. "displayName": "Extensions Context Directory",
  97. "name": "EXTENSIONS_DIR",
  98. "value": "datavirt/derby-driver-image",
  99. "required": false
  100. },
  101. {
  102. "description": "Set this to the relative path to the Dockerfile in your extensions directory.",
  103. "displayName": "Extensions Dockerfile",
  104. "name": "EXTENSIONS_DOCKERFILE",
  105. "value": "Dockerfile",
  106. "required": false
  107. },
  108. {
  109. "description": "The name of the service account to use for the deployment. The service account should be configured to allow usage of the secret(s) specified by CONFIGURATION_NAME, HTTPS_SECRET and JGROUPS_ENCRYPT_SECRET.",
  110. "displayName": "Service Account Name",
  111. "name": "SERVICE_ACCOUNT_NAME",
  112. "value": "datavirt-service-account",
  113. "required": true
  114. },
  115. {
  116. "description": "The name of the secret containing the keystore to be used for serving secure content.",
  117. "displayName": "Server Keystore Secret Name",
  118. "name": "HTTPS_SECRET",
  119. "value": "datavirt-app-secret",
  120. "required": true
  121. },
  122. {
  123. "description": "The name of the keystore file within the secret.",
  124. "displayName": "Server Keystore Filename",
  125. "name": "HTTPS_KEYSTORE",
  126. "value": "keystore.jks",
  127. "required": false
  128. },
  129. {
  130. "description": "The type of the keystore file (JKS or JCEKS).",
  131. "displayName": "Server Keystore Type",
  132. "name": "HTTPS_KEYSTORE_TYPE",
  133. "value": "",
  134. "required": false
  135. },
  136. {
  137. "description": "The name associated with the server certificate.",
  138. "displayName": "Server Certificate Name",
  139. "name": "HTTPS_NAME",
  140. "value": "jboss",
  141. "required": false
  142. },
  143. {
  144. "description": "The password for the keystore and certificate",
  145. "displayName": "Server Keystore Password",
  146. "name": "HTTPS_PASSWORD",
  147. "value": "mykeystorepass",
  148. "required": false
  149. },
  150. {
  151. "description": "Username associated with Teiid data service.",
  152. "displayName": "Teiid Username",
  153. "name": "TEIID_USERNAME",
  154. "from": "[\\a]{8}",
  155. "generate": "expression",
  156. "required": true
  157. },
  158. {
  159. "description": "Password for Teiid user.",
  160. "displayName": "Teiid User Password",
  161. "name": "TEIID_PASSWORD",
  162. "from": "[\\a\\A]{8}[\\d]{1}[\\A]{1}",
  163. "generate": "expression",
  164. "required": true
  165. },
  166. {
  167. "description": "Username associated with ModeShape.",
  168. "displayName": "ModeShape Username",
  169. "name": "MODESHAPE_USERNAME",
  170. "from": "[\\a]{8}",
  171. "generate": "expression",
  172. "required": true
  173. },
  174. {
  175. "description": "Password for ModeShape user.",
  176. "displayName": "ModeShape User Password",
  177. "name": "MODESHAPE_PASSWORD",
  178. "from": "[\\a\\A]{8}[\\d]{1}[\\A]{1}",
  179. "generate": "expression",
  180. "required": true
  181. },
  182. {
  183. "description": "A secret string used to configure the GitHub webhook.",
  184. "displayName": "Github Webhook Secret",
  185. "name": "GITHUB_WEBHOOK_SECRET",
  186. "from": "[a-zA-Z0-9]{8}",
  187. "generate": "expression",
  188. "required": true
  189. },
  190. {
  191. "description": "A secret string used to configure the Generic webhook.",
  192. "displayName": "Generic Webhook Secret",
  193. "name": "GENERIC_WEBHOOK_SECRET",
  194. "from": "[a-zA-Z0-9]{8}",
  195. "generate": "expression",
  196. "required": true
  197. },
  198. {
  199. "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.",
  200. "displayName": "ImageStream Namespace",
  201. "name": "IMAGE_STREAM_NAMESPACE",
  202. "value": "openshift",
  203. "required": true
  204. },
  205. {
  206. "description": "The name of the secret containing the keystore to be used for securing JGroups communications.",
  207. "displayName": "JGroups Secret Name",
  208. "name": "JGROUPS_ENCRYPT_SECRET",
  209. "value": "datavirt-app-secret",
  210. "required": false
  211. },
  212. {
  213. "description": "The name of the keystore file within the JGroups secret.",
  214. "displayName": "JGroups Keystore Filename",
  215. "name": "JGROUPS_ENCRYPT_KEYSTORE",
  216. "value": "jgroups.jceks",
  217. "required": false
  218. },
  219. {
  220. "description": "The name associated with the JGroups server certificate",
  221. "displayName": "JGroups Certificate Name",
  222. "name": "JGROUPS_ENCRYPT_NAME",
  223. "value": "secret-key",
  224. "required": false
  225. },
  226. {
  227. "description": "The password for the keystore and certificate",
  228. "displayName": "JGroups Keystore Password",
  229. "name": "JGROUPS_ENCRYPT_PASSWORD",
  230. "value": "password",
  231. "required": false
  232. },
  233. {
  234. "description": "Password used by JGroups to authenticate nodes in the cluster.",
  235. "displayName": "JGroups Cluster Password",
  236. "name": "JGROUPS_CLUSTER_PASSWORD",
  237. "from": "[a-zA-Z0-9]{8}",
  238. "generate": "expression",
  239. "required": true
  240. },
  241. {
  242. "description": "Controls whether exploded deployment content should be automatically deployed",
  243. "displayName": "Deploy Exploded Archives",
  244. "name": "AUTO_DEPLOY_EXPLODED",
  245. "value": "false",
  246. "required": false
  247. },
  248. {
  249. "description": "Comma delimited list of source directories containing VDBs for deployment",
  250. "displayName": "VDB Deployment Directories",
  251. "name": "VDB_DIRS",
  252. "value": "",
  253. "required": false
  254. },
  255. {
  256. "displayName": "Maven mirror URL",
  257. "description": "Maven mirror to use for S2I builds",
  258. "name": "MAVEN_MIRROR_URL",
  259. "value": "",
  260. "required": false
  261. },
  262. {
  263. "displayName": "Artifact Directories",
  264. "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
  265. "name": "ARTIFACT_DIR",
  266. "value": "",
  267. "required": false
  268. }
  269. ],
  270. "objects": [
  271. {
  272. "kind": "Service",
  273. "apiVersion": "v1",
  274. "spec": {
  275. "ports": [
  276. {
  277. "name": "http",
  278. "port": 8080,
  279. "targetPort": "http"
  280. },
  281. {
  282. "name": "https",
  283. "port": 8443,
  284. "targetPort": "https"
  285. },
  286. {
  287. "name": "jdbc",
  288. "port": 31000,
  289. "targetPort": "jdbc"
  290. },
  291. {
  292. "name": "jdbcs",
  293. "port": 31443,
  294. "targetPort": "jdbcs"
  295. },
  296. {
  297. "name": "odbc",
  298. "port": 35432,
  299. "targetPort": "odbc"
  300. },
  301. {
  302. "name": "odbcs",
  303. "port": 35443,
  304. "targetPort": "odbcs"
  305. }
  306. ],
  307. "selector": {
  308. "deploymentConfig": "${APPLICATION_NAME}"
  309. }
  310. },
  311. "metadata": {
  312. "name": "${APPLICATION_NAME}",
  313. "labels": {
  314. "application": "${APPLICATION_NAME}"
  315. },
  316. "annotations": {
  317. "description": "The data virtualization services."
  318. }
  319. }
  320. },
  321. {
  322. "kind": "Route",
  323. "apiVersion": "v1",
  324. "id": "${APPLICATION_NAME}-http",
  325. "metadata": {
  326. "name": "${APPLICATION_NAME}",
  327. "labels": {
  328. "application": "${APPLICATION_NAME}"
  329. },
  330. "annotations": {
  331. "description": "Route for application's http (REST) service."
  332. }
  333. },
  334. "spec": {
  335. "host": "${HOSTNAME_HTTP}",
  336. "port": {
  337. "targetPort": "http"
  338. },
  339. "to": {
  340. "name": "${APPLICATION_NAME}"
  341. }
  342. }
  343. },
  344. {
  345. "kind": "Route",
  346. "apiVersion": "v1",
  347. "id": "${APPLICATION_NAME}-https",
  348. "metadata": {
  349. "name": "secure-${APPLICATION_NAME}",
  350. "labels": {
  351. "application": "${APPLICATION_NAME}"
  352. },
  353. "annotations": {
  354. "description": "Route for application's https (REST) service."
  355. }
  356. },
  357. "spec": {
  358. "host": "${HOSTNAME_HTTPS}",
  359. "port": {
  360. "targetPort": "https"
  361. },
  362. "to": {
  363. "name": "${APPLICATION_NAME}"
  364. },
  365. "tls": {
  366. "termination": "passthrough"
  367. }
  368. }
  369. },
  370. {
  371. "kind": "Route",
  372. "apiVersion": "v1",
  373. "id": "${APPLICATION_NAME}-jdbc",
  374. "metadata": {
  375. "name": "jdbc-${APPLICATION_NAME}",
  376. "labels": {
  377. "application": "${APPLICATION_NAME}"
  378. },
  379. "annotations": {
  380. "description": "Route for application's JDBC service."
  381. }
  382. },
  383. "spec": {
  384. "host": "${HOSTNAME_JDBC}",
  385. "port": {
  386. "targetPort": "jdbcs"
  387. },
  388. "to": {
  389. "name": "${APPLICATION_NAME}"
  390. },
  391. "tls": {
  392. "termination": "passthrough"
  393. }
  394. }
  395. },
  396. {
  397. "kind": "ImageStream",
  398. "apiVersion": "v1",
  399. "metadata": {
  400. "name": "${APPLICATION_NAME}",
  401. "labels": {
  402. "application": "${APPLICATION_NAME}"
  403. }
  404. }
  405. },
  406. {
  407. "kind": "ImageStream",
  408. "apiVersion": "v1",
  409. "metadata": {
  410. "name": "${APPLICATION_NAME}-ext",
  411. "labels": {
  412. "application": "${APPLICATION_NAME}"
  413. }
  414. }
  415. },
  416. {
  417. "kind": "BuildConfig",
  418. "apiVersion": "v1",
  419. "metadata": {
  420. "name": "${APPLICATION_NAME}-ext",
  421. "labels": {
  422. "application": "${APPLICATION_NAME}"
  423. }
  424. },
  425. "spec": {
  426. "source": {
  427. "type": "Git",
  428. "git": {
  429. "uri": "${EXTENSIONS_REPOSITORY_URL}",
  430. "ref": "${EXTENSIONS_REPOSITORY_REF}"
  431. },
  432. "contextDir": "${EXTENSIONS_DIR}"
  433. },
  434. "strategy": {
  435. "type": "Docker",
  436. "dockerStrategy": {
  437. "dockerfilePath": "${EXTENSIONS_DOCKERFILE}"
  438. }
  439. },
  440. "output": {
  441. "to": {
  442. "kind": "ImageStreamTag",
  443. "name": "${APPLICATION_NAME}-ext:latest"
  444. }
  445. },
  446. "triggers": [
  447. {
  448. "type": "GitHub",
  449. "github": {
  450. "secret": "${GITHUB_WEBHOOK_SECRET}"
  451. }
  452. },
  453. {
  454. "type": "Generic",
  455. "generic": {
  456. "secret": "${GENERIC_WEBHOOK_SECRET}"
  457. }
  458. },
  459. {
  460. "type": "ConfigChange"
  461. }
  462. ]
  463. }
  464. },
  465. {
  466. "kind": "BuildConfig",
  467. "apiVersion": "v1",
  468. "metadata": {
  469. "name": "${APPLICATION_NAME}",
  470. "labels": {
  471. "application": "${APPLICATION_NAME}"
  472. }
  473. },
  474. "spec": {
  475. "source": {
  476. "type": "Git",
  477. "git": {
  478. "uri": "${SOURCE_REPOSITORY_URL}",
  479. "ref": "${SOURCE_REPOSITORY_REF}"
  480. },
  481. "contextDir": "${CONTEXT_DIR}",
  482. "images": [
  483. {
  484. "from": {
  485. "kind": "ImageStreamTag",
  486. "namespace": "${IMAGE_STREAM_NAMESPACE}",
  487. "name": "jboss-datagrid65-client-openshift:1.1"
  488. },
  489. "paths": [
  490. {
  491. "destinationDir": "./${CONTEXT_DIR}/extensions/datagrid65",
  492. "sourcePath": "/extensions/."
  493. }
  494. ]
  495. },
  496. {
  497. "from": {
  498. "kind": "ImageStreamTag",
  499. "name": "${APPLICATION_NAME}-ext:latest"
  500. },
  501. "paths": [
  502. {
  503. "destinationDir": "./${CONTEXT_DIR}/extensions/extras",
  504. "sourcePath": "/extensions/."
  505. }
  506. ]
  507. }
  508. ]
  509. },
  510. "strategy": {
  511. "type": "Source",
  512. "sourceStrategy": {
  513. "forcePull": true,
  514. "from": {
  515. "kind": "ImageStreamTag",
  516. "namespace": "${IMAGE_STREAM_NAMESPACE}",
  517. "name": "jboss-datavirt63-openshift:1.3"
  518. },
  519. "env": [
  520. {
  521. "name": "CUSTOM_INSTALL_DIRECTORIES",
  522. "value": "extensions/*"
  523. },
  524. {
  525. "name": "VDB_DIRS",
  526. "value": "${VDB_DIRS}"
  527. },
  528. {
  529. "name": "MAVEN_MIRROR_URL",
  530. "value": "${MAVEN_MIRROR_URL}"
  531. },
  532. {
  533. "name": "ARTIFACT_DIR",
  534. "value": "${ARTIFACT_DIR}"
  535. }
  536. ]
  537. }
  538. },
  539. "output": {
  540. "to": {
  541. "kind": "ImageStreamTag",
  542. "name": "${APPLICATION_NAME}:latest"
  543. }
  544. },
  545. "triggers": [
  546. {
  547. "type": "GitHub",
  548. "github": {
  549. "secret": "${GITHUB_WEBHOOK_SECRET}"
  550. }
  551. },
  552. {
  553. "type": "Generic",
  554. "generic": {
  555. "secret": "${GENERIC_WEBHOOK_SECRET}"
  556. }
  557. },
  558. {
  559. "type": "ImageChange",
  560. "imageChange": {}
  561. },
  562. {
  563. "type": "ImageChange",
  564. "imageChange": {
  565. "from": {
  566. "kind": "ImageStreamTag",
  567. "name": "${APPLICATION_NAME}-ext:latest"
  568. }
  569. }
  570. },
  571. {
  572. "type": "ImageChange",
  573. "imageChange": {
  574. "from": {
  575. "kind": "ImageStreamTag",
  576. "name": "jboss-datagrid65-client-openshift:1.1"
  577. }
  578. }
  579. },
  580. {
  581. "type": "ConfigChange"
  582. }
  583. ]
  584. }
  585. },
  586. {
  587. "kind": "DeploymentConfig",
  588. "apiVersion": "v1",
  589. "metadata": {
  590. "name": "${APPLICATION_NAME}",
  591. "labels": {
  592. "application": "${APPLICATION_NAME}"
  593. }
  594. },
  595. "spec": {
  596. "strategy": {
  597. "type": "Recreate"
  598. },
  599. "triggers": [
  600. {
  601. "type": "ImageChange",
  602. "imageChangeParams": {
  603. "automatic": true,
  604. "containerNames": [
  605. "${APPLICATION_NAME}"
  606. ],
  607. "from": {
  608. "kind": "ImageStreamTag",
  609. "name": "${APPLICATION_NAME}:latest"
  610. }
  611. }
  612. },
  613. {
  614. "type": "ConfigChange"
  615. }
  616. ],
  617. "replicas": 1,
  618. "selector": {
  619. "deploymentConfig": "${APPLICATION_NAME}"
  620. },
  621. "template": {
  622. "metadata": {
  623. "name": "${APPLICATION_NAME}",
  624. "labels": {
  625. "deploymentConfig": "${APPLICATION_NAME}",
  626. "application": "${APPLICATION_NAME}"
  627. }
  628. },
  629. "spec": {
  630. "serviceAccountName": "${SERVICE_ACCOUNT_NAME}",
  631. "terminationGracePeriodSeconds": 60,
  632. "containers": [
  633. {
  634. "name": "${APPLICATION_NAME}",
  635. "image": "${APPLICATION_NAME}",
  636. "imagePullPolicy": "Always",
  637. "volumeMounts": [
  638. {
  639. "name": "configuration",
  640. "mountPath": "/etc/datavirt-environment",
  641. "readOnly": true
  642. },
  643. {
  644. "name": "datavirt-keystore-volume",
  645. "mountPath": "/etc/datavirt-secret-volume",
  646. "readOnly": true
  647. },
  648. {
  649. "name": "datavirt-jgroups-keystore-volume",
  650. "mountPath": "/etc/jgroups-encrypt-secret-volume",
  651. "readOnly": true
  652. }
  653. ],
  654. "livenessProbe": {
  655. "exec": {
  656. "command": [
  657. "/bin/bash",
  658. "-c",
  659. "/opt/eap/bin/livenessProbe.sh"
  660. ]
  661. }
  662. },
  663. "readinessProbe": {
  664. "exec": {
  665. "command": [
  666. "/bin/bash",
  667. "-c",
  668. "/opt/eap/bin/readinessProbe.sh"
  669. ]
  670. }
  671. },
  672. "ports": [
  673. {
  674. "name": "jolokia",
  675. "containerPort": 8778,
  676. "protocol": "TCP"
  677. },
  678. {
  679. "name": "http",
  680. "containerPort": 8080,
  681. "protocol": "TCP"
  682. },
  683. {
  684. "name": "https",
  685. "containerPort": 8443,
  686. "protocol": "TCP"
  687. },
  688. {
  689. "name": "jdbc",
  690. "containerPort": 31000,
  691. "protocol": "TCP"
  692. },
  693. {
  694. "name": "jdbcs",
  695. "containerPort": 31443,
  696. "protocol": "TCP"
  697. },
  698. {
  699. "name": "odbc",
  700. "containerPort": 35432,
  701. "protocol": "TCP"
  702. },
  703. {
  704. "name": "odbcs",
  705. "containerPort": 35443,
  706. "protocol": "TCP"
  707. },
  708. {
  709. "name": "ping",
  710. "containerPort": 8888,
  711. "protocol": "TCP"
  712. }
  713. ],
  714. "env": [
  715. {
  716. "name": "OPENSHIFT_KUBE_PING_LABELS",
  717. "value": "application=${APPLICATION_NAME}"
  718. },
  719. {
  720. "name": "OPENSHIFT_KUBE_PING_NAMESPACE",
  721. "valueFrom": {
  722. "fieldRef": {
  723. "fieldPath": "metadata.namespace"
  724. }
  725. }
  726. },
  727. {
  728. "name": "HTTPS_KEYSTORE_DIR",
  729. "value": "/etc/datavirt-secret-volume"
  730. },
  731. {
  732. "name": "HTTPS_KEYSTORE",
  733. "value": "${HTTPS_KEYSTORE}"
  734. },
  735. {
  736. "name": "HTTPS_KEYSTORE_TYPE",
  737. "value": "${HTTPS_KEYSTORE_TYPE}"
  738. },
  739. {
  740. "name": "HTTPS_NAME",
  741. "value": "${HTTPS_NAME}"
  742. },
  743. {
  744. "name": "HTTPS_PASSWORD",
  745. "value": "${HTTPS_PASSWORD}"
  746. },
  747. {
  748. "name": "JGROUPS_ENCRYPT_SECRET",
  749. "value": "${JGROUPS_ENCRYPT_SECRET}"
  750. },
  751. {
  752. "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR",
  753. "value": "/etc/jgroups-encrypt-secret-volume"
  754. },
  755. {
  756. "name": "JGROUPS_ENCRYPT_KEYSTORE",
  757. "value": "${JGROUPS_ENCRYPT_KEYSTORE}"
  758. },
  759. {
  760. "name": "JGROUPS_ENCRYPT_NAME",
  761. "value": "${JGROUPS_ENCRYPT_NAME}"
  762. },
  763. {
  764. "name": "JGROUPS_ENCRYPT_PASSWORD",
  765. "value": "${JGROUPS_ENCRYPT_PASSWORD}"
  766. },
  767. {
  768. "name": "JGROUPS_CLUSTER_PASSWORD",
  769. "value": "${JGROUPS_CLUSTER_PASSWORD}"
  770. },
  771. {
  772. "name": "AUTO_DEPLOY_EXPLODED",
  773. "value": "${AUTO_DEPLOY_EXPLODED}"
  774. },
  775. {
  776. "name": "TEIID_USERNAME",
  777. "value": "${TEIID_USERNAME}"
  778. },
  779. {
  780. "name": "TEIID_PASSWORD",
  781. "value": "${TEIID_PASSWORD}"
  782. },
  783. {
  784. "name": "MODESHAPE_USERNAME",
  785. "value": "${MODESHAPE_USERNAME}"
  786. },
  787. {
  788. "name": "MODESHAPE_PASSWORD",
  789. "value": "${MODESHAPE_PASSWORD}"
  790. },
  791. {
  792. "name": "ENV_FILES",
  793. "value": "/etc/datavirt-environment/*"
  794. },
  795. {
  796. "name": "DATAVIRT_TRANSPORT_KEYSTORE",
  797. "value": "${HTTPS_KEYSTORE}"
  798. },
  799. {
  800. "name": "DATAVIRT_TRANSPORT_KEYSTORE_TYPE",
  801. "value": "${HTTPS_KEYSTORE_TYPE}"
  802. },
  803. {
  804. "name": "DATAVIRT_TRANSPORT_KEY_ALIAS",
  805. "value": "${HTTPS_NAME}"
  806. },
  807. {
  808. "name": "DATAVIRT_TRANSPORT_KEYSTORE_PASSWORD",
  809. "value": "${HTTPS_PASSWORD}"
  810. },
  811. {
  812. "name": "QS_DB_TYPE",
  813. "value": "derby",
  814. "description": "Used soley by the quickstart and set here to ensure the template can be instatiated with its default parameter values, i.e. so itworks ootb."
  815. }
  816. ]
  817. }
  818. ],
  819. "volumes": [
  820. {
  821. "name": "configuration",
  822. "secret": {
  823. "secretName": "${CONFIGURATION_NAME}"
  824. }
  825. },
  826. {
  827. "name": "datavirt-keystore-volume",
  828. "secret": {
  829. "secretName": "${HTTPS_SECRET}"
  830. }
  831. },
  832. {
  833. "name": "datavirt-jgroups-keystore-volume",
  834. "secret": {
  835. "secretName": "${JGROUPS_ENCRYPT_SECRET}"
  836. }
  837. }
  838. ]
  839. }
  840. }
  841. }
  842. }
  843. ]
  844. }