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