...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 name: clients.iam.edge-infra.dev
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7spec:
8 group: iam.edge-infra.dev
9 names:
10 kind: Client
11 listKind: ClientList
12 plural: clients
13 singular: client
14 scope: Namespaced
15 versions:
16 - name: v1alpha1
17 additionalPrinterColumns:
18 - name: Reason
19 type: string
20 jsonPath: .status.conditions[0].reason
21 - name: Message
22 type: string
23 jsonPath: .status.conditions[0].message
24 - name: Age
25 type: date
26 jsonPath: .metadata.creationTimestamp
27 schema:
28 openAPIV3Schema:
29 type: object
30 description: Client is the Schema for the clients API
31 properties:
32 apiVersion:
33 type: string
34 description: |-
35 APIVersion defines the versioned schema of this representation of an object.
36 Servers should convert recognized schemas to the latest internal value, and
37 may reject unrecognized values.
38 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
39 kind:
40 type: string
41 description: |-
42 Kind is a string value representing the REST resource this object represents.
43 Servers may infer this from the endpoint the client submits requests to.
44 Cannot be updated.
45 In CamelCase.
46 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
47 metadata:
48 type: object
49 spec:
50 type: object
51 description: ClientSpec defines the desired state of Client
52 properties:
53 audience:
54 type: array
55 description: Audience is a whitelist defining the audiences this client is allowed to request tokens for
56 items:
57 type: string
58 clientName:
59 type: string
60 description: ClientName is the human-readable string name of the client to be presented to the end-user during authorization.
61 grantTypes:
62 type: array
63 description: GrantTypes is an array of grant types the client is allowed to use.
64 items:
65 type: string
66 maxItems: 5
67 minItems: 1
68 printBarcodeTypes:
69 type: array
70 description: 'PrintBarcodeTypes is an array that tells Edge-ID about client''s printing capabilities. Supported Values: 128A, qr'
71 items:
72 type: string
73 maxItems: 2
74 printBarcodeUri:
75 type: string
76 description: PrintBarcodeURI is the redirect URI of the client where print barcode is handled.
77 redirectUris:
78 type: array
79 description: RedirectURIs is an array of the redirect URIs allowed for the application
80 items:
81 type: string
82 responseModes:
83 type: array
84 description: ResponseModes is an array of response modes that client is allowed to send
85 items:
86 type: string
87 maxItems: 3
88 minItems: 0
89 responseTypes:
90 type: array
91 description: |-
92 ResponseTypes is an array of the OAuth 2.0 response type strings that the client can
93 use at the authorization endpoint.
94 items:
95 type: string
96 maxItems: 3
97 minItems: 1
98 roles:
99 type: array
100 description: 'Roles is an array of roles the client has. Example roles: ULP_FINALIZE, AMS_CUSTOMER, etc.'
101 items:
102 type: string
103 maxItems: 100
104 minItems: 0
105 scope:
106 type: string
107 description: |-
108 Scope is a string containing a space-separated list of scope values (as
109 described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client
110 can use when requesting access tokens.
111 pattern: ([a-zA-Z0-9\.\*]+\s?)+
112 secretName:
113 type: string
114 description: SecretName points to the K8s secret that contains this client's ID and password
115 maxLength: 253
116 minLength: 1
117 pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
118 required:
119 - grantTypes
120 - secretName
121 status:
122 type: object
123 description: ClientStatus defines the observed state of Client
124 properties:
125 conditions:
126 type: array
127 description: |-
128 INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
129 Important: Run "make" to regenerate code after modifying this file
130 items:
131 type: object
132 description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}"
133 properties:
134 type:
135 type: string
136 description: |-
137 type of condition in CamelCase or in foo.example.com/CamelCase.
138 ---
139 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
140 useful (see .node.status.conditions), the ability to deconflict is important.
141 The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
142 maxLength: 316
143 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])$
144 status:
145 type: string
146 description: status of the condition, one of True, False, Unknown.
147 enum:
148 - "True"
149 - "False"
150 - Unknown
151 lastTransitionTime:
152 type: string
153 description: |-
154 lastTransitionTime is the last time the condition transitioned from one status to another.
155 This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
156 format: date-time
157 message:
158 type: string
159 description: |-
160 message is a human readable message indicating details about the transition.
161 This may be an empty string.
162 maxLength: 32768
163 observedGeneration:
164 type: integer
165 description: |-
166 observedGeneration represents the .metadata.generation that the condition was set based upon.
167 For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
168 with respect to the current state of the instance.
169 format: int64
170 minimum: 0
171 reason:
172 type: string
173 description: |-
174 reason contains a programmatic identifier indicating the reason for the condition's last transition.
175 Producers of specific condition types may define expected values and meanings for this field,
176 and whether the values are considered a guaranteed API.
177 The value should be a CamelCase string.
178 This field may not be empty.
179 maxLength: 1024
180 minLength: 1
181 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
182 required:
183 - lastTransitionTime
184 - message
185 - reason
186 - status
187 - type
188 reconciliationError:
189 type: object
190 description: ReconciliationError represents an error that occurred during the reconciliation process
191 properties:
192 description:
193 type: string
194 description: Description is the description of the reconciliation error
195 statusCode:
196 type: string
197 description: Code is the status code of the reconciliation error
198 served: true
199 storage: true
200 subresources:
201 status: {}
View as plain text