...
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: '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'
35 kind:
36 type: string
37 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'
38 metadata:
39 type: object
40 spec:
41 type: object
42 description: ClientSpec defines the desired state of Client
43 properties:
44 audience:
45 type: array
46 description: Audience is a whitelist defining the audiences this client is allowed to request tokens for
47 items:
48 type: string
49 clientName:
50 type: string
51 description: ClientName is the human-readable string name of the client to be presented to the end-user during authorization.
52 grantTypes:
53 type: array
54 description: GrantTypes is an array of grant types the client is allowed to use.
55 items:
56 type: string
57 maxItems: 5
58 minItems: 1
59 printBarcodeTypes:
60 type: array
61 description: PrintBarcodeTypes is an array that tells Edge-ID about client's printing capabilities.
62 items:
63 type: string
64 maxItems: 2
65 printBarcodeUri:
66 type: string
67 description: PrintBarcodeURI is the redirect URI of the client where print barcode is handled.
68 redirectUris:
69 type: array
70 description: RedirectURIs is an array of the redirect URIs allowed for the application
71 items:
72 type: string
73 responseModes:
74 type: array
75 description: ResponseModes is an array of response modes that client is allowed to send
76 items:
77 type: string
78 maxItems: 3
79 minItems: 0
80 responseTypes:
81 type: array
82 description: ResponseTypes is an array of the OAuth 2.0 response type strings that the client can use at the authorization endpoint.
83 items:
84 type: string
85 maxItems: 3
86 minItems: 1
87 roles:
88 type: array
89 description: Roles is an array of roles the client has.
90 items:
91 type: string
92 maxItems: 100
93 minItems: 0
94 scope:
95 type: string
96 description: Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.
97 pattern: ([a-zA-Z0-9\.\*]+\s?)+
98 secretName:
99 type: string
100 description: SecretName points to the K8s secret that contains this client's ID and password
101 maxLength: 253
102 minLength: 1
103 pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
104 required:
105 - grantTypes
106 - secretName
107 status:
108 type: object
109 description: ClientStatus defines the observed state of Client
110 properties:
111 conditions:
112 type: array
113 description: 'INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "make" to regenerate code after modifying this file'
114 items:
115 type: object
116 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
117 properties:
118 type:
119 type: string
120 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
121 maxLength: 316
122 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])$
123 status:
124 type: string
125 description: status of the condition, one of True, False, Unknown.
126 enum:
127 - "True"
128 - "False"
129 - Unknown
130 lastTransitionTime:
131 type: string
132 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
133 format: date-time
134 message:
135 type: string
136 description: message is a human readable message indicating details about the transition. This may be an empty string.
137 maxLength: 32768
138 observedGeneration:
139 type: integer
140 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
141 format: int64
142 minimum: 0
143 reason:
144 type: string
145 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
146 maxLength: 1024
147 minLength: 1
148 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
149 required:
150 - lastTransitionTime
151 - message
152 - reason
153 - status
154 - type
155 reconciliationError:
156 type: object
157 description: ReconciliationError represents an error that occurred during the reconciliation process
158 properties:
159 description:
160 type: string
161 description: Description is the description of the reconciliation error
162 statusCode:
163 type: string
164 description: Code is the status code of the reconciliation error
165 served: true
166 storage: true
167 subresources:
168 status: {}
View as plain text