3774189882548a036440df28b0cb32eccc9a51d6
[demo.git] / vnfs / DAaaS / deploy / 00-init / istio / istio-operator / templates / operator-remoteistio-1.2-crd.yaml
1 {{ if eq .Values.istioVersion 1.2 }}
2 apiVersion: apiextensions.k8s.io/v1beta1
3 kind: CustomResourceDefinition
4 metadata:
5   name: remoteistios.istio.banzaicloud.io
6   labels:
7     controller-tools.k8s.io: "1.0"
8     app.kubernetes.io/name: {{ include "istio-operator.name" . }}
9     helm.sh/chart: {{ include "istio-operator.chart" . }}
10     app.kubernetes.io/instance: {{ .Release.Name }}
11     app.kubernetes.io/managed-by: {{ .Release.Service }}
12     app.kubernetes.io/version: {{ .Chart.AppVersion }}
13     app.kubernetes.io/component: operator
14 spec:
15   additionalPrinterColumns:
16   - JSONPath: .status.Status
17     description: Status of the resource
18     name: Status
19     type: string
20   - JSONPath: .status.ErrorMessage
21     description: Error message
22     name: Error
23     type: string
24   - JSONPath: .status.GatewayAddress
25     description: Ingress gateways of the resource
26     name: Gateways
27     type: string
28   - JSONPath: .metadata.creationTimestamp
29     name: Age
30     type: date
31   group: istio.banzaicloud.io
32   names:
33     kind: RemoteIstio
34     plural: remoteistios
35   scope: Namespaced
36   subresources:
37     status: {}
38   validation:
39     openAPIV3Schema:
40       properties:
41         apiVersion:
42           description: 'APIVersion defines the versioned schema of this representation
43             of an object. Servers should convert recognized schemas to the latest
44             internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
45           type: string
46         kind:
47           description: 'Kind is a string value representing the REST resource this
48             object represents. Servers may infer this from the endpoint the client
49             submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
50           type: string
51         metadata:
52           type: object
53         spec:
54           properties:
55             autoInjectionNamespaces:
56               description: List of namespaces to label with sidecar auto injection
57                 enabled
58               items:
59                 type: string
60               type: array
61             citadel:
62               description: Citadel configuration options
63               properties:
64                 affinity:
65                   type: object
66                 caSecretName:
67                   type: string
68                 enabled:
69                   type: boolean
70                 healthCheck:
71                   description: Enable health checking on the Citadel CSR signing API.
72                     https://istio.io/docs/tasks/security/health-check/
73                   type: boolean
74                 image:
75                   type: string
76                 maxWorkloadCertTTL:
77                   description: Citadel uses a flag max-workload-cert-ttl to control
78                     the maximum lifetime for Istio certificates issued to workloads.
79                     The default value is 90 days. If workload-cert-ttl on Citadel
80                     or node agent is greater than max-workload-cert-ttl, Citadel will
81                     fail issuing the certificate.
82                   type: string
83                 nodeSelector:
84                   type: object
85                 resources:
86                   type: object
87                 tolerations:
88                   items:
89                     type: object
90                   type: array
91                 workloadCertTTL:
92                   description: For the workloads running in Kubernetes, the lifetime
93                     of their Istio certificates is controlled by the workload-cert-ttl
94                     flag on Citadel. The default value is 90 days. This value should
95                     be no greater than max-workload-cert-ttl of Citadel.
96                   type: string
97               type: object
98             defaultResources:
99               description: DefaultResources are applied for all Istio components by
100                 default, can be overridden for each component
101               type: object
102             enabledServices:
103               description: EnabledServices the Istio component services replicated
104                 to remote side
105               items:
106                 properties:
107                   labelSelector:
108                     type: string
109                   name:
110                     type: string
111                   podIPs:
112                     items:
113                       type: string
114                     type: array
115                   ports:
116                     items:
117                       type: object
118                     type: array
119                 required:
120                 - name
121                 type: object
122               type: array
123             excludeIPRanges:
124               description: ExcludeIPRanges the range where not to capture egress traffic
125               type: string
126             includeIPRanges:
127               description: IncludeIPRanges the range where to capture egress traffic
128               type: string
129             proxy:
130               description: Proxy configuration options
131               properties:
132                 componentLogLevel:
133                   description: Per Component log level for proxy, applies to gateways
134                     and sidecars. If a component level is not set, then the "LogLevel"
135                     will be used. If left empty, "misc:error" is used.
136                   type: string
137                 dnsRefreshRate:
138                   description: Configure the DNS refresh rate for Envoy cluster of
139                     type STRICT_DNS This must be given it terms of seconds. For example,
140                     300s is valid but 5m is invalid.
141                   pattern: ^[0-9]{1,5}s$
142                   type: string
143                 enableCoreDump:
144                   description: If set, newly injected sidecars will have core dumps
145                     enabled.
146                   type: boolean
147                 image:
148                   type: string
149                 logLevel:
150                   description: 'Log level for proxy, applies to gateways and sidecars.
151                            If left empty, "warning" is used. Expected values are: trace|debug|info|warning|error|critical|off'
152                   enum:
153                     - trace
154                     - debug
155                     - info
156                     - warning
157                     - error
158                     - critical
159                     - "off"
160                   type: string
161                 privileged:
162                   description: If set to true, istio-proxy container will have privileged
163                     securityContext
164                   type: boolean
165                 resources:
166                   type: object
167               type: object
168             proxyInit:
169               description: Proxy Init configuration options
170               properties:
171                 image:
172                   type: string
173               type: object
174             sidecarInjector:
175               description: SidecarInjector configuration options
176               properties:
177                 affinity:
178                   type: object
179                 alwaysInjectSelector:
180                   description: 'AlwaysInjectSelector: Forces the injection on pods
181                            whose labels match this selector. It''s an array of label selectors,
182                            that will be OR''ed, meaning we will iterate over it and stop
183                            at the first match'
184                   items:
185                     type: object
186                   type: array
187                 autoInjectionPolicyEnabled:
188                   description: This controls the 'policy' in the sidecar injector
189                   type: boolean
190                 enableNamespacesByDefault:
191                   description: This controls whether the webhook looks for namespaces
192                     for injection enabled or disabled
193                   type: boolean
194                 enabled:
195                   type: boolean
196                 image:
197                   type: string
198                 init:
199                   properties:
200                     resources:
201                       type: object
202                   type: object
203                 initCNIConfiguration:
204                   properties:
205                     affinity:
206                       type: object
207                     binDir:
208                       description: Must be the same as the environment’s --cni-bin-dir
209                         setting (kubelet parameter)
210                       type: string
211                     confDir:
212                       description: Must be the same as the environment’s --cni-conf-dir
213                         setting (kubelet parameter)
214                       type: string
215                     enabled:
216                       description: If true, the privileged initContainer istio-init
217                         is not needed to perform the traffic redirect settings for
218                         the istio-proxy
219                       type: boolean
220                     excludeNamespaces:
221                       description: List of namespaces to exclude from Istio pod check
222                       items:
223                         type: string
224                       type: array
225                     image:
226                       type: string
227                     logLevel:
228                       description: Logging level for CNI binary
229                       type: string
230                   type: object
231                 neverInjectSelector:
232                   description: 'NeverInjectSelector: Refuses the injection on pods
233                            whose labels match this selector. It''s an array of label selectors,
234                            that will be OR''ed, meaning we will iterate over it and stop
235                            at the first match Takes precedence over AlwaysInjectSelector.'
236                   items:
237                     type: object
238                   type: array
239                 nodeSelector:
240                   type: object
241                 replicaCount:
242                   format: int32
243                   type: integer
244                 resources:
245                   type: object
246                 rewriteAppHTTPProbe:
247                   description: If true, sidecar injector will rewrite PodSpec for
248                     liveness health check to redirect request to sidecar. This makes
249                     liveness check work even when mTLS is enabled.
250                   type: boolean
251                 tolerations:
252                   items:
253                     type: object
254                   type: array
255               type: object
256           required:
257           - enabledServices
258           type: object
259         status:
260           type: object
261   version: v1beta1
262 status:
263   acceptedNames:
264     kind: ""
265     plural: ""
266   conditions: []
267   storedVersions: []
268 {{- end }}