# Copyright (C) 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # Copyright (c) 2020, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. apiVersion: core.oam.dev/v1alpha2 kind: Component metadata: name: todo-mysql-service namespace: tododomain spec: workload: apiVersion: v1 kind: Service metadata: name: mysql namespace: tododomain spec: ports: - port: 3306 name: mysql selector: app: mysql clusterIP: None --- apiVersion: core.oam.dev/v1alpha2 kind: Component metadata: name: todo-mysql-deployment namespace: tododomain spec: workload: apiVersion: apps/v1 kind: Deployment metadata: name: mysql namespace: tododomain spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: mysql strategy: type: Recreate template: metadata: creationTimestamp: null labels: app: mysql spec: containers: - env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: tododomain-jdbc-tododb key: password - name: MYSQL_USER valueFrom: secretKeyRef: name: tododomain-jdbc-tododb key: username - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: tododomain-jdbc-tododb key: password key: password - name: MYSQL_DATABASE value: tododb image: mysql:latest imagePullPolicy: IfNotPresent name: mysql ports: - containerPort: 3306 name: mysql protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /docker-entrypoint-initdb.d name: mysql-initdb dnsPolicy: ClusterFirst imagePullSecrets: - name: ocr restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: mysql-initdb-config name: mysql-initdb --- apiVersion: core.oam.dev/v1alpha2 kind: Component metadata: name: todo-mysql-configmap namespace: tododomain spec: workload: apiVersion: v1 kind: ConfigMap metadata: name: mysql-initdb-config namespace: tododomain data: initdb.sql: | create table `ToDos` ( `taskId` int not null auto_increment, `task` varchar(200) not null, `completed` boolean, constraint todo_pk primary key (`taskId`) );