-
Notifications
You must be signed in to change notification settings - Fork 45
/
singleinstancedatabase.yaml
151 lines (127 loc) · 6.77 KB
/
singleinstancedatabase.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
#
apiVersion: database.oracle.com/v1alpha1
kind: SingleInstanceDatabase
metadata:
name: sidb-sample
namespace: default
spec:
## Use only alphanumeric characters for sid up to a maximum of 8 characters
sid: ORCL1
## DB edition. N/A for createAs clone or standby
## Valid values for edition are enterprise, standard, express or free
edition: enterprise
## Type of database.
## Valid values for createAs are primary, clone or standby
## Valid only for enterprise and standard editions
createAs: primary
## Reference to a source primary database.
## Valid only for createAs clone or standby
## The name of a source primary database resource from the same namespace
primaryDatabaseRef: ""
## Secret containing SIDB password mapped to secretKey. secretKey defaults to oracle_pwd
## Should refer to adminPassword of Source DB if createAs is clone or standby
## This secret will be deleted after creation of the database unless keepSecret is set to true which is the default
adminPassword:
secretName:
secretKey:
keepSecret: true
## DB character set. N/A for createAs clone or standby
charset: AL32UTF8
## PDB name. N/A for createAs clone or standby
pdbName: orclpdb1
## Enable/Disable Flashback
flashBack: false
## Enable/Disable ArchiveLog. Should be true to allow DB cloning
archiveLog: false
## Enable/Disable ForceLogging
forceLog: false
## Enable TCPS
enableTCPS:
## User specified TLS-Cert Secret
## The following specified TLS certs will be used instead of self-signed
tcpsTlsSecret:
## TCPS Certificate Renewal Interval: (Valid for Self-Signed Certificates)
## The time after which TCPS certificate will be renewed if TCPS connections are enabled.
## tcpsCertRenewInterval can be in hours(h), minutes(m) and seconds(s); e.g. 4380h, 8760h etc.
## Maximum value is 8760h (1 year), Minimum value is 24h; Default value is 8760h (1 year)
## If this field is commented out/removed from the yaml, it will disable the auto-renewal feature for TCPS certificate
tcpsCertRenewInterval: 8760h
## N/A for createAs clone or standby
## Specify Non-Zero value to use
## sgaTarget and pgaAggregateTarget must be in MB
## You cannot change these initParams for Oracle Database Express (XE) and Oracle Database Free edition
initParams:
cpuCount: 0
processes: 0
sgaTarget: 0
pgaAggregateTarget: 0
## Database image details
## Base DB images are available at container-registry.oracle.com or build from https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance
## Build patched DB images from https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance/extensions/patching
## Prebuilt DB support (https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance/extensions/prebuiltdb)
## Specify prebuiltDB as true if the image includes a prebuilt DB
## If cloning specify an image that is of same major version as the source DB at same or different patch levels
image:
pullFrom:
pullSecrets:
prebuiltDB: false
## Database storage details
## size is the required minimum size of the persistent volume
## storageClass is specified for dynamic volume provisioning and datafilesVolumeName for static provisioning
persistence:
## if the storageClass supports volume expansion, patch the size attribute to expand the volume
## Shrinking volumes is not allowed
size: 100Gi
## set ownership/permissions for writing to datafiles volume. This is usually needed for NFS volumes.
setWritePermissions: true
## oci-bv applies to OCI block volumes. Use "standard" storageClass for dynamic provisioning in Minikube. Update as appropriate for other cloud services
storageClass: "oci-bv"
## accessMode can only accept one of ReadWriteOnce, ReadWriteMany
accessMode: "ReadWriteOnce"
## datafilesVolumeName is optional. Specify for binding to a specific PV and set storageClass to an empty string to disable automatic volume provisioning
datafilesVolumeName: ""
## Optionally specify a volume containing scripts in 'setup' and 'startup' folders to be executed during database setup and startup respectively.
scriptsVolumeName: ""
## Database pod resource details
## cpu can be expressed in terms of cpu units and can be a plain integer or fractional value
## memory is measured in bytes and can be expressed in plain integer or as a fixed-point number
## using one of these quantity suffixes: E, P, T, G, M, k.
## You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.
resources:
## requests denotes minimum node resources required/to be utilized by the database pod
requests:
cpu:
memory:
## limits specifies the maximum node resources that can be utilized by the database pod
limits:
cpu:
memory:
## Type of service . Applicable on cloud enviroments only
## if loadBalService : false, service type = "NodePort" else "LoadBalancer"
loadBalancer: false
## 'listenerPort' and 'tcpsListenerPort' fields customizes port cofigurations for normal and tcps database listeners
## 'tcpsListenerPort' will come in effect only when 'enableTCPS' field is set
## If loadBalancer is enabled, the listenerPort, tcpsListenerPort will be the load balancer ports
## If loadBalancer is disabled, the listenerPort, tcpsListenerPort will be the node ports(should be in range 30000-32767)
## If enableTCPS is set, and listenerPort is commented/not mentioned in the YAML file, only TCPS endpoint will be exposed
#listenerPort: 30001
#tcpsListenerPort: 30002
## Service Annotations (Cloud provider specific), for configuring the service (e.g. private LoadBalancer service)
#serviceAnnotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
## Deploy only on nodes having required labels. Format label_name: label_value
## For instance if the pods need to be restricted to a particular AD
## Leave commented if there is no such requirement.
# nodeSelector:
# topology.kubernetes.io/zone: PHX-AD-1
## If deploying on OpenShift, change service account name to 'sidb-sa' after you run `$ oc apply -f openshift_rbac.yaml`
serviceAccountName: default
## Count of Database Pods. Only one pod will have the DB mounted and open.
## The other replica pods will have instance up and will mount and open the DB if the primary pod dies
## For "ReadWriteOnce" AccessMode, all the replicas will schedule on the same node that has the storage attached
## For minimal downtime during patching set the count of replicas > 1
## Express edition can only have one replica and does not support patching
replicas: 1