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