...
1---
2apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7 name: linkerds.linkerd.edge.ncr.com
8spec:
9 group: linkerd.edge.ncr.com
10 names:
11 kind: Linkerd
12 listKind: LinkerdList
13 plural: linkerds
14 shortNames:
15 - l5d
16 - l5ds
17 singular: linkerd
18 scope: Cluster
19 versions:
20 - additionalPrinterColumns:
21 - jsonPath: .status.conditions[?(@.type=="Ready")].status
22 name: Ready
23 type: string
24 - jsonPath: .status.conditions[?(@.type=="Ready")].message
25 name: Status
26 type: string
27 - jsonPath: .status.version
28 name: Version
29 type: string
30 - jsonPath: .metadata.creationTimestamp
31 name: Age
32 type: date
33 name: v1alpha1
34 schema:
35 openAPIV3Schema:
36 description: Linkerd is the Schema for the Linkerds API
37 properties:
38 apiVersion:
39 description: |-
40 APIVersion defines the versioned schema of this representation of an object.
41 Servers should convert recognized schemas to the latest internal value, and
42 may reject unrecognized values.
43 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
44 type: string
45 kind:
46 description: |-
47 Kind is a string value representing the REST resource this object represents.
48 Servers may infer this from the endpoint the client submits requests to.
49 Cannot be updated.
50 In CamelCase.
51 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
52 type: string
53 metadata:
54 type: object
55 spec:
56 description: LinkerdSpec defines the desired state of Linkerd
57 properties:
58 highAvailability:
59 description: 'HighAvailability when enabled, configures linkerd to
60 run in high availability mode: https://linkerd.io/2.14/features/ha/'
61 properties:
62 enabled:
63 type: boolean
64 type: object
65 injection:
66 description: 'Injection when enabled, configures linkerd with automatic
67 proxy injection: https://linkerd.io/2.14/features/proxy-injection/'
68 properties:
69 enabled:
70 type: boolean
71 exclude:
72 description: Exclude defines the exclusion rules for proxy injection
73 properties:
74 namespaces:
75 items:
76 type: string
77 type: array
78 type: object
79 type: object
80 monitoring:
81 default:
82 enabled: true
83 description: Monitoring when enabled, allows monitoring features such
84 as prometheus
85 properties:
86 enabled:
87 type: boolean
88 type: object
89 type: object
90 status:
91 description: LinkerdStatus defines the observed state of Linkerd
92 properties:
93 clusterNetworks:
94 type: string
95 conditions:
96 description: Conditions reports the current status of the linkerd
97 CR
98 items:
99 description: "Condition contains details for one aspect of the current
100 state of this API Resource.\n---\nThis struct is intended for
101 direct use as an array at the field path .status.conditions. For
102 example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
103 observations of a foo's current state.\n\t // Known .status.conditions.type
104 are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
105 +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
106 \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
107 patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
108 \ // other fields\n\t}"
109 properties:
110 lastTransitionTime:
111 description: |-
112 lastTransitionTime is the last time the condition transitioned from one status to another.
113 This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
114 format: date-time
115 type: string
116 message:
117 description: |-
118 message is a human readable message indicating details about the transition.
119 This may be an empty string.
120 maxLength: 32768
121 type: string
122 observedGeneration:
123 description: |-
124 observedGeneration represents the .metadata.generation that the condition was set based upon.
125 For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
126 with respect to the current state of the instance.
127 format: int64
128 minimum: 0
129 type: integer
130 reason:
131 description: |-
132 reason contains a programmatic identifier indicating the reason for the condition's last transition.
133 Producers of specific condition types may define expected values and meanings for this field,
134 and whether the values are considered a guaranteed API.
135 The value should be a CamelCase string.
136 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 type: string
141 status:
142 description: status of the condition, one of True, False, Unknown.
143 enum:
144 - "True"
145 - "False"
146 - Unknown
147 type: string
148 type:
149 description: |-
150 type of condition in CamelCase or in foo.example.com/CamelCase.
151 ---
152 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
153 useful (see .node.status.conditions), the ability to deconflict is important.
154 The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
155 maxLength: 316
156 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])$
157 type: string
158 required:
159 - lastTransitionTime
160 - message
161 - reason
162 - status
163 - type
164 type: object
165 type: array
166 disabledNamespaces:
167 description: DisabledNamespaces reports list of namespaces that will
168 not be injected with linkerd proxy
169 items:
170 type: string
171 type: array
172 identityIssuer:
173 description: IdentityIssuer reports the duration and renew before
174 configuration of identity certificates
175 properties:
176 certificate:
177 description: Certificate defines configuration for a cert-manager
178 Certificate
179 properties:
180 durationHours:
181 type: integer
182 renewBeforeHours:
183 type: integer
184 required:
185 - durationHours
186 - renewBeforeHours
187 type: object
188 required:
189 - certificate
190 type: object
191 infraVersion:
192 description: InfraVersion reports the current edge infra version
193 type: string
194 injectedNamespaces:
195 description: InjectedNamespaces reports the list of namespaces that
196 are to be injected
197 items:
198 type: string
199 type: array
200 inventory:
201 description: Inventory reports the list of server and server authorizations
202 that were created for each namespace to be injected
203 properties:
204 entries:
205 description: Entries of Kubernetes resource object references.
206 items:
207 description: ResourceRef contains the information necessary
208 to locate a resource within a cluster.
209 properties:
210 id:
211 description: |-
212 ID is the string representation of the Kubernetes resource object's metadata,
213 in the format '<namespace>_<name>_<group>_<kind>'.
214 type: string
215 v:
216 description: Version is the API version of the Kubernetes
217 resource object's kind.
218 type: string
219 required:
220 - id
221 - v
222 type: object
223 type: array
224 type: object
225 issuanceLifetime:
226 description: IssuanceLifetime reports the amount of time before identity
227 certificates expire
228 type: string
229 nativeSidecarsEnabled:
230 description: NativeSidecarsEnabled reports if native sidecars are
231 enabled for the cluster
232 type: boolean
233 thickPos:
234 description: ThickPos reports if thick POS topolgy is enabled/disabled
235 type: boolean
236 version:
237 description: Version reports the current linkerd version installed
238 on the cluster
239 type: string
240 type: object
241 type: object
242 served: true
243 storage: true
244 subresources:
245 status: {}
View as plain text