github.com/verrazzano/verrazzano@v1.7.1/examples/multicluster/todo-list/todo-list-components.yaml (about) 1 # Copyright (c) 2020, 2022, 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: todo-domain 8 namespace: mc-todo-list 9 spec: 10 workload: 11 apiVersion: oam.verrazzano.io/v1alpha1 12 kind: VerrazzanoWebLogicWorkload 13 spec: 14 template: 15 apiVersion: weblogic.oracle/v9 16 metadata: 17 name: todo-domain 18 namespace: mc-todo-list 19 spec: 20 adminServer: 21 adminChannelPortForwardingEnabled: true 22 domainUID: tododomain 23 domainHome: /u01/domains/tododomain 24 image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 25 imagePullSecrets: 26 - name: tododomain-repo-credentials 27 domainHomeSourceType: "FromModel" 28 includeServerOutInPodLog: true 29 replicas: 1 30 webLogicCredentialsSecret: 31 name: tododomain-weblogic-credentials 32 configuration: 33 introspectorJobActiveDeadlineSeconds: 900 34 model: 35 auxiliaryImages: 36 - image: container-registry.oracle.com/verrazzano/example-todo:20211129200415-ae4e89e 37 configMap: tododomain-jdbc-config 38 domainType: WLS 39 runtimeEncryptionSecret: tododomain-runtime-encrypt-secret 40 secrets: 41 - tododomain-jdbc-tododb 42 serverPod: 43 labels: 44 app: todo-domain 45 version: v1 46 env: 47 - name: JAVA_OPTIONS 48 value: "-Dweblogic.StdoutDebugEnabled=false" 49 - name: USER_MEM_ARGS 50 value: "-Djava.security.egd=file:/dev/./urandom -Xms64m -Xmx256m " 51 - name: WL_HOME 52 value: /u01/oracle/wlserver 53 - name: MW_HOME 54 value: /u01/oracle 55 --- 56 apiVersion: core.oam.dev/v1alpha2 57 kind: Component 58 metadata: 59 name: todo-jdbc-config 60 namespace: mc-todo-list 61 spec: 62 workload: 63 apiVersion: v1 64 kind: ConfigMap 65 metadata: 66 name: tododomain-jdbc-config 67 namespace: mc-todo-list 68 data: 69 wdt_jdbc.yaml: | 70 resources: 71 JDBCSystemResource: 72 'ToDo-Datasource': 73 Target: 'AdminServer' 74 JdbcResource: 75 DatasourceType: GENERIC 76 JDBCDataSourceParams: 77 GlobalTransactionsProtocol: OnePhaseCommit 78 JNDIName: jdbc/ToDoDB 79 JDBCConnectionPoolParams: 80 ConnectionCreationRetryFrequencySeconds: 5 81 ConnectionReserveTimeoutSeconds: 10 82 InitialCapacity: 0 83 InactiveConnectionTimeoutSeconds: 60 84 MaxCapacity: 5 85 MinCapacity: 0 86 TestConnectionsOnReserve: true 87 TestFrequencySeconds: 10 88 JDBCDriverParams: 89 # for MySQL, the last element in the URL is the database name, and must match the name inside the DB server 90 URL: "jdbc:mysql://mysql.mc-todo-list.svc.cluster.local:3306/tododb" 91 PasswordEncrypted: '@@SECRET:tododomain-jdbc-tododb:password@@' 92 DriverName: com.mysql.cj.jdbc.Driver 93 Properties: 94 user: 95 Value: '@@SECRET:tododomain-jdbc-tododb:username@@' 96 --- 97 apiVersion: core.oam.dev/v1alpha2 98 kind: Component 99 metadata: 100 name: mysql-initdb-config 101 namespace: mc-todo-list 102 spec: 103 workload: 104 apiVersion: v1 105 kind: ConfigMap 106 metadata: 107 name: mysql-initdb-config 108 namespace: mc-todo-list 109 data: 110 initdb.sql: | 111 create table `ToDos` ( 112 `taskId` int not null auto_increment, 113 `task` varchar(200) not null, 114 `completed` boolean, 115 constraint todo_pk primary key (`taskId`) 116 ); 117 --- 118 apiVersion: core.oam.dev/v1alpha2 119 kind: Component 120 metadata: 121 name: todo-mysql-service 122 namespace: mc-todo-list 123 spec: 124 workload: 125 apiVersion: v1 126 kind: Service 127 metadata: 128 name: mysql 129 namespace: mc-todo-list 130 spec: 131 ports: 132 - port: 3306 133 selector: 134 app: todo-mysql 135 clusterIP: None 136 --- 137 apiVersion: core.oam.dev/v1alpha2 138 kind: Component 139 metadata: 140 name: todo-mysql-deployment 141 namespace: mc-todo-list 142 spec: 143 workload: 144 apiVersion: apps/v1 145 kind: Deployment 146 metadata: 147 name: mysql 148 namespace: todo-list 149 spec: 150 replicas: 1 151 selector: 152 matchLabels: 153 app: todo-mysql 154 template: 155 metadata: 156 labels: 157 app: todo-mysql 158 version: v1 159 spec: 160 containers: 161 - env: 162 - name: MYSQL_ROOT_PASSWORD 163 valueFrom: 164 secretKeyRef: 165 name: tododomain-jdbc-tododb 166 key: password 167 - name: MYSQL_USER 168 valueFrom: 169 secretKeyRef: 170 name: tododomain-jdbc-tododb 171 key: username 172 - name: MYSQL_PASSWORD 173 valueFrom: 174 secretKeyRef: 175 name: tododomain-jdbc-tododb 176 key: password 177 - name: MYSQL_DATABASE 178 value: tododb 179 image: ghcr.io/verrazzano/mysql:8.0.28 180 imagePullPolicy: IfNotPresent 181 name: mysql 182 ports: 183 - containerPort: 3306 184 name: mysql 185 protocol: TCP 186 volumeMounts: 187 - mountPath: /docker-entrypoint-initdb.d 188 name: mysql-initdb 189 imagePullSecrets: 190 - name: ocr 191 volumes: 192 - configMap: 193 defaultMode: 420 194 name: mysql-initdb-config 195 name: mysql-initdb