...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 name: providers.iam.edge-infra.dev
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7spec:
8 group: iam.edge-infra.dev
9 names:
10 kind: Provider
11 listKind: ProviderList
12 plural: providers
13 singular: provider
14 scope: Namespaced
15 versions:
16 - name: v1alpha1
17 additionalPrinterColumns:
18 - name: Target
19 type: string
20 jsonPath: .spec.target
21 - name: Age
22 type: date
23 jsonPath: .metadata.creationTimestamp
24 schema:
25 openAPIV3Schema:
26 type: object
27 description: Provider is the Schema for the providers API
28 properties:
29 apiVersion:
30 type: string
31 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'
32 kind:
33 type: string
34 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'
35 metadata:
36 type: object
37 spec:
38 type: object
39 description: ProviderSpec defines the desired state of Provider
40 properties:
41 barcode:
42 type: object
43 description: Barcode contains the configuration that Barcode login method should have
44 properties:
45 expire:
46 type: string
47 role:
48 type: boolean
49 description: checks if the user has the permission to print barcode
50 encryption:
51 type: object
52 description: encryption field contains the version of the encryption key secret
53 properties:
54 version:
55 type: string
56 required:
57 - version
58 ff:
59 type: object
60 additionalProperties:
61 type: boolean
62 description: FF contains the launchdarkly feature flags defaults that should be enabled
63 issuer:
64 type: string
65 description: "Issuer sets the value of the `iss`-claim (issuer) that is minted in our tokens Recommended is to use the URL of the authorization server, i.e. https://iam.store.ncr.corp If this claim does not contain a URL (some other kind of identifier) or it cannot be resolved on that URL, the client will need to configure a separate URL. \n Workloads running inside the cluster require this change as the external addr1ess, https://iam.store.ncr.corp cannot be resolved in the cluster. \n Should not contain trailing '/'"
66 okta:
67 type: object
68 description: okta field contains authurl as well as cred secret name
69 properties:
70 credsSecretName:
71 type: string
72 required:
73 - credsSecretName
74 pin:
75 type: object
76 description: PIN contains the configuration that PIN login method should have
77 properties:
78 attempts:
79 type: integer
80 maximum: 5
81 minimum: 3
82 expire:
83 type: string
84 history:
85 type: integer
86 maximum: 5
87 minimum: 3
88 length:
89 type: integer
90 profile:
91 type: object
92 description: Profile contains the configuration of profile
93 properties:
94 expire:
95 type: string
96 target:
97 type: string
98 description: 'Target sets the type of environment this provider targets, options: gcp, sds'
99 status:
100 type: object
101 description: ProviderStatus defines the observed state of Provider
102 properties:
103 conditions:
104 type: array
105 items:
106 type: object
107 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 }"
108 properties:
109 type:
110 type: string
111 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)
112 maxLength: 316
113 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])$
114 status:
115 type: string
116 description: status of the condition, one of True, False, Unknown.
117 enum:
118 - "True"
119 - "False"
120 - Unknown
121 lastTransitionTime:
122 type: string
123 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.
124 format: date-time
125 message:
126 type: string
127 description: message is a human readable message indicating details about the transition. This may be an empty string.
128 maxLength: 32768
129 observedGeneration:
130 type: integer
131 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.
132 format: int64
133 minimum: 0
134 reason:
135 type: string
136 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.
137 maxLength: 1024
138 minLength: 1
139 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
140 required:
141 - lastTransitionTime
142 - message
143 - reason
144 - status
145 - type
146 served: true
147 storage: true
148 subresources:
149 status: {}
View as plain text