github.com/verrazzano/verrazzano@v1.7.1/examples/bobs-books/bobs-books-comp.yaml (about) 1 # Copyright (c) 2020, 2023, Oracle and/or its affiliates. 2 # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 4 apiVersion: core.oam.dev/v1alpha2 5 kind: Component 6 metadata: 7 name: robert-coh 8 spec: 9 workload: 10 apiVersion: oam.verrazzano.io/v1alpha1 11 kind: VerrazzanoCoherenceWorkload 12 spec: 13 template: 14 metadata: 15 name: roberts-coherence 16 spec: 17 labels: 18 app: robert-coh 19 version: v1 20 replicas: 2 21 image: container-registry.oracle.com/verrazzano/example-roberts-coherence:1.0.0-1-20230830170835-ad1de21 22 imagePullPolicy: IfNotPresent 23 imagePullSecrets: 24 - name: bobs-books-repo-credentials 25 env: 26 - name: BACKEND_PORT 27 value: "8001" 28 - name: BACKEND_HOSTNAME 29 value: bobs-bookstore-cluster-cluster-1 30 - name: TRACING_HOST 31 value: "jaeger-collector" 32 - name: JAEGER_SAMPLER_TYPE 33 value: "const" 34 - name: JAEGER_SAMPLER_PARAM 35 value: "1" 36 jvm: 37 memory: 38 heapSize: 1g 39 args: 40 - "-Dcoherence.k8s.operator.health.wait.dcs=false" 41 coherence: 42 metrics: 43 enabled: true 44 ports: 45 - name: tcp-extend 46 port: 9000 47 service: 48 name: roberts-coherence-extend 49 --- 50 apiVersion: core.oam.dev/v1alpha2 51 kind: Component 52 metadata: 53 name: robert-helidon 54 spec: 55 workload: 56 apiVersion: oam.verrazzano.io/v1alpha1 57 kind: VerrazzanoHelidonWorkload 58 metadata: 59 name: robert-helidon 60 labels: 61 app: robert-helidon 62 version: v1 63 spec: 64 deploymentTemplate: 65 metadata: 66 name: robert-helidon 67 podSpec: 68 containers: 69 - name: robert-helidon-stock-application 70 image: container-registry.oracle.com/verrazzano/example-roberts-helidon-stock-application:1.0.0-1-20230830170835-ad1de21 71 imagePullPolicy: IfNotPresent 72 ports: 73 - name: http 74 containerPort: 8080 75 env: 76 - name: COH_CLUSTER 77 value: roberts-coherence 78 - name: COHERENCE_CLUSTER 79 value: roberts-coherence 80 - name: COH_CACHE_CONFIG 81 value: coherence-cache-config.xml 82 - name: COH_POF_CONFIG 83 value: pof-config.xml 84 imagePullSecrets: 85 - name: bobs-books-repo-credentials 86 --- 87 apiVersion: core.oam.dev/v1alpha2 88 kind: Component 89 metadata: 90 name: bobby-coh 91 spec: 92 workload: 93 apiVersion: oam.verrazzano.io/v1alpha1 94 kind: VerrazzanoCoherenceWorkload 95 spec: 96 template: 97 metadata: 98 name: bobbys-coherence 99 spec: 100 labels: 101 app: bobbys-coh 102 version: v1 103 replicas: 1 104 image: container-registry.oracle.com/verrazzano/example-bobbys-coherence:1.0.0-1-20230830170835-ad1de21 105 imagePullPolicy: IfNotPresent 106 imagePullSecrets: 107 - name: bobs-books-repo-credentials 108 env: 109 - name: TRACING_HOST 110 value: "jaeger-collector" 111 - name: JAEGER_SAMPLER_TYPE 112 value: "const" 113 - name: JAEGER_SAMPLER_PARAM 114 value: "1" 115 jvm: 116 memory: 117 heapSize: 1g 118 args: 119 - "-Dcoherence.k8s.operator.health.wait.dcs=false" 120 coherence: 121 metrics: 122 enabled: true 123 ports: 124 - name: tcp-extend 125 port: 9000 126 service: 127 name: bobbys-coherence-extend 128 --- 129 apiVersion: core.oam.dev/v1alpha2 130 kind: Component 131 metadata: 132 name: bobby-helidon 133 spec: 134 workload: 135 apiVersion: oam.verrazzano.io/v1alpha1 136 kind: VerrazzanoHelidonWorkload 137 metadata: 138 name: bobbys-helidon-stock-application 139 labels: 140 app: bobbys-helidon-stock-application 141 version: v1 142 spec: 143 deploymentTemplate: 144 metadata: 145 name: bobbys-helidon-stock-application 146 podSpec: 147 containers: 148 - name: bobbys-helidon-stock-application 149 image: container-registry.oracle.com/verrazzano/example-bobbys-helidon-stock-application:1.0.0-1-20230830170835-ad1de21 150 imagePullPolicy: IfNotPresent 151 ports: 152 - containerPort: 8080 153 name: http 154 env: 155 - name: BACKEND_PORT 156 value: "8001" 157 - name: BACKEND_HOSTNAME 158 value: bobs-bookstore-cluster-cluster-1 159 - name: COH_CLUSTER 160 value: bobbys-coherence 161 - name: COHERENCE_CLUSTER 162 value: bobbys-coherence 163 - name: COH_CACHE_CONFIG 164 value: coherence-cache-config.xml 165 - name: COH_POF_CONFIG 166 value: pof-config.xml 167 imagePullSecrets: 168 - name: bobs-books-repo-credentials 169 --- 170 apiVersion: core.oam.dev/v1alpha2 171 kind: Component 172 metadata: 173 name: bobby-wls 174 spec: 175 workload: 176 apiVersion: oam.verrazzano.io/v1alpha1 177 kind: VerrazzanoWebLogicWorkload 178 spec: 179 template: 180 apiVersion: weblogic.oracle/v9 181 metadata: 182 name: bobbys-front-end 183 labels: 184 weblogic.resourceVersion: domain-v9 185 weblogic.domainUID: bobbys-front-end 186 spec: 187 adminServer: 188 adminChannelPortForwardingEnabled: true 189 domainUID: bobbys-front-end 190 domainHome: /u01/oracle/user_projects/domains/bobbys-front-end 191 image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 192 imagePullSecrets: 193 - name: bobs-books-repo-credentials 194 domainHomeSourceType: "FromModel" 195 includeServerOutInPodLog: true 196 replicas: 1 197 webLogicCredentialsSecret: 198 name: bobbys-front-end-weblogic-credentials 199 clusters: 200 - name: bobbys-front-end-cluster-1 201 configuration: 202 introspectorJobActiveDeadlineSeconds: 600 203 model: 204 auxiliaryImages: 205 - image: container-registry.oracle.com/verrazzano/example-bobbys-front-end:1.0.0-1-20220608153526-843e168 206 runtimeEncryptionSecret: bobbys-front-end-runtime-encrypt-secret 207 monitoringExporter: 208 imagePullPolicy: IfNotPresent 209 configuration: 210 metricsNameSnakeCase: true 211 domainQualifier: true 212 queries: 213 - key: name 214 keyName: location 215 prefix: wls_server_ 216 applicationRuntimes: 217 key: name 218 keyName: app 219 componentRuntimes: 220 prefix: wls_webapp_config_ 221 type: WebAppComponentRuntime 222 key: name 223 values: [ deploymentState, contextRoot, sourceInfo, sessionsOpenedTotalCount, openSessionsCurrentCount, openSessionsHighCount ] 224 servlets: 225 prefix: wls_servlet_ 226 key: servletName 227 - JVMRuntime: 228 prefix: wls_jvm_ 229 key: name 230 serverPod: 231 livenessProbe: 232 periodSeconds: 10 233 timeoutSeconds: 65 234 failureThreshold: 3 235 readinessProbe: 236 periodSeconds: 10 237 timeoutSeconds: 50 238 failureThreshold: 3 239 labels: 240 app: bobbys-front-end 241 version: v1 242 env: 243 - name: JAVA_OPTIONS 244 value: "-Dweblogic.StdoutDebugEnabled=false" 245 - name: USER_MEM_ARGS 246 value: "-Djava.security.egd=file:/dev/./urandom" 247 - name: HELIDON_HOSTNAME 248 value: "bobbys-helidon-stock-application" 249 - name: HELIDON_PORT 250 value: "8080" 251 - name: WL_HOME 252 value: /u01/oracle/wlserver 253 - name: MW_HOME 254 value: /u01/oracle 255 clusters: 256 - apiVersion: weblogic.oracle/v1 257 metadata: 258 name: bobbys-front-end-cluster-1 259 labels: 260 weblogic.resourceVersion: domain-v1 261 weblogic.domainUID: bobbys-front-end 262 spec: 263 clusterName: cluster-1 264 265 --- 266 apiVersion: core.oam.dev/v1alpha2 267 kind: Component 268 metadata: 269 name: bobs-mysql-configmap 270 spec: 271 workload: 272 apiVersion: v1 273 kind: ConfigMap 274 metadata: 275 name: mysql-initdb-config 276 data: 277 initdb.sql: | 278 create table `orders` ( 279 `id` int not null auto_increment, 280 `order_date` date, 281 `name` char(40), 282 `street` char(40), 283 `city` char(40), 284 `state` char(2), 285 primary key(`id`) 286 ); 287 create table `order_books` ( 288 `order_id` int, 289 `book_id` int, 290 `title` char(255), 291 foreign key (`order_id`) 292 references `orders`(`id`) 293 on delete cascade 294 ); 295 insert into `orders` (`id`, `order_date`, `name`, `street`, `city`, `state`) 296 values (1, curdate(), "Bob Down", "12 Main Rd", "Mt Everest", "NJ"); 297 298 insert into `order_books` (`order_id`, `book_id`, `title`) 299 values (1, 2, "Harry Potter"); 300 301 insert into `order_books` (`order_id`, `book_id`, `title`) 302 values (1, 4, "Twilight"); 303 --- 304 apiVersion: core.oam.dev/v1alpha2 305 kind: Component 306 metadata: 307 name: bobs-mysql-service 308 spec: 309 workload: 310 apiVersion: v1 311 kind: Service 312 metadata: 313 name: mysql 314 spec: 315 ports: 316 - port: 3306 317 selector: 318 app: bobs-mysql 319 clusterIP: None 320 --- 321 apiVersion: core.oam.dev/v1alpha2 322 kind: Component 323 metadata: 324 name: bobs-mysql-deployment 325 spec: 326 workload: 327 apiVersion: apps/v1 328 kind: Deployment 329 metadata: 330 name: mysql 331 spec: 332 progressDeadlineSeconds: 600 333 replicas: 1 334 revisionHistoryLimit: 10 335 selector: 336 matchLabels: 337 app: bobs-mysql 338 strategy: 339 type: Recreate 340 template: 341 metadata: 342 creationTimestamp: null 343 labels: 344 app: bobs-mysql 345 version: v1 346 spec: 347 containers: 348 - env: 349 - name: MYSQL_ROOT_PASSWORD 350 valueFrom: 351 secretKeyRef: 352 name: mysql-credentials 353 key: password 354 - name: MYSQL_USER 355 valueFrom: 356 secretKeyRef: 357 name: mysql-credentials 358 key: username 359 - name: MYSQL_PASSWORD 360 valueFrom: 361 secretKeyRef: 362 name: mysql-credentials 363 key: password 364 - name: MYSQL_DATABASE 365 value: books 366 image: ghcr.io/verrazzano/mysql:8.0.28 367 imagePullPolicy: IfNotPresent 368 name: mysql 369 ports: 370 - containerPort: 3306 371 name: mysql 372 protocol: TCP 373 resources: {} 374 terminationMessagePath: /dev/termination-log 375 terminationMessagePolicy: File 376 volumeMounts: 377 - mountPath: /docker-entrypoint-initdb.d 378 name: mysql-initdb 379 dnsPolicy: ClusterFirst 380 imagePullSecrets: 381 - name: bobs-books-repo-credentials 382 restartPolicy: Always 383 schedulerName: default-scheduler 384 securityContext: {} 385 terminationGracePeriodSeconds: 30 386 volumes: 387 - configMap: 388 defaultMode: 420 389 name: mysql-initdb-config 390 name: mysql-initdb 391 --- 392 apiVersion: core.oam.dev/v1alpha2 393 kind: Component 394 metadata: 395 name: bobs-orders-configmap 396 spec: 397 workload: 398 apiVersion: v1 399 kind: ConfigMap 400 metadata: 401 labels: 402 weblogic.domainUID: bobs-bookstore 403 name: bobs-bookstore-wdt-config-map 404 data: 405 datasource.yaml: | 406 resources: 407 JDBCSystemResource: 408 books: 409 Target: 'cluster-1' 410 JdbcResource: 411 JDBCDataSourceParams: 412 JNDIName: [ 413 jdbc/books 414 ] 415 JDBCDriverParams: 416 DriverName: com.mysql.cj.jdbc.Driver 417 URL: '@@SECRET:mysql-credentials:url@@' 418 PasswordEncrypted: '@@SECRET:mysql-credentials:password@@' 419 Properties: 420 user: 421 Value: '@@SECRET:mysql-credentials:username@@' 422 JDBCConnectionPoolParams: 423 ConnectionCreationRetryFrequencySeconds: 5 424 ConnectionReserveTimeoutSeconds: 10 425 InitialCapacity: 0 426 InactiveConnectionTimeoutSeconds: 60 427 MaxCapacity: 5 428 MinCapacity: 0 429 TestConnectionsOnReserve: true 430 TestFrequencySeconds: 10 431 TestTableName: SQL SELECT 1 432 --- 433 apiVersion: core.oam.dev/v1alpha2 434 kind: Component 435 metadata: 436 name: bobs-orders-wls 437 spec: 438 workload: 439 apiVersion: oam.verrazzano.io/v1alpha1 440 kind: VerrazzanoWebLogicWorkload 441 spec: 442 template: 443 apiVersion: weblogic.oracle/v9 444 metadata: 445 name: bobs-bookstore 446 labels: 447 weblogic.resourceVersion: domain-v9 448 weblogic.domainUID: bobs-bookstore 449 spec: 450 adminServer: 451 adminChannelPortForwardingEnabled: true 452 domainUID: bobs-bookstore 453 domainHome: /u01/oracle/user_projects/domains/bobs-bookstore 454 domainHomeSourceType: FromModel 455 image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 456 includeServerOutInPodLog: true 457 replicas: 1 458 webLogicCredentialsSecret: 459 name: bobs-bookstore-weblogic-credentials 460 imagePullSecrets: 461 - name: bobs-books-repo-credentials 462 clusters: 463 - name: bobs-bookstore-cluster-1 464 configuration: 465 introspectorJobActiveDeadlineSeconds: 600 466 model: 467 auxiliaryImages: 468 - image: container-registry.oracle.com/verrazzano/example-bobs-books-order-manager:1.0.0-1-20220608153526-843e168 469 configMap: bobs-bookstore-wdt-config-map 470 runtimeEncryptionSecret: bobs-bookstore-runtime-encrypt-secret 471 secrets: 472 - mysql-credentials 473 monitoringExporter: 474 imagePullPolicy: IfNotPresent 475 configuration: 476 metricsNameSnakeCase: true 477 domainQualifier: true 478 queries: 479 - key: name 480 keyName: location 481 prefix: wls_server_ 482 applicationRuntimes: 483 key: name 484 keyName: app 485 componentRuntimes: 486 prefix: wls_webapp_config_ 487 type: WebAppComponentRuntime 488 key: name 489 values: [ deploymentState, contextRoot, sourceInfo, sessionsOpenedTotalCount, openSessionsCurrentCount, openSessionsHighCount ] 490 servlets: 491 prefix: wls_servlet_ 492 key: servletName 493 - JVMRuntime: 494 prefix: wls_jvm_ 495 key: name 496 serverPod: 497 livenessProbe: 498 periodSeconds: 10 499 timeoutSeconds: 65 500 failureThreshold: 3 501 readinessProbe: 502 periodSeconds: 10 503 timeoutSeconds: 50 504 failureThreshold: 3 505 labels: 506 app: bobs-bookstore 507 version: v1 508 env: 509 - name: JAVA_OPTIONS 510 value: "-Dweblogic.StdoutDebugEnabled=false" 511 - name: USER_MEM_ARGS 512 value: "-Djava.security.egd=file:/dev/./urandom " 513 - name: WL_HOME 514 value: /u01/oracle/wlserver 515 - name: MW_HOME 516 value: /u01/oracle 517 clusters: 518 - apiVersion: weblogic.oracle/v1 519 metadata: 520 name: bobs-bookstore-cluster-1 521 labels: 522 weblogic.resourceVersion: domain-v1 523 weblogic.domainUID: bobs-bookstore 524 spec: 525 clusterName: cluster-1