forked from keycloak/keycloak-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
keycloak.org_keycloakbackups_crd.yaml
153 lines (153 loc) · 7.42 KB
/
keycloak.org_keycloakbackups_crd.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
152
153
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: keycloakbackups.keycloak.org
spec:
group: keycloak.org
names:
kind: KeycloakBackup
listKind: KeycloakBackupList
plural: keycloakbackups
singular: keycloakbackup
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: KeycloakBackup is the Schema for the keycloakbackups API.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: KeycloakBackupSpec defines the desired state of KeycloakBackup.
properties:
aws:
description: If provided, an automatic database backup will be created
on AWS S3 instead of a local Persistent Volume. If this property
is not provided - a local Persistent Volume backup will be chosen.
properties:
credentialsSecretName:
description: "Provides a secret name used for connecting to AWS
S3 Service. The secret needs to be in the following form: \n
\ apiVersion: v1 kind: Secret metadata: name:
<Secret name> type: Opaque stringData: AWS_S3_BUCKET_NAME:
<S3 Bucket Name> AWS_ACCESS_KEY_ID: <AWS Access Key ID>
\ AWS_SECRET_ACCESS_KEY: <AWS Secret Key> \n For more information,
please refer to the Operator documentation."
type: string
encryptionKeySecretName:
description: "If provided, the database backup will be encrypted.
Provides a secret name used for encrypting database data. The
secret needs to be in the following form: \n apiVersion:
v1 kind: Secret metadata: name: <Secret name>
\ type: Opaque stringData: GPG_PUBLIC_KEY: <GPG
Public Key> GPG_TRUST_MODEL: <GPG Trust Model> GPG_RECIPIENT:
<GPG Recipient> \n For more information, please refer to the
Operator documentation."
type: string
schedule:
description: If specified, it will be used as a schedule for creating
a CronJob.
type: string
type: object
instanceSelector:
description: Selector for looking up Keycloak Custom Resources.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
restore:
description: "Controls automatic restore behavior. Currently not implemented.
\n In the future this will be used to trigger automatic restore
for a given KeycloakBackup. Each backup will correspond to a single
snapshot of the database (stored either in a Persistent Volume or
AWS). If a user wants to restore it, all he/she needs to do is to
change this flag to true. Potentially, it will be possible to restore
a single backup multiple times."
type: boolean
storageClassName:
description: Name of the StorageClass for Postgresql Backup Persistent
Volume Claim
type: string
type: object
status:
description: KeycloakBackupStatus defines the observed state of KeycloakBackup.
properties:
message:
description: Human-readable message indicating details about current
operator phase or error.
type: string
phase:
description: Current phase of the operator.
type: string
ready:
description: True if all resources are in a ready state and all work
is done.
type: boolean
secondaryResources:
additionalProperties:
items:
type: string
type: array
description: 'A map of all the secondary resources types and names
created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2"
]'
type: object
required:
- message
- phase
- ready
type: object
type: object
served: true
storage: true
subresources:
status: {}