Skip to content

Commit dcd6eb0

Browse files
authored
operator postgresql (5.8.3)
1 parent d99b935 commit dcd6eb0

8 files changed

+22529
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Used to build the bundle image. This file is ignored by the community operator
2+
# registries which work with bundle directories instead.
3+
# https://operator-framework.github.io/community-operators/packaging-operator/
4+
5+
FROM scratch AS builder
6+
7+
COPY manifests/ /build/manifests/
8+
COPY metadata/ /build/metadata/
9+
COPY tests/ /build/tests
10+
11+
12+
FROM scratch
13+
14+
# ANNOTATIONS is replaced with bundle.annotations.yaml
15+
LABEL \
16+
operators.operatorframework.io.bundle.mediatype.v1="registry+v1" \
17+
operators.operatorframework.io.bundle.manifests.v1="manifests/" \
18+
operators.operatorframework.io.bundle.metadata.v1="metadata/" \
19+
operators.operatorframework.io.test.mediatype.v1="scorecard+v1" \
20+
operators.operatorframework.io.test.config.v1="tests/scorecard/" \
21+
operators.operatorframework.io.bundle.package.v1="postgresql" \
22+
operators.operatorframework.io.bundle.channels.v1="v5" \
23+
operators.operatorframework.io.bundle.channel.default.v1="v5" \
24+
com.redhat.delivery.operator.bundle=true \
25+
com.redhat.openshift.versions="v4.12-v4.19" \
26+
org.opencontainers.image.authors="[email protected]" \
27+
org.opencontainers.image.url="https://crunchydata.com" \
28+
org.opencontainers.image.vendor="Crunchy Data"
29+
30+
COPY --from=builder /build/ /
Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: crunchybridgeclusters.postgres-operator.crunchydata.com
5+
labels:
6+
app.kubernetes.io/version: 5.8.3
7+
postgres-operator.crunchydata.com/control-plane: postgres-operator
8+
spec:
9+
group: postgres-operator.crunchydata.com
10+
names:
11+
kind: CrunchyBridgeCluster
12+
listKind: CrunchyBridgeClusterList
13+
plural: crunchybridgeclusters
14+
singular: crunchybridgecluster
15+
scope: Namespaced
16+
versions:
17+
- name: v1beta1
18+
schema:
19+
openAPIV3Schema:
20+
description: CrunchyBridgeCluster is the Schema for the crunchybridgeclusters API
21+
properties:
22+
apiVersion:
23+
description: |-
24+
APIVersion defines the versioned schema of this representation of an object.
25+
Servers should convert recognized schemas to the latest internal value, and
26+
may reject unrecognized values.
27+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
28+
type: string
29+
kind:
30+
description: |-
31+
Kind is a string value representing the REST resource this object represents.
32+
Servers may infer this from the endpoint the client submits requests to.
33+
Cannot be updated.
34+
In CamelCase.
35+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
36+
type: string
37+
metadata:
38+
type: object
39+
spec:
40+
description: |-
41+
CrunchyBridgeClusterSpec defines the desired state of CrunchyBridgeCluster
42+
to be managed by Crunchy Data Bridge
43+
properties:
44+
clusterName:
45+
description: The name of the cluster
46+
maxLength: 50
47+
minLength: 5
48+
pattern: ^[A-Za-z][A-Za-z0-9\-_ ]*[A-Za-z0-9]$
49+
type: string
50+
isHa:
51+
description: |-
52+
Whether the cluster is high availability,
53+
meaning that it has a secondary it can fail over to quickly
54+
in case the primary becomes unavailable.
55+
type: boolean
56+
isProtected:
57+
description: |-
58+
Whether the cluster is protected. Protected clusters can't be destroyed until
59+
their protected flag is removed
60+
type: boolean
61+
majorVersion:
62+
description: |-
63+
The ID of the cluster's major Postgres version.
64+
Currently Bridge offers 13-17
65+
maximum: 17
66+
minimum: 13
67+
type: integer
68+
metadata:
69+
description: Metadata contains metadata for custom resources
70+
properties:
71+
annotations:
72+
additionalProperties:
73+
type: string
74+
type: object
75+
labels:
76+
additionalProperties:
77+
type: string
78+
type: object
79+
type: object
80+
plan:
81+
description: The ID of the cluster's plan. Determines instance, CPU, and memory.
82+
type: string
83+
provider:
84+
description: |-
85+
The cloud provider where the cluster is located.
86+
Currently Bridge offers aws, azure, and gcp only
87+
enum:
88+
- aws
89+
- azure
90+
- gcp
91+
maxLength: 10
92+
type: string
93+
x-kubernetes-validations:
94+
- message: immutable
95+
rule: self == oldSelf
96+
region:
97+
description: The provider region where the cluster is located.
98+
type: string
99+
x-kubernetes-validations:
100+
- message: immutable
101+
rule: self == oldSelf
102+
roles:
103+
description: |-
104+
Roles for which to create Secrets that contain their credentials which
105+
are retrieved from the Bridge API. An empty list creates no role secrets.
106+
Removing a role from this list does NOT drop the role nor revoke their
107+
access, but it will delete that role's secret from the kube cluster.
108+
items:
109+
properties:
110+
name:
111+
description: |-
112+
Name of the role within Crunchy Bridge.
113+
More info: https://docs.crunchybridge.com/concepts/users
114+
type: string
115+
secretName:
116+
description: The name of the Secret that will hold the role credentials.
117+
maxLength: 253
118+
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
119+
type: string
120+
required:
121+
- name
122+
- secretName
123+
type: object
124+
type: array
125+
x-kubernetes-list-map-keys:
126+
- name
127+
x-kubernetes-list-type: map
128+
secret:
129+
description: The name of the secret containing the API key and team id
130+
type: string
131+
storage:
132+
anyOf:
133+
- type: integer
134+
- type: string
135+
description: |-
136+
The amount of storage available to the cluster in gigabytes.
137+
The amount must be an integer, followed by Gi (gibibytes) or G (gigabytes) to match Kubernetes conventions.
138+
If the amount is given in Gi, we round to the nearest G value.
139+
The minimum value allowed by Bridge is 10 GB.
140+
The maximum value allowed by Bridge is 65535 GB.
141+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
142+
x-kubernetes-int-or-string: true
143+
required:
144+
- clusterName
145+
- isHa
146+
- majorVersion
147+
- plan
148+
- provider
149+
- region
150+
- secret
151+
- storage
152+
type: object
153+
status:
154+
description: CrunchyBridgeClusterStatus defines the observed state of CrunchyBridgeCluster
155+
properties:
156+
conditions:
157+
description: conditions represent the observations of postgres cluster's current state.
158+
items:
159+
description: Condition contains details for one aspect of the current state of this API Resource.
160+
properties:
161+
lastTransitionTime:
162+
description: |-
163+
lastTransitionTime is the last time the condition transitioned from one status to another.
164+
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
165+
format: date-time
166+
type: string
167+
message:
168+
description: |-
169+
message is a human readable message indicating details about the transition.
170+
This may be an empty string.
171+
maxLength: 32768
172+
type: string
173+
observedGeneration:
174+
description: |-
175+
observedGeneration represents the .metadata.generation that the condition was set based upon.
176+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
177+
with respect to the current state of the instance.
178+
format: int64
179+
minimum: 0
180+
type: integer
181+
reason:
182+
description: |-
183+
reason contains a programmatic identifier indicating the reason for the condition's last transition.
184+
Producers of specific condition types may define expected values and meanings for this field,
185+
and whether the values are considered a guaranteed API.
186+
The value should be a CamelCase string.
187+
This field may not be empty.
188+
maxLength: 1024
189+
minLength: 1
190+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
191+
type: string
192+
status:
193+
description: status of the condition, one of True, False, Unknown.
194+
enum:
195+
- "True"
196+
- "False"
197+
- Unknown
198+
type: string
199+
type:
200+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
201+
maxLength: 316
202+
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
203+
type: string
204+
required:
205+
- lastTransitionTime
206+
- message
207+
- reason
208+
- status
209+
- type
210+
type: object
211+
type: array
212+
x-kubernetes-list-map-keys:
213+
- type
214+
x-kubernetes-list-type: map
215+
host:
216+
description: The Hostname of the postgres cluster in Bridge, provided by Bridge API and null until then.
217+
type: string
218+
id:
219+
description: The ID of the postgres cluster in Bridge, provided by Bridge API and null until then.
220+
type: string
221+
isHa:
222+
description: |-
223+
Whether the cluster is high availability, meaning that it has a secondary it can fail
224+
over to quickly in case the primary becomes unavailable.
225+
type: boolean
226+
isProtected:
227+
description: |-
228+
Whether the cluster is protected. Protected clusters can't be destroyed until
229+
their protected flag is removed
230+
type: boolean
231+
majorVersion:
232+
description: The cluster's major Postgres version.
233+
type: integer
234+
name:
235+
description: The name of the cluster in Bridge.
236+
type: string
237+
observedGeneration:
238+
description: observedGeneration represents the .metadata.generation on which the status was based.
239+
format: int64
240+
minimum: 0
241+
type: integer
242+
ongoingUpgrade:
243+
description: The cluster upgrade as represented by Bridge
244+
items:
245+
properties:
246+
flavor:
247+
type: string
248+
starting_from:
249+
type: string
250+
state:
251+
type: string
252+
required:
253+
- flavor
254+
- starting_from
255+
- state
256+
type: object
257+
type: array
258+
plan:
259+
description: The ID of the cluster's plan. Determines instance, CPU, and memory.
260+
type: string
261+
responses:
262+
description: Most recent, raw responses from Bridge API
263+
type: object
264+
x-kubernetes-preserve-unknown-fields: true
265+
state:
266+
description: State of cluster in Bridge.
267+
type: string
268+
storage:
269+
anyOf:
270+
- type: integer
271+
- type: string
272+
description: The amount of storage available to the cluster.
273+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
274+
x-kubernetes-int-or-string: true
275+
type: object
276+
type: object
277+
served: true
278+
storage: true
279+
subresources:
280+
status: {}

0 commit comments

Comments
 (0)