Mohammed Naser | 9ad0d46 | 2023-01-15 20:36:37 -0500 | [diff] [blame] | 1 | # upgradeCompatibility helps users upgrading to ensure that the configMap for |
| 2 | # Cilium will not change critical values to ensure continued operation |
| 3 | # This is flag is not required for new installations. |
| 4 | # For example: 1.7, 1.8, 1.9 |
| 5 | # upgradeCompatibility: '1.8' |
| 6 | |
| 7 | debug: |
| 8 | # -- Enable debug logging |
| 9 | enabled: false |
| 10 | # verbose: |
| 11 | |
| 12 | rbac: |
| 13 | # -- Enable creation of Resource-Based Access Control configuration. |
| 14 | create: true |
| 15 | |
| 16 | # -- Configure image pull secrets for pulling container images |
| 17 | imagePullSecrets: |
| 18 | # - name: "image-pull-secret" |
| 19 | |
| 20 | # kubeConfigPath: ~/.kube/config |
| 21 | # k8sServiceHost: |
| 22 | # k8sServicePort: |
| 23 | |
| 24 | cluster: |
| 25 | # -- Name of the cluster. Only required for Cluster Mesh. |
| 26 | name: default |
| 27 | # -- (int) Unique ID of the cluster. Must be unique across all connected |
| 28 | # clusters and in the range of 1 to 255. Only required for Cluster Mesh. |
| 29 | id: |
| 30 | |
| 31 | # -- Define serviceAccount names for components. |
| 32 | # @default -- Component's fully qualified name. |
| 33 | serviceAccounts: |
| 34 | cilium: |
| 35 | create: true |
| 36 | name: cilium |
| 37 | annotations: {} |
| 38 | etcd: |
| 39 | create: true |
| 40 | name: cilium-etcd-operator |
| 41 | annotations: {} |
| 42 | operator: |
| 43 | create: true |
| 44 | name: cilium-operator |
| 45 | annotations: {} |
| 46 | preflight: |
| 47 | create: true |
| 48 | name: cilium-pre-flight |
| 49 | annotations: {} |
| 50 | relay: |
| 51 | create: true |
| 52 | name: hubble-relay |
| 53 | annotations: {} |
| 54 | ui: |
| 55 | create: true |
| 56 | name: hubble-ui |
| 57 | annotations: {} |
| 58 | clustermeshApiserver: |
| 59 | create: true |
| 60 | name: clustermesh-apiserver |
| 61 | annotations: {} |
| 62 | # -- Clustermeshcertgen is used if clustermesh.apiserver.tls.auto.method=cronJob |
| 63 | clustermeshcertgen: |
| 64 | create: true |
| 65 | name: clustermesh-apiserver-generate-certs |
| 66 | annotations: {} |
| 67 | # -- Hubblecertgen is used if hubble.tls.auto.method=cronJob |
| 68 | hubblecertgen: |
| 69 | create: true |
| 70 | name: hubble-generate-certs |
| 71 | annotations: {} |
| 72 | |
| 73 | # -- Install the cilium agent resources. |
| 74 | agent: true |
| 75 | |
| 76 | # -- Agent container name. |
| 77 | name: cilium |
| 78 | |
| 79 | # -- Roll out cilium agent pods automatically when configmap is updated. |
| 80 | rollOutCiliumPods: false |
| 81 | |
| 82 | # -- Agent container image. |
| 83 | image: |
| 84 | repository: quay.io/cilium/cilium |
| 85 | tag: v1.10.7 |
| 86 | pullPolicy: IfNotPresent |
| 87 | # cilium-digest |
| 88 | digest: "sha256:e23f55e80e1988db083397987a89967aa204ad6fc32da243b9160fbcea29b0ca" |
| 89 | useDigest: true |
| 90 | |
| 91 | # -- Pod affinity for cilium-agent. |
| 92 | affinity: |
| 93 | nodeAffinity: |
| 94 | requiredDuringSchedulingIgnoredDuringExecution: |
| 95 | nodeSelectorTerms: |
| 96 | - matchExpressions: |
| 97 | - key: kubernetes.io/os |
| 98 | operator: In |
| 99 | values: |
| 100 | - linux |
| 101 | # Compatible with Kubernetes 1.12.x and 1.13.x |
| 102 | - matchExpressions: |
| 103 | - key: beta.kubernetes.io/os |
| 104 | operator: In |
| 105 | values: |
| 106 | - linux |
| 107 | podAntiAffinity: |
| 108 | requiredDuringSchedulingIgnoredDuringExecution: |
| 109 | - labelSelector: |
| 110 | matchExpressions: |
| 111 | - key: k8s-app |
| 112 | operator: In |
| 113 | values: |
| 114 | - cilium |
| 115 | topologyKey: kubernetes.io/hostname |
| 116 | |
| 117 | # -- The priority class to use for cilium-agent. |
| 118 | priorityClassName: "" |
| 119 | |
| 120 | # -- Additional agent container arguments. |
| 121 | extraArgs: [] |
| 122 | |
| 123 | # -- Additional agent container environment variables. |
| 124 | extraEnv: {} |
| 125 | |
| 126 | # -- Additional InitContainers to initialize the pod. |
| 127 | extraInitContainers: [] |
| 128 | |
| 129 | # -- Additional agent hostPath mounts. |
| 130 | extraHostPathMounts: [] |
| 131 | # - name: host-mnt-data |
| 132 | # mountPath: /host/mnt/data |
| 133 | # hostPath: /mnt/data |
| 134 | # hostPathType: Directory |
| 135 | # readOnly: true |
| 136 | # mountPropagation: HostToContainer |
| 137 | |
| 138 | # -- Additional agent ConfigMap mounts. |
| 139 | extraConfigmapMounts: [] |
| 140 | # - name: certs-configmap |
| 141 | # mountPath: /certs |
| 142 | # configMap: certs-configmap |
| 143 | # readOnly: true |
| 144 | |
| 145 | # -- extraConfig allows you to specify additional configuration parameters to be |
| 146 | # included in the cilium-config configmap. |
| 147 | extraConfig: {} |
| 148 | # my-config-a: "1234" |
| 149 | # my-config-b: |- |
| 150 | # test 1 |
| 151 | # test 2 |
| 152 | # test 3 |
| 153 | |
| 154 | # -- Node tolerations for agent scheduling to nodes with taints |
| 155 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 156 | tolerations: |
| 157 | - operator: Exists |
| 158 | # - key: "key" |
| 159 | # operator: "Equal|Exists" |
| 160 | # value: "value" |
| 161 | # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |
| 162 | |
| 163 | # -- Annotations to be added to agent pods |
| 164 | podAnnotations: {} |
| 165 | |
| 166 | # -- Labels to be added to agent pods |
| 167 | podLabels: {} |
| 168 | |
| 169 | # -- PodDisruptionBudget settings |
| 170 | # ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| 171 | podDisruptionBudget: |
| 172 | enabled: true |
| 173 | maxUnavailable: 2 |
| 174 | |
| 175 | # -- Agent resource limits & requests |
| 176 | # ref: https://kubernetes.io/docs/user-guide/compute-resources/ |
| 177 | resources: {} |
| 178 | # limits: |
| 179 | # cpu: 4000m |
| 180 | # memory: 4Gi |
| 181 | # requests: |
| 182 | # cpu: 100m |
| 183 | # memory: 512Mi |
| 184 | |
| 185 | # -- Security context to be added to agent pods |
| 186 | securityContext: {} |
| 187 | # runAsUser: 0 |
| 188 | |
| 189 | # -- Cilium agent update strategy |
| 190 | updateStrategy: |
| 191 | rollingUpdate: |
| 192 | maxUnavailable: 2 |
| 193 | type: RollingUpdate |
| 194 | |
| 195 | # Configuration Values for cilium-agent |
| 196 | |
| 197 | # -- Enable installation of PodCIDR routes between worker |
| 198 | # nodes if worker nodes share a common L2 network segment. |
| 199 | autoDirectNodeRoutes: false |
| 200 | |
| 201 | azure: |
| 202 | # -- Enable Azure integration |
| 203 | enabled: false |
| 204 | # resourceGroup: group1 |
| 205 | # subscriptionID: 00000000-0000-0000-0000-000000000000 |
| 206 | # tenantID: 00000000-0000-0000-0000-000000000000 |
| 207 | # clientID: 00000000-0000-0000-0000-000000000000 |
| 208 | # clientSecret: 00000000-0000-0000-0000-000000000000 |
| 209 | # userAssignedIdentityID: 00000000-0000-0000-0000-000000000000 |
| 210 | |
| 211 | alibabacloud: |
| 212 | # -- Enable AlibabaCloud ENI integration |
| 213 | enabled: false |
| 214 | |
| 215 | # -- Optimize TCP and UDP workloads and enable rate-limiting traffic from |
| 216 | # individual Pods with EDT (Earliest Departure Time) |
| 217 | # through the "kubernetes.io/egress-bandwidth" Pod annotation. |
| 218 | bandwidthManager: false |
| 219 | |
| 220 | # -- Configure BGP |
| 221 | bgp: |
| 222 | # -- Enable BGP support inside Cilium; embeds a new ConfigMap for BGP inside |
| 223 | # cilium-agent and cilium-operator |
| 224 | enabled: false |
| 225 | announce: |
| 226 | # -- Enable allocation and announcement of service LoadBalancer IPs |
| 227 | loadbalancerIP: false |
| 228 | |
| 229 | bpf: |
| 230 | # -- Enable BPF clock source probing for more efficient tick retrieval. |
| 231 | clockProbe: false |
| 232 | |
| 233 | # -- Enables pre-allocation of eBPF map values. This increases |
| 234 | # memory usage but can reduce latency. |
| 235 | preallocateMaps: false |
| 236 | |
| 237 | # -- Configure the maximum number of entries in the TCP connection tracking |
| 238 | # table. |
| 239 | # ctTcpMax: '524288' |
| 240 | |
| 241 | # -- Configure the maximum number of entries for the non-TCP connection |
| 242 | # tracking table. |
| 243 | # ctAnyMax: '262144' |
| 244 | |
| 245 | # -- Configure the maximum number of service entries in the |
| 246 | # load balancer maps. |
| 247 | lbMapMax: 65536 |
| 248 | |
| 249 | # -- Configure the maximum number of entries for the NAT table. |
| 250 | # natMax: 524288 |
| 251 | |
| 252 | # -- Configure the maximum number of entries for the neighbor table. |
| 253 | # neighMax: 524288 |
| 254 | |
| 255 | # -- Configure the maximum number of entries in endpoint policy map (per endpoint). |
| 256 | policyMapMax: 16384 |
| 257 | |
| 258 | # -- Configure auto-sizing for all BPF maps based on available memory. |
| 259 | # ref: https://docs.cilium.io/en/stable/concepts/ebpf/maps/#ebpf-maps |
| 260 | #mapDynamicSizeRatio: 0.0025 |
| 261 | |
| 262 | # -- Configure the level of aggregation for monitor notifications. |
| 263 | # Valid options are none, low, medium, maximum. |
| 264 | monitorAggregation: medium |
| 265 | |
| 266 | # -- Configure the typical time between monitor notifications for |
| 267 | # active connections. |
| 268 | monitorInterval: "5s" |
| 269 | |
| 270 | # -- Configure which TCP flags trigger notifications when seen for the |
| 271 | # first time in a connection. |
| 272 | monitorFlags: "all" |
| 273 | |
| 274 | # -- Allow cluster external access to ClusterIP services. |
| 275 | lbExternalClusterIP: false |
| 276 | |
| 277 | # -- Enable native IP masquerade support in eBPF |
| 278 | #masquerade: false |
| 279 | |
| 280 | # -- Configure whether direct routing mode should route traffic via |
| 281 | # host stack (true) or directly and more efficiently out of BPF (false) if |
| 282 | # the kernel supports it. The latter has the implication that it will also |
| 283 | # bypass netfilter in the host namespace. |
| 284 | #hostRouting: true |
| 285 | |
| 286 | # -- Configure the eBPF-based TPROXY to reduce reliance on iptables rules |
| 287 | # for implementing Layer 7 policy. |
| 288 | # tproxy: true |
| 289 | |
| 290 | # -- Configure the FIB lookup bypass optimization for nodeport reverse |
| 291 | # NAT handling. |
| 292 | # lbBypassFIBLookup: true |
| 293 | |
| 294 | # -- Clean all eBPF datapath state from the initContainer of the cilium-agent |
| 295 | # DaemonSet. |
| 296 | # |
| 297 | # WARNING: Use with care! |
| 298 | cleanBpfState: false |
| 299 | |
| 300 | # -- Clean all local Cilium state from the initContainer of the cilium-agent |
| 301 | # DaemonSet. Implies cleanBpfState: true. |
| 302 | # |
| 303 | # WARNING: Use with care! |
| 304 | cleanState: false |
| 305 | |
| 306 | cni: |
| 307 | # -- Install the CNI configuration and binary files into the filesystem. |
| 308 | install: true |
| 309 | |
| 310 | # -- Configure chaining on top of other CNI plugins. Possible values: |
| 311 | # - none |
| 312 | # - generic-veth |
| 313 | # - aws-cni |
| 314 | # - portmap |
| 315 | chainingMode: none |
| 316 | |
| 317 | # -- Make Cilium take ownership over the `/etc/cni/net.d` directory on the |
| 318 | # node, renaming all non-Cilium CNI configurations to `*.cilium_bak`. |
| 319 | # This ensures no Pods can be scheduled using other CNI plugins during Cilium |
| 320 | # agent downtime. |
| 321 | exclusive: true |
| 322 | |
| 323 | # -- Skip writing of the CNI configuration. This can be used if |
| 324 | # writing of the CNI configuration is performed by external automation. |
| 325 | customConf: false |
| 326 | |
| 327 | # -- Configure the path to the CNI configuration directory on the host. |
| 328 | confPath: /etc/cni/net.d |
| 329 | |
| 330 | # -- Configure the path to the CNI binary directory on the host. |
| 331 | binPath: /opt/cni/bin |
| 332 | |
| 333 | # -- Specify the path to a CNI config to read from on agent start. |
| 334 | # This can be useful if you want to manage your CNI |
| 335 | # configuration outside of a Kubernetes environment. This parameter is |
| 336 | # mutually exclusive with the 'cni.configMap' parameter. |
| 337 | # readCniConf: /host/etc/cni/net.d/05-cilium.conf |
| 338 | |
| 339 | # -- When defined, configMap will mount the provided value as ConfigMap and |
| 340 | # interpret the cniConf variable as CNI configuration file and write it |
| 341 | # when the agent starts up |
| 342 | # configMap: cni-configuration |
| 343 | |
| 344 | # -- Configure the key in the CNI ConfigMap to read the contents of |
| 345 | # the CNI configuration from. |
| 346 | configMapKey: cni-config |
| 347 | |
| 348 | # -- Configure the path to where to mount the ConfigMap inside the agent pod. |
| 349 | confFileMountPath: /tmp/cni-configuration |
| 350 | |
| 351 | # -- Configure the path to where the CNI configuration directory is mounted |
| 352 | # inside the agent pod. |
| 353 | hostConfDirMountPath: /host/etc/cni/net.d |
| 354 | |
| 355 | # -- Configure how frequently garbage collection should occur for the datapath |
| 356 | # connection tracking table. |
| 357 | # conntrackGCInterval: "0s" |
| 358 | |
| 359 | # -- Configure container runtime specific integration. |
| 360 | containerRuntime: |
| 361 | # -- Enables specific integrations for container runtimes. |
| 362 | # Supported values: |
| 363 | # - containerd |
| 364 | # - crio |
| 365 | # - docker |
| 366 | # - none |
| 367 | # - auto (automatically detect the container runtime) |
| 368 | integration: none |
| 369 | # -- Configure the path to the container runtime control socket. |
| 370 | # socketPath: /path/to/runtime.sock |
| 371 | |
| 372 | # crdWaitTimeout: "" |
| 373 | |
| 374 | # -- Tail call hooks for custom eBPF programs. |
| 375 | customCalls: |
| 376 | # -- Enable tail call hooks for custom eBPF programs. |
| 377 | enabled: false |
| 378 | |
| 379 | # -- Configure which datapath mode should be used for configuring container |
| 380 | # connectivity. Valid options are "veth" or "ipvlan". |
| 381 | datapathMode: veth |
| 382 | |
| 383 | daemon: |
| 384 | # -- Configure where Cilium runtime state should be stored. |
| 385 | runPath: "/var/run/cilium" |
| 386 | |
| 387 | # -- Specify which network interfaces can run the eBPF datapath. This means |
| 388 | # that a packet sent from a pod to a destination outside the cluster will be |
| 389 | # masqueraded (to an output device IPv4 address), if the output device runs the |
| 390 | # program. When not specified, probing will automatically detect devices. |
| 391 | # devices: "" |
| 392 | |
| 393 | # -- Chains to ignore when installing feeder rules. |
| 394 | # disableIptablesFeederRules: "" |
| 395 | |
| 396 | # -- Limit egress masquerading to interface selector. |
| 397 | # egressMasqueradeInterfaces: "" |
| 398 | |
| 399 | # -- Whether to enable CNP status updates. |
| 400 | enableCnpStatusUpdates: false |
| 401 | |
| 402 | # -- Configures the use of the KVStore to optimize Kubernetes event handling by |
| 403 | # mirroring it into the KVstore for reduced overhead in large clusters. |
| 404 | enableK8sEventHandover: false |
| 405 | |
| 406 | # TODO: Add documentation |
| 407 | # enableIdentityMark: false |
| 408 | |
| 409 | # enableK8sEndpointSlice: false |
| 410 | |
| 411 | # -- Enables the fallback compatibility solution for when the xt_socket kernel |
| 412 | # module is missing and it is needed for the datapath L7 redirection to work |
| 413 | # properly. See documentation for details on when this can be disabled: |
| 414 | # http://docs.cilium.io/en/stable/install/system_requirements/#admin-kernel-version. |
| 415 | enableXTSocketFallback: true |
| 416 | |
| 417 | encryption: |
| 418 | # -- Enable transparent network encryption. |
| 419 | enabled: false |
| 420 | |
| 421 | # -- Encryption method. Can be either ipsec or wireguard. |
| 422 | type: ipsec |
| 423 | |
| 424 | # -- Enable encryption for pure node to node traffic. |
| 425 | # This option is only effective when encryption.type is set to ipsec. |
| 426 | nodeEncryption: false |
| 427 | |
| 428 | ipsec: |
| 429 | # -- Name of the key file inside the Kubernetes secret configured via secretName. |
| 430 | keyFile: "" |
| 431 | |
| 432 | # -- Path to mount the secret inside the Cilium pod. |
| 433 | mountPath: "" |
| 434 | |
| 435 | # -- Name of the Kubernetes secret containing the encryption keys. |
| 436 | secretName: "" |
| 437 | |
| 438 | # -- The interface to use for encrypted traffic. |
| 439 | interface: "" |
| 440 | |
| 441 | # -- Deprecated in favor of encryption.ipsec.keyFile. |
| 442 | # Name of the key file inside the Kubernetes secret configured via secretName. |
| 443 | # This option is only effective when encryption.type is set to ipsec. |
| 444 | keyFile: keys |
| 445 | |
| 446 | # -- Deprecated in favor of encryption.ipsec.mountPath. |
| 447 | # Path to mount the secret inside the Cilium pod. |
| 448 | # This option is only effective when encryption.type is set to ipsec. |
| 449 | mountPath: /etc/ipsec |
| 450 | |
| 451 | # -- Deprecated in favor of encryption.ipsec.secretName. |
| 452 | # Name of the Kubernetes secret containing the encryption keys. |
| 453 | # This option is only effective when encryption.type is set to ipsec. |
| 454 | secretName: cilium-ipsec-keys |
| 455 | |
| 456 | # -- Deprecated in favor of encryption.ipsec.interface. |
| 457 | # The interface to use for encrypted traffic. |
| 458 | # This option is only effective when encryption.type is set to ipsec. |
| 459 | interface: "" |
| 460 | |
| 461 | endpointHealthChecking: |
| 462 | # -- Enable connectivity health checking between virtual endpoints. |
| 463 | enabled: true |
| 464 | |
| 465 | # -- Enable endpoint status. |
| 466 | # Status can be: policy, health, controllers, logs and / or state. For 2 or more options use a comma. |
| 467 | endpointStatus: |
| 468 | enabled: false |
| 469 | status: "" |
| 470 | |
| 471 | endpointRoutes: |
| 472 | # -- Enable use of per endpoint routes instead of routing via |
| 473 | # the cilium_host interface. |
| 474 | enabled: false |
| 475 | |
| 476 | eni: |
| 477 | # -- Enable Elastic Network Interface (ENI) integration. |
| 478 | enabled: false |
| 479 | # -- Update ENI Adapter limits from the EC2 API |
| 480 | updateEC2AdapterLimitViaAPI: false |
| 481 | # -- Release IPs not used from the ENI |
| 482 | awsReleaseExcessIPs: false |
| 483 | # -- EC2 API endpoint to use |
| 484 | ec2APIEndpoint: "" |
| 485 | # -- Tags to apply to the newly created ENIs |
| 486 | eniTags: {} |
| 487 | # -- If using IAM role for Service Accounts will not try to |
| 488 | # inject identity values from cilium-aws kubernetes secret. |
| 489 | # Adds annotation to service account if managed by Helm. |
| 490 | # See https://github.com/aws/amazon-eks-pod-identity-webhook |
| 491 | iamRole: "" |
| 492 | # -- Filter via subnet IDs which will dictate which subnets are going to be used to create new ENIs |
| 493 | subnetIDsFilter: "" |
| 494 | # -- Filter via tags (k=v) which will dictate which subnets are going to be used to create new ENIs |
| 495 | subnetTagsFilter: "" |
| 496 | |
| 497 | externalIPs: |
| 498 | # -- Enable ExternalIPs service support. |
| 499 | enabled: false |
| 500 | |
| 501 | # fragmentTracking enables IPv4 fragment tracking support in the datapath. |
| 502 | # fragmentTracking: true |
| 503 | |
| 504 | gke: |
| 505 | # -- Enable Google Kubernetes Engine integration |
| 506 | enabled: false |
| 507 | |
| 508 | # -- Enable connectivity health checking. |
| 509 | healthChecking: true |
| 510 | |
| 511 | # -- TCP port for the agent health API. This is not the port for cilium-health. |
| 512 | healthPort: 9876 |
| 513 | |
| 514 | # -- Enables the enforcement of host policies in the eBPF datapath. |
| 515 | hostFirewall: false |
| 516 | |
| 517 | hostPort: |
| 518 | # -- Enable hostPort service support. |
| 519 | enabled: false |
| 520 | |
| 521 | # -- Configure ClusterIP service handling in the host namespace (the node). |
| 522 | hostServices: |
| 523 | # -- Enable host reachable services. |
| 524 | enabled: false |
| 525 | |
| 526 | # -- Supported list of protocols to apply ClusterIP translation to. |
| 527 | protocols: tcp,udp |
| 528 | |
| 529 | # -- Disable socket lb for non-root ns. This is used to enable Istio routing rules. |
| 530 | # hostNamespaceOnly: false |
| 531 | |
| 532 | # -- Configure certificate generation for Hubble integration. |
| 533 | # If hubble.tls.auto.method=cronJob, these values are used |
| 534 | # for the Kubernetes CronJob which will be scheduled regularly to |
| 535 | # (re)generate any certificates not provided manually. |
| 536 | certgen: |
| 537 | image: |
| 538 | repository: quay.io/cilium/certgen |
| 539 | tag: v0.1.5 |
| 540 | pullPolicy: IfNotPresent |
| 541 | # -- Seconds after which the completed job pod will be deleted |
| 542 | ttlSecondsAfterFinished: 1800 |
| 543 | # -- Labels to be added to hubble-certgen pods |
| 544 | podLabels: {} |
| 545 | |
| 546 | hubble: |
| 547 | # -- Enable Hubble (true by default). |
| 548 | enabled: true |
| 549 | |
| 550 | # -- Buffer size of the channel Hubble uses to receive monitor events. If this |
| 551 | # value is not set, the queue size is set to the default monitor queue size. |
| 552 | # eventQueueSize: "" |
| 553 | |
| 554 | # -- Number of recent flows for Hubble to cache. Defaults to 4095. |
| 555 | # Possible values are: |
| 556 | # 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, |
| 557 | # 2047, 4095, 8191, 16383, 32767, 65535 |
| 558 | # eventBufferCapacity: "4095" |
| 559 | |
| 560 | # -- Hubble metrics configuration. |
| 561 | # See https://docs.cilium.io/en/stable/configuration/metrics/#hubble-metrics |
| 562 | # for more comprehensive documentation about Hubble metrics. |
| 563 | metrics: |
| 564 | # -- Configures the list of metrics to collect. If empty or null, metrics |
| 565 | # are disabled. |
| 566 | # Example: |
| 567 | # |
| 568 | # enabled: |
| 569 | # - dns:query;ignoreAAAA |
| 570 | # - drop |
| 571 | # - tcp |
| 572 | # - flow |
| 573 | # - icmp |
| 574 | # - http |
| 575 | # |
| 576 | # You can specify the list of metrics from the helm CLI: |
| 577 | # |
| 578 | # --set metrics.enabled="{dns:query;ignoreAAAA,drop,tcp,flow,icmp,http}" |
| 579 | # |
| 580 | enabled: ~ |
| 581 | # -- Configure the port the hubble metric server listens on. |
| 582 | port: 9091 |
| 583 | serviceMonitor: |
| 584 | # -- Create ServiceMonitor resources for Prometheus Operator. |
| 585 | # This requires the prometheus CRDs to be available. |
| 586 | # ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml) |
| 587 | enabled: false |
| 588 | # -- Labels to add to ServiceMonitor hubble |
| 589 | labels: {} |
| 590 | |
| 591 | # -- Unix domain socket path to listen to when Hubble is enabled. |
| 592 | socketPath: /var/run/cilium/hubble.sock |
| 593 | |
| 594 | # -- An additional address for Hubble to listen to. |
| 595 | # Set this field ":4244" if you are enabling Hubble Relay, as it assumes that |
| 596 | # Hubble is listening on port 4244. |
| 597 | listenAddress: ":4244" |
| 598 | |
| 599 | # -- TLS configuration for Hubble |
| 600 | tls: |
| 601 | # -- Enable mutual TLS for listenAddress. Setting this value to false is |
| 602 | # highly discouraged as the Hubble API provides access to potentially |
| 603 | # sensitive network flow metadata and is exposed on the host network. |
| 604 | enabled: true |
| 605 | # -- Configure automatic TLS certificates generation. |
| 606 | auto: |
| 607 | # -- Auto-generate certificates. |
| 608 | # When set to true, automatically generate a CA and certificates to |
| 609 | # enable mTLS between Hubble server and Hubble Relay instances. If set to |
| 610 | # false, the certs for Hubble server need to be provided by setting |
| 611 | # appropriate values below. |
| 612 | enabled: true |
| 613 | # -- Set the method to auto-generate certificates. Supported values: |
| 614 | # - helm: This method uses Helm to generate all certificates. |
| 615 | # - cronJob: This method uses a Kubernetes CronJob the generate any |
| 616 | # certificates not provided by the user at installation |
| 617 | # time. |
| 618 | method: helm |
| 619 | # -- Generated certificates validity duration in days. |
| 620 | certValidityDuration: 1095 |
| 621 | # -- Schedule for certificates regeneration (regardless of their expiration date). |
| 622 | # Only used if method is "cronJob". If nil, then no recurring job will be created. |
| 623 | # Instead, only the one-shot job is deployed to generate the certificates at |
| 624 | # installation time. |
| 625 | # |
| 626 | # Defaults to midnight of the first day of every fourth month. For syntax, see |
| 627 | # https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#schedule |
| 628 | schedule: "0 0 1 */4 *" |
| 629 | # -- base64 encoded PEM values for the Hubble CA certificate and private key. |
| 630 | ca: |
| 631 | cert: "" |
| 632 | # -- The CA private key (optional). If it is provided, then it will be |
| 633 | # used by hubble.tls.auto.method=cronJob to generate all other certificates. |
| 634 | # Otherwise, a ephemeral CA is generated if hubble.tls.auto.enabled=true. |
| 635 | key: "" |
| 636 | # -- base64 encoded PEM values for the Hubble server certificate and private key |
| 637 | server: |
| 638 | cert: "" |
| 639 | key: "" |
| 640 | |
| 641 | relay: |
| 642 | # -- Enable Hubble Relay (requires hubble.enabled=true) |
| 643 | enabled: false |
| 644 | |
| 645 | # -- Roll out Hubble Relay pods automatically when configmap is updated. |
| 646 | rollOutPods: false |
| 647 | |
| 648 | # -- Hubble-relay container image. |
| 649 | image: |
| 650 | repository: quay.io/cilium/hubble-relay |
| 651 | tag: v1.10.7 |
| 652 | # hubble-relay-digest |
| 653 | digest: "sha256:385fcc4fa315eb6b66626c3e5f607b6b6514c8c3a863c47c2b2dbc97790acb47" |
| 654 | useDigest: true |
| 655 | pullPolicy: IfNotPresent |
| 656 | |
| 657 | # -- Specifies the resources for the hubble-relay pods |
| 658 | resources: {} |
| 659 | |
| 660 | # -- Number of replicas run for the hubble-relay deployment. |
| 661 | replicas: 1 |
| 662 | |
| 663 | # -- Node labels for pod assignment |
| 664 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 665 | nodeSelector: {} |
| 666 | |
| 667 | # -- Annotations to be added to hubble-relay pods |
| 668 | podAnnotations: {} |
| 669 | |
| 670 | # -- Labels to be added to hubble-relay pods |
| 671 | podLabels: {} |
| 672 | |
| 673 | # -- Node tolerations for pod assignment on nodes with taints |
| 674 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 675 | # |
| 676 | tolerations: [] |
| 677 | |
| 678 | # -- hubble-relay update strategy |
| 679 | updateStrategy: |
| 680 | rollingUpdate: |
| 681 | maxUnavailable: 1 |
| 682 | type: RollingUpdate |
| 683 | |
| 684 | # -- Host to listen to. Specify an empty string to bind to all the interfaces. |
| 685 | listenHost: "" |
| 686 | |
| 687 | # -- Port to listen to. |
| 688 | listenPort: "4245" |
| 689 | |
| 690 | # -- TLS configuration for Hubble Relay |
| 691 | tls: |
| 692 | # -- base64 encoded PEM values for the hubble-relay client certificate and private key |
| 693 | # This keypair is presented to Hubble server instances for mTLS |
| 694 | # authentication and is required when hubble.tls.enabled is true. |
| 695 | # These values need to be set manually if hubble.tls.auto.enabled is false. |
| 696 | client: |
| 697 | cert: "" |
| 698 | key: "" |
| 699 | # -- base64 encoded PEM values for the hubble-relay server certificate and private key |
| 700 | server: |
| 701 | # When set to true, enable TLS on for Hubble Relay server |
| 702 | # (ie: for clients connecting to the Hubble Relay API). |
| 703 | enabled: false |
| 704 | # These values need to be set manually if hubble.tls.auto.enabled is false. |
| 705 | cert: "" |
| 706 | key: "" |
| 707 | |
| 708 | # -- Dial timeout to connect to the local hubble instance to receive peer information (e.g. "30s"). |
| 709 | dialTimeout: ~ |
| 710 | |
| 711 | # -- Backoff duration to retry connecting to the local hubble instance in case of failure (e.g. "30s"). |
| 712 | retryTimeout: ~ |
| 713 | |
| 714 | # -- Max number of flows that can be buffered for sorting before being sent to the |
| 715 | # client (per request) (e.g. 100). |
| 716 | sortBufferLenMax: ~ |
| 717 | |
| 718 | # -- When the per-request flows sort buffer is not full, a flow is drained every |
| 719 | # time this timeout is reached (only affects requests in follow-mode) (e.g. "1s"). |
| 720 | sortBufferDrainTimeout: ~ |
| 721 | |
| 722 | # -- Port to use for the k8s service backed by hubble-relay pods. |
| 723 | # If not set, it is dynamically assigned to port 443 if TLS is enabled and to |
| 724 | # port 80 if not. |
| 725 | # servicePort: 80 |
| 726 | |
| 727 | ui: |
| 728 | # -- Whether to enable the Hubble UI. |
| 729 | enabled: false |
| 730 | |
| 731 | # -- Roll out Hubble-ui pods automatically when configmap is updated. |
| 732 | rollOutPods: false |
| 733 | |
| 734 | backend: |
| 735 | # -- Hubble-ui backend image. |
| 736 | image: |
| 737 | repository: quay.io/cilium/hubble-ui-backend |
| 738 | tag: v0.8.5@sha256:2bce50cf6c32719d072706f7ceccad654bfa907b2745a496da99610776fe31ed |
| 739 | pullPolicy: IfNotPresent |
| 740 | # [Example] |
| 741 | # resources: |
| 742 | # limits: |
| 743 | # cpu: 1000m |
| 744 | # memory: 1024M |
| 745 | # requests: |
| 746 | # cpu: 100m |
| 747 | # memory: 64Mi |
| 748 | # -- Resource requests and limits for the 'backend' container of the 'hubble-ui' deployment. |
| 749 | resources: {} |
| 750 | |
| 751 | frontend: |
| 752 | # -- Hubble-ui frontend image. |
| 753 | image: |
| 754 | repository: quay.io/cilium/hubble-ui |
| 755 | tag: v0.8.5@sha256:4eaca1ec1741043cfba6066a165b3bf251590cf4ac66371c4f63fbed2224ebb4 |
| 756 | pullPolicy: IfNotPresent |
| 757 | # [Example] |
| 758 | # resources: |
| 759 | # limits: |
| 760 | # cpu: 1000m |
| 761 | # memory: 1024M |
| 762 | # requests: |
| 763 | # cpu: 100m |
| 764 | # memory: 64Mi |
| 765 | # -- Resource requests and limits for the 'frontend' container of the 'hubble-ui' deployment. |
| 766 | resources: {} |
| 767 | |
| 768 | proxy: |
| 769 | # -- Hubble-ui ingress proxy image. |
| 770 | image: |
| 771 | repository: docker.io/envoyproxy/envoy |
| 772 | tag: v1.18.4@sha256:e5c2bb2870d0e59ce917a5100311813b4ede96ce4eb0c6bfa879e3fbe3e83935 |
| 773 | pullPolicy: IfNotPresent |
| 774 | # [Example] |
| 775 | # resources: |
| 776 | # limits: |
| 777 | # cpu: 1000m |
| 778 | # memory: 1024M |
| 779 | # requests: |
| 780 | # cpu: 100m |
| 781 | # memory: 64Mi |
| 782 | # -- Resource requests and limits for the 'proxy' container of the 'hubble-ui' deployment. |
| 783 | resources: {} |
| 784 | |
| 785 | # -- The number of replicas of Hubble UI to deploy. |
| 786 | replicas: 1 |
| 787 | |
| 788 | # -- Annotations to be added to hubble-ui pods |
| 789 | podAnnotations: {} |
| 790 | |
| 791 | # -- Labels to be added to hubble-ui pods |
| 792 | podLabels: {} |
| 793 | |
| 794 | # -- Node labels for pod assignment |
| 795 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 796 | nodeSelector: {} |
| 797 | |
| 798 | # -- Node tolerations for pod assignment on nodes with taints |
| 799 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 800 | # |
| 801 | tolerations: [] |
| 802 | |
| 803 | # -- hubble-ui update strategy. |
| 804 | updateStrategy: |
| 805 | rollingUpdate: |
| 806 | maxUnavailable: 1 |
| 807 | type: RollingUpdate |
| 808 | |
| 809 | securityContext: |
| 810 | # -- Whether to set the security context on the Hubble UI pods. |
| 811 | enabled: true |
| 812 | |
| 813 | # -- hubble-ui ingress configuration. |
| 814 | ingress: |
| 815 | enabled: false |
| 816 | annotations: {} |
| 817 | # kubernetes.io/ingress.class: nginx |
| 818 | # kubernetes.io/tls-acme: "true" |
| 819 | hosts: |
| 820 | - chart-example.local |
| 821 | tls: [] |
| 822 | # - secretName: chart-example-tls |
| 823 | # hosts: |
| 824 | # - chart-example.local |
| 825 | |
| 826 | |
| 827 | # -- Method to use for identity allocation (`crd` or `kvstore`). |
| 828 | identityAllocationMode: "crd" |
| 829 | |
| 830 | # TODO: Add documentation |
| 831 | # identityChangeGracePeriod: "5s" |
| 832 | |
| 833 | # TODO: Add documentation |
| 834 | # identityGCInterval: |
| 835 | |
| 836 | # TODO: Add documentation |
| 837 | # identityHeartbeatTimeout: "" |
| 838 | |
| 839 | |
| 840 | # -- Configure whether to install iptables rules to allow for TPROXY |
| 841 | # (L7 proxy injection), iptables-based masquerading and compatibility |
| 842 | # with kube-proxy. |
| 843 | installIptablesRules: true |
| 844 | |
| 845 | # -- Install Iptables rules to skip netfilter connection tracking on all pod |
| 846 | # traffic. This option is only effective when Cilium is running in direct |
| 847 | # routing and full KPR mode. Moreover, this option cannot be enabled when Cilium |
| 848 | # is running in a managed Kubernetes environment or in a chained CNI setup. |
| 849 | installNoConntrackIptablesRules: false |
| 850 | |
| 851 | ipam: |
| 852 | # -- Configure IP Address Management mode. |
| 853 | # ref: https://docs.cilium.io/en/stable/concepts/networking/ipam/ |
| 854 | mode: "cluster-pool" |
| 855 | operator: |
| 856 | # -- IPv4 CIDR range to delegate to individual nodes for IPAM. |
| 857 | clusterPoolIPv4PodCIDR: "10.0.0.0/8" |
| 858 | # -- IPv4 CIDR mask size to delegate to individual nodes for IPAM. |
| 859 | clusterPoolIPv4MaskSize: 24 |
| 860 | # -- IPv6 CIDR range to delegate to individual nodes for IPAM. |
| 861 | clusterPoolIPv6PodCIDR: "fd00::/104" |
| 862 | # -- IPv6 CIDR mask size to delegate to individual nodes for IPAM. |
| 863 | clusterPoolIPv6MaskSize: 120 |
| 864 | |
| 865 | # -- Configure the eBPF-based ip-masq-agent |
| 866 | ipMasqAgent: |
| 867 | enabled: false |
| 868 | |
| 869 | # iptablesLockTimeout defines the iptables "--wait" option when invoked from Cilium. |
| 870 | # iptablesLockTimeout: "5s" |
| 871 | |
| 872 | ipv4: |
| 873 | # -- Enable IPv4 support. |
| 874 | enabled: true |
| 875 | |
| 876 | ipv6: |
| 877 | # -- Enable IPv6 support. |
| 878 | enabled: false |
| 879 | |
| 880 | ipvlan: |
| 881 | # -- Enable the IPVLAN datapath |
| 882 | enabled: false |
| 883 | |
| 884 | # -- masterDevice is the name of the device to use to attach secondary IPVLAN |
| 885 | # devices |
| 886 | # masterDevice: eth0 |
| 887 | |
| 888 | # -- Configure Kubernetes specific configuration |
| 889 | k8s: {} |
| 890 | # -- requireIPv4PodCIDR enables waiting for Kubernetes to provide the PodCIDR |
| 891 | # range via the Kubernetes node resource |
| 892 | # requireIPv4PodCIDR: false |
| 893 | |
| 894 | # -- requireIPv6PodCIDR enables waiting for Kubernetes to provide the PodCIDR |
| 895 | # range via the Kubernetes node resource |
| 896 | # requireIPv6PodCIDR: false |
| 897 | |
| 898 | # -- Keep the deprecated selector labels when deploying Cilium DaemonSet. |
| 899 | keepDeprecatedLabels: false |
| 900 | |
| 901 | # -- Keep the deprecated probes when deploying Cilium DaemonSet |
| 902 | keepDeprecatedProbes: false |
| 903 | |
| 904 | startupProbe: |
| 905 | # -- failure threshold of startup probe. |
| 906 | # 105 x 2s translates to the old behaviour of the readiness probe (120s delay + 30 x 3s) |
| 907 | failureThreshold: 105 |
| 908 | # -- interval between checks of the startup probe |
| 909 | periodSeconds: 2 |
| 910 | livenessProbe: |
| 911 | # -- failure threshold of liveness probe |
| 912 | failureThreshold: 10 |
| 913 | # -- interval between checks of the liveness probe |
| 914 | periodSeconds: 30 |
| 915 | readinessProbe: |
| 916 | # -- failure threshold of readiness probe |
| 917 | failureThreshold: 3 |
| 918 | # -- interval between checks of the readiness probe |
| 919 | periodSeconds: 30 |
| 920 | |
| 921 | # -- Configure the kube-proxy replacement in Cilium BPF datapath |
| 922 | # Valid options are "disabled", "probe", "partial", "strict". |
| 923 | # ref: https://docs.cilium.io/en/stable/gettingstarted/kubeproxy-free/ |
| 924 | #kubeProxyReplacement: "disabled" |
| 925 | |
| 926 | # -- healthz server bind address for the kube-proxy replacement. |
| 927 | # To enable set the value to '0.0.0.0:10256' for all ipv4 |
| 928 | # addresses and this '[::]:10256' for all ipv6 addresses. |
| 929 | # By default it is disabled. |
| 930 | kubeProxyReplacementHealthzBindAddr: "" |
| 931 | |
| 932 | l2NeighDiscovery: |
| 933 | # -- Enable L2 neighbour discovery in the agent |
| 934 | enabled: true |
| 935 | # -- Set period for arping |
| 936 | arping-refresh-period: "5m" |
| 937 | |
| 938 | # -- Enable Layer 7 network policy. |
| 939 | l7Proxy: true |
| 940 | |
| 941 | # -- Enable Local Redirect Policy. |
| 942 | localRedirectPolicy: false |
| 943 | |
| 944 | # To include or exclude matched resources from cilium identity evaluation |
| 945 | # labels: "" |
| 946 | |
| 947 | # logOptions allows you to define logging options. eg: |
| 948 | # logOptions: |
| 949 | # format: json |
| 950 | |
| 951 | # -- Enables periodic logging of system load |
| 952 | logSystemLoad: false |
| 953 | |
| 954 | |
| 955 | # -- Configure maglev consistent hashing |
| 956 | maglev: {} |
| 957 | # -- tableSize is the size (parameter M) for the backend table of one |
| 958 | # service entry |
| 959 | # tableSize: |
| 960 | |
| 961 | # -- hashSeed is the cluster-wide base64 encoded seed for the hashing |
| 962 | # hashSeed: |
| 963 | |
| 964 | # -- Enables masquerading of IPv4 traffic leaving the node from endpoints. |
| 965 | enableIPv4Masquerade: true |
| 966 | |
| 967 | # -- Enables masquerading of IPv6 traffic leaving the node from endpoints. |
| 968 | enableIPv6Masquerade: true |
| 969 | |
| 970 | # -- Enables egress gateway (beta) to redirect and SNAT the traffic that |
| 971 | # leaves the cluster. |
| 972 | egressGateway: |
| 973 | enabled: false |
| 974 | |
| 975 | # -- Specify the CIDR for native routing (ie to avoid IP masquerade for). |
| 976 | # This value corresponds to the configured cluster-cidr. |
| 977 | # nativeRoutingCIDR: |
| 978 | |
| 979 | monitor: |
| 980 | # -- Enable the cilium-monitor sidecar. |
| 981 | enabled: false |
| 982 | |
| 983 | # -- Configure service load balancing |
| 984 | # loadBalancer: |
| 985 | # -- standalone enables the standalone L4LB which does not connect to |
| 986 | # kube-apiserver. |
| 987 | # standalone: false |
| 988 | |
| 989 | # -- algorithm is the name of the load balancing algorithm for backend |
| 990 | # selection e.g. random or maglev |
| 991 | # algorithm: random |
| 992 | |
| 993 | # -- mode is the operation mode of load balancing for remote backends |
| 994 | # e.g. snat, dsr, hybrid |
| 995 | # mode: snat |
| 996 | |
| 997 | # -- acceleration is the option to accelerate service handling via XDP |
| 998 | # e.g. native, disabled |
| 999 | # acceleration: disabled |
| 1000 | |
| 1001 | # -- dsrDispatch configures whether IP option or IPIP encapsulation is |
| 1002 | # used to pass a service IP and port to remote backend |
| 1003 | # dsrDispatch: opt |
| 1004 | |
| 1005 | # -- Configure N-S k8s service loadbalancing |
| 1006 | nodePort: |
| 1007 | # -- Enable the Cilium NodePort service implementation. |
| 1008 | enabled: false |
| 1009 | |
| 1010 | # -- Port range to use for NodePort services. |
| 1011 | # range: "30000,32767" |
| 1012 | |
| 1013 | # -- Set to true to prevent applications binding to service ports. |
| 1014 | bindProtection: true |
| 1015 | |
| 1016 | # -- Append NodePort range to ip_local_reserved_ports if clash with ephemeral |
| 1017 | # ports is detected. |
| 1018 | autoProtectPortRange: true |
| 1019 | |
| 1020 | # -- Enable healthcheck nodePort server for NodePort services |
| 1021 | enableHealthCheck: true |
| 1022 | |
| 1023 | # policyAuditMode: false |
| 1024 | |
| 1025 | # -- The agent can be put into one of the three policy enforcement modes: |
| 1026 | # default, always and never. |
| 1027 | # ref: https://docs.cilium.io/en/stable/policy/intro/#policy-enforcement-modes |
| 1028 | policyEnforcementMode: "default" |
| 1029 | |
| 1030 | pprof: |
| 1031 | # -- Enable Go pprof debugging |
| 1032 | enabled: false |
| 1033 | |
| 1034 | # -- Configure prometheus metrics on the configured port at /metrics |
| 1035 | prometheus: |
| 1036 | enabled: false |
| 1037 | port: 9090 |
| 1038 | serviceMonitor: |
| 1039 | # -- Enable service monitors. |
| 1040 | # This requires the prometheus CRDs to be available (see https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml) |
| 1041 | # |
| 1042 | enabled: false |
| 1043 | # -- Labels to add to ServiceMonitor cilium-agent |
| 1044 | labels: {} |
| 1045 | # -- Specify the Kubernetes namespace where Prometheus expects to find |
| 1046 | # service monitors configured. |
| 1047 | # namespace: "" |
| 1048 | # -- Metrics that should be enabled or disabled from the default metric |
| 1049 | # list. (+metric_foo to enable metric_foo , -metric_bar to disable |
| 1050 | # metric_bar). |
| 1051 | # ref: https://docs.cilium.io/en/stable/operations/metrics/#exported-metrics |
| 1052 | metrics: ~ |
| 1053 | |
| 1054 | # -- Configure Istio proxy options. |
| 1055 | proxy: |
| 1056 | prometheus: |
| 1057 | enabled: true |
| 1058 | port: "9095" |
| 1059 | # -- Regular expression matching compatible Istio sidecar istio-proxy |
| 1060 | # container image names |
| 1061 | sidecarImageRegex: "cilium/istio_proxy" |
| 1062 | |
| 1063 | # -- Enable use of the remote node identity. |
| 1064 | # ref: https://docs.cilium.io/en/v1.7/install/upgrade/#configmap-remote-node-identity |
| 1065 | remoteNodeIdentity: true |
| 1066 | |
| 1067 | # -- Enable resource quotas for priority classes used in the cluster. |
| 1068 | resourceQuotas: |
| 1069 | enabled: false |
| 1070 | cilium: |
| 1071 | hard: |
| 1072 | # 5k nodes * 2 DaemonSets (Cilium and cilium node init) |
| 1073 | pods: "10k" |
| 1074 | operator: |
| 1075 | hard: |
| 1076 | # 15 "clusterwide" Cilium Operator pods for HA |
| 1077 | pods: "15" |
| 1078 | |
| 1079 | # Need to document default |
| 1080 | ################## |
| 1081 | #sessionAffinity: false |
| 1082 | |
| 1083 | # -- Do not run Cilium agent when running with clean mode. Useful to completely |
| 1084 | # uninstall Cilium as it will stop Cilium from starting and create artifacts |
| 1085 | # in the node. |
| 1086 | sleepAfterInit: false |
| 1087 | |
| 1088 | # -- Configure BPF socket operations configuration |
| 1089 | sockops: |
| 1090 | # enabled enables installation of socket options acceleration. |
| 1091 | enabled: false |
| 1092 | |
| 1093 | # TODO: Add documentation, default value |
| 1094 | # svcSourceRangeCheck: |
| 1095 | |
| 1096 | # synchronizeK8sNodes: true |
| 1097 | |
| 1098 | # -- Configure TLS configuration in the agent. |
| 1099 | tls: |
| 1100 | enabled: true |
| 1101 | secretsBackend: local |
| 1102 | |
| 1103 | # -- Configure the encapsulation configuration for communication between nodes. |
| 1104 | # Possible values: |
| 1105 | # - disabled |
| 1106 | # - vxlan (default) |
| 1107 | # - geneve |
| 1108 | tunnel: "vxlan" |
| 1109 | |
| 1110 | wellKnownIdentities: |
| 1111 | # -- Enable the use of well-known identities. |
| 1112 | enabled: false |
| 1113 | |
| 1114 | |
| 1115 | etcd: |
| 1116 | # -- Enable etcd mode for the agent. |
| 1117 | enabled: false |
| 1118 | |
| 1119 | # -- cilium-etcd-operator image. |
| 1120 | image: |
| 1121 | repository: quay.io/cilium/cilium-etcd-operator |
| 1122 | tag: v2.0.7 |
| 1123 | pullPolicy: IfNotPresent |
| 1124 | |
| 1125 | # -- cilium-etcd-operator priorityClassName |
| 1126 | priorityClassName: "" |
| 1127 | |
| 1128 | # -- Additional cilium-etcd-operator container arguments. |
| 1129 | extraArgs: [] |
| 1130 | |
| 1131 | # -- Additional InitContainers to initialize the pod. |
| 1132 | extraInitContainers: [] |
| 1133 | |
| 1134 | # -- Additional cilium-etcd-operator hostPath mounts. |
| 1135 | extraHostPathMounts: [] |
| 1136 | # - name: textfile-dir |
| 1137 | # mountPath: /srv/txt_collector |
| 1138 | # hostPath: /var/lib/cilium-etcd-operator |
| 1139 | # readOnly: true |
| 1140 | # mountPropagation: HostToContainer |
| 1141 | |
| 1142 | # -- Additional cilium-etcd-operator ConfigMap mounts. |
| 1143 | extraConfigmapMounts: [] |
| 1144 | # - name: certs-configmap |
| 1145 | # mountPath: /certs |
| 1146 | # configMap: certs-configmap |
| 1147 | # readOnly: true |
| 1148 | |
| 1149 | # -- Node tolerations for cilium-etcd-operator scheduling to nodes with taints |
| 1150 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 1151 | tolerations: |
| 1152 | - operator: Exists |
| 1153 | # - key: "key" |
| 1154 | # operator: "Equal|Exists" |
| 1155 | # value: "value" |
| 1156 | # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |
| 1157 | |
| 1158 | # -- Node labels for cilium-etcd-operator pod assignment |
| 1159 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 1160 | nodeSelector: {} |
| 1161 | |
| 1162 | # -- Annotations to be added to cilium-etcd-operator pods |
| 1163 | podAnnotations: {} |
| 1164 | |
| 1165 | # -- Labels to be added to cilium-etcd-operator pods |
| 1166 | podLabels: {} |
| 1167 | |
| 1168 | # -- PodDisruptionBudget settings |
| 1169 | # ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| 1170 | # |
| 1171 | podDisruptionBudget: |
| 1172 | enabled: true |
| 1173 | maxUnavailable: 2 |
| 1174 | |
| 1175 | # -- cilium-etcd-operator resource limits & requests |
| 1176 | # ref: https://kubernetes.io/docs/user-guide/compute-resources/ |
| 1177 | # |
| 1178 | resources: {} |
| 1179 | # limits: |
| 1180 | # cpu: 4000m |
| 1181 | # memory: 4Gi |
| 1182 | # requests: |
| 1183 | # cpu: 100m |
| 1184 | # memory: 512Mi |
| 1185 | |
| 1186 | # -- Security context to be added to cilium-etcd-operator pods |
| 1187 | # |
| 1188 | securityContext: {} |
| 1189 | # runAsUser: 0 |
| 1190 | |
| 1191 | # -- cilium-etcd-operator update strategy |
| 1192 | updateStrategy: |
| 1193 | rollingUpdate: |
| 1194 | maxSurge: 1 |
| 1195 | maxUnavailable: 1 |
| 1196 | type: RollingUpdate |
| 1197 | |
| 1198 | # -- If etcd is behind a k8s service set this option to true so that Cilium |
| 1199 | # does the service translation automatically without requiring a DNS to be |
| 1200 | # running. |
| 1201 | k8sService: false |
| 1202 | |
| 1203 | # -- Cluster domain for cilium-etcd-operator. |
| 1204 | clusterDomain: cluster.local |
| 1205 | |
| 1206 | # -- List of etcd endpoints (not needed when using managed=true). |
| 1207 | endpoints: |
| 1208 | - https://CHANGE-ME:2379 |
| 1209 | |
| 1210 | # -- Enable use of TLS/SSL for connectivity to etcd. (auto-enabled if |
| 1211 | # managed=true) |
| 1212 | ssl: false |
| 1213 | |
| 1214 | operator: |
| 1215 | # -- Enable the cilium-operator component (required). |
| 1216 | enabled: true |
| 1217 | |
| 1218 | # -- Roll out cilium-operator pods automatically when configmap is updated. |
| 1219 | rollOutPods: false |
| 1220 | |
| 1221 | # -- cilium-operator image. |
| 1222 | image: |
| 1223 | repository: quay.io/cilium/operator |
| 1224 | tag: v1.10.7 |
| 1225 | # operator-generic-digest |
| 1226 | genericDigest: "sha256:d0b491d8d8cb45862ed7f0410f65e7c141832f0f95262643fa5ff1edfcddcafe" |
| 1227 | # operator-azure-digest |
| 1228 | azureDigest: "sha256:556d692b2f08822101c159d9d6f731efe6c437d2b80f0ef96813e8745203c852" |
| 1229 | # operator-aws-digest |
| 1230 | awsDigest: "sha256:97b378e0e3b6b5ade6ae1706024c7a25fe6fc48e00102b65a6b7ac51d6327f40" |
| 1231 | # operator-alibabacloud-digest |
| 1232 | alibabacloudDigest: "sha256:7a6ccc99195ae6a8216d2a1e1e0cc05d49c2d263b194895da264899fe9d0f45a" |
| 1233 | useDigest: true |
| 1234 | pullPolicy: IfNotPresent |
| 1235 | suffix: "" |
| 1236 | |
| 1237 | # -- Number of replicas to run for the cilium-operator deployment |
| 1238 | replicas: 2 |
| 1239 | |
| 1240 | # -- For using with an existing serviceAccount. |
| 1241 | serviceAccountName: cilium-operator |
| 1242 | |
| 1243 | # -- cilium-operator priorityClassName |
| 1244 | priorityClassName: "" |
| 1245 | |
| 1246 | # -- cilium-operator update strategy |
| 1247 | updateStrategy: |
| 1248 | rollingUpdate: |
| 1249 | maxSurge: 1 |
| 1250 | maxUnavailable: 1 |
| 1251 | type: RollingUpdate |
| 1252 | |
| 1253 | # -- cilium-operator affinity |
| 1254 | affinity: |
| 1255 | podAntiAffinity: |
| 1256 | requiredDuringSchedulingIgnoredDuringExecution: |
| 1257 | - labelSelector: |
| 1258 | matchExpressions: |
| 1259 | - key: io.cilium/app |
| 1260 | operator: In |
| 1261 | values: |
| 1262 | - operator |
| 1263 | topologyKey: kubernetes.io/hostname |
| 1264 | |
| 1265 | |
| 1266 | # -- Additional cilium-operator container arguments. |
| 1267 | extraArgs: [] |
| 1268 | |
| 1269 | # -- Additional cilium-operator environment variables. |
| 1270 | extraEnv: {} |
| 1271 | |
| 1272 | # -- Additional InitContainers to initialize the pod. |
| 1273 | extraInitContainers: [] |
| 1274 | |
| 1275 | # -- Additional cilium-operator hostPath mounts. |
| 1276 | extraHostPathMounts: [] |
| 1277 | # - name: host-mnt-data |
| 1278 | # mountPath: /host/mnt/data |
| 1279 | # hostPath: /mnt/data |
| 1280 | # hostPathType: Directory |
| 1281 | # readOnly: true |
| 1282 | # mountPropagation: HostToContainer |
| 1283 | |
| 1284 | # -- Additional cilium-operator ConfigMap mounts. |
| 1285 | extraConfigmapMounts: [] |
| 1286 | # - name: certs-configmap |
| 1287 | # mountPath: /certs |
| 1288 | # configMap: certs-configmap |
| 1289 | # readOnly: true |
| 1290 | |
| 1291 | # -- Node tolerations for cilium-operator scheduling to nodes with taints |
| 1292 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 1293 | tolerations: |
| 1294 | - operator: Exists |
| 1295 | # - key: "key" |
| 1296 | # operator: "Equal|Exists" |
| 1297 | # value: "value" |
| 1298 | # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |
| 1299 | |
| 1300 | # -- Node labels for cilium-operator pod assignment |
| 1301 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 1302 | # |
| 1303 | nodeSelector: {} |
| 1304 | |
| 1305 | # -- Annotations to be added to cilium-operator pods |
| 1306 | podAnnotations: {} |
| 1307 | |
| 1308 | # -- Labels to be added to cilium-operator pods |
| 1309 | podLabels: {} |
| 1310 | |
| 1311 | # -- PodDisruptionBudget settings |
| 1312 | # ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| 1313 | # |
| 1314 | podDisruptionBudget: |
| 1315 | enabled: false |
| 1316 | maxUnavailable: 1 |
| 1317 | |
| 1318 | # -- cilium-operator resource limits & requests |
| 1319 | # ref: https://kubernetes.io/docs/user-guide/compute-resources/ |
| 1320 | # |
| 1321 | resources: {} |
| 1322 | # limits: |
| 1323 | # cpu: 1000m |
| 1324 | # memory: 1Gi |
| 1325 | # requests: |
| 1326 | # cpu: 100m |
| 1327 | # memory: 128Mi |
| 1328 | |
| 1329 | # -- Security context to be added to cilium-operator pods |
| 1330 | # |
| 1331 | securityContext: {} |
| 1332 | # runAsUser: 0 |
| 1333 | |
| 1334 | # -- Interval for endpoint garbage collection. |
| 1335 | endpointGCInterval: "5m0s" |
| 1336 | |
| 1337 | # -- Interval for identity garbage collection. |
| 1338 | identityGCInterval: "15m0s" |
| 1339 | |
| 1340 | # -- Timeout for identity heartbeats. |
| 1341 | identityHeartbeatTimeout: "30m0s" |
| 1342 | |
| 1343 | # -- Enable prometheus metrics for cilium-operator on the configured port at |
| 1344 | # /metrics |
| 1345 | prometheus: |
| 1346 | enabled: false |
| 1347 | port: 6942 |
| 1348 | serviceMonitor: |
| 1349 | # -- Enable service monitors. |
| 1350 | # This requires the prometheus CRDs to be available (see https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml) |
| 1351 | ## |
| 1352 | enabled: false |
| 1353 | # -- Labels to add to ServiceMonitor cilium-operator |
| 1354 | labels: {} |
| 1355 | |
| 1356 | # -- Skip CRDs creation for cilium-operator |
| 1357 | skipCRDCreation: false |
| 1358 | |
| 1359 | |
| 1360 | nodeinit: |
| 1361 | # -- Enable the node initialization DaemonSet |
| 1362 | enabled: false |
| 1363 | |
| 1364 | # -- node-init image. |
| 1365 | image: |
| 1366 | repository: quay.io/cilium/startup-script |
| 1367 | tag: 62bfbe88c17778aad7bef9fa57ff9e2d4a9ba0d8 |
| 1368 | pullPolicy: IfNotPresent |
| 1369 | |
| 1370 | # -- The priority class to use for the nodeinit pod. |
| 1371 | priorityClassName: "" |
| 1372 | |
| 1373 | # -- node-init update strategy |
| 1374 | updateStrategy: |
| 1375 | type: RollingUpdate |
| 1376 | |
| 1377 | # -- Additional nodeinit environment variables. |
| 1378 | extraEnv: {} |
| 1379 | |
| 1380 | # -- Additional nodeinit init containers. |
| 1381 | extraInitContainers: [] |
| 1382 | |
| 1383 | # -- Additional nodeinit host path mounts. |
| 1384 | extraHostPathMounts: [] |
| 1385 | # - name: textfile-dir |
| 1386 | # mountPath: /srv/txt_collector |
| 1387 | # hostPath: /var/lib/nodeinit |
| 1388 | # readOnly: true |
| 1389 | # mountPropagation: HostToContainer |
| 1390 | |
| 1391 | # -- Additional nodeinit ConfigMap mounts. |
| 1392 | extraConfigmapMounts: [] |
| 1393 | # - name: certs-configmap |
| 1394 | # mountPath: /certs |
| 1395 | # configMap: certs-configmap |
| 1396 | # readOnly: true |
| 1397 | |
| 1398 | # -- Node tolerations for nodeinit scheduling to nodes with taints |
| 1399 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 1400 | # |
| 1401 | tolerations: |
| 1402 | - operator: Exists |
| 1403 | # - key: "key" |
| 1404 | # operator: "Equal|Exists" |
| 1405 | # value: "value" |
| 1406 | # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |
| 1407 | |
| 1408 | # -- Node labels for nodeinit pod assignment |
| 1409 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 1410 | # |
| 1411 | nodeSelector: {} |
| 1412 | |
| 1413 | # -- Annotations to be added to node-init pods. |
| 1414 | podAnnotations: {} |
| 1415 | |
| 1416 | # -- Labels to be added to node-init pods. |
| 1417 | podLabels: {} |
| 1418 | |
| 1419 | # -- PodDisruptionBudget settings |
| 1420 | # ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| 1421 | # |
| 1422 | podDisruptionBudget: |
| 1423 | enabled: true |
| 1424 | maxUnavailable: 2 |
| 1425 | |
| 1426 | # -- nodeinit resource limits & requests |
| 1427 | # ref: https://kubernetes.io/docs/user-guide/compute-resources/ |
| 1428 | # |
| 1429 | resources: |
| 1430 | requests: |
| 1431 | cpu: 100m |
| 1432 | memory: 100Mi |
| 1433 | |
| 1434 | # -- Security context to be added to nodeinit pods. |
| 1435 | # |
| 1436 | securityContext: {} |
| 1437 | # runAsUser: 0 |
| 1438 | |
| 1439 | # -- bootstrapFile is the location of the file where the bootstrap timestamp is |
| 1440 | # written by the node-init DaemonSet |
| 1441 | bootstrapFile: "/tmp/cilium-bootstrap-time" |
| 1442 | |
| 1443 | preflight: |
| 1444 | # -- Enable Cilium pre-flight resources (required for upgrade) |
| 1445 | enabled: false |
| 1446 | |
| 1447 | # -- Cilium pre-flight image. |
| 1448 | image: |
| 1449 | repository: quay.io/cilium/cilium |
| 1450 | tag: v1.10.7 |
| 1451 | # cilium-digest |
| 1452 | digest: "sha256:e23f55e80e1988db083397987a89967aa204ad6fc32da243b9160fbcea29b0ca" |
| 1453 | useDigest: true |
| 1454 | pullPolicy: IfNotPresent |
| 1455 | |
| 1456 | # -- The priority class to use for the preflight pod. |
| 1457 | priorityClassName: "" |
| 1458 | |
| 1459 | # -- preflight update strategy |
| 1460 | updateStrategy: |
| 1461 | type: RollingUpdate |
| 1462 | |
| 1463 | # -- Additional preflight environment variables. |
| 1464 | extraEnv: {} |
| 1465 | |
| 1466 | # -- Additional preflight init containers. |
| 1467 | extraInitContainers: [] |
| 1468 | |
| 1469 | # -- Additional preflight host path mounts. |
| 1470 | extraHostPathMounts: [] |
| 1471 | # - name: textfile-dir |
| 1472 | # mountPath: /srv/txt_collector |
| 1473 | # hostPath: /var/lib/preflight |
| 1474 | # readOnly: true |
| 1475 | # mountPropagation: HostToContainer |
| 1476 | |
| 1477 | # -- Additional preflight ConfigMap mounts. |
| 1478 | extraConfigmapMounts: [] |
| 1479 | # - name: certs-configmap |
| 1480 | # mountPath: /certs |
| 1481 | # configMap: certs-configmap |
| 1482 | # readOnly: true |
| 1483 | |
| 1484 | # -- Node tolerations for preflight scheduling to nodes with taints |
| 1485 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 1486 | # |
| 1487 | tolerations: |
| 1488 | - effect: NoSchedule |
| 1489 | key: node.kubernetes.io/not-ready |
| 1490 | - effect: NoSchedule |
| 1491 | key: node-role.kubernetes.io/master |
| 1492 | - effect: NoSchedule |
| 1493 | key: node.cloudprovider.kubernetes.io/uninitialized |
| 1494 | value: "true" |
| 1495 | - key: CriticalAddonsOnly |
| 1496 | operator: "Exists" |
| 1497 | # - key: "key" |
| 1498 | # operator: "Equal|Exists" |
| 1499 | # value: "value" |
| 1500 | # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" |
| 1501 | |
| 1502 | # -- Node labels for preflight pod assignment |
| 1503 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 1504 | # |
| 1505 | nodeSelector: {} |
| 1506 | |
| 1507 | # -- Annotations to be added to preflight pods |
| 1508 | podAnnotations: {} |
| 1509 | |
| 1510 | # -- Labels to be added to the preflight pod. |
| 1511 | podLabels: {} |
| 1512 | |
| 1513 | # -- PodDisruptionBudget settings |
| 1514 | # ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| 1515 | # |
| 1516 | podDisruptionBudget: |
| 1517 | enabled: true |
| 1518 | maxUnavailable: 2 |
| 1519 | |
| 1520 | # -- preflight resource limits & requests |
| 1521 | # ref: https://kubernetes.io/docs/user-guide/compute-resources/ |
| 1522 | # |
| 1523 | resources: {} |
| 1524 | # limits: |
| 1525 | # cpu: 4000m |
| 1526 | # memory: 4Gi |
| 1527 | # requests: |
| 1528 | # cpu: 100m |
| 1529 | # memory: 512Mi |
| 1530 | |
| 1531 | # -- Security context to be added to preflight pods |
| 1532 | # |
| 1533 | securityContext: {} |
| 1534 | # runAsUser: 0 |
| 1535 | |
| 1536 | # -- Path to write the `--tofqdns-pre-cache` file to. |
| 1537 | tofqdnsPreCache: "" |
| 1538 | # -- By default we should always validate the installed CNPs before upgrading |
| 1539 | # Cilium. This will make sure the user will have the policies deployed in the |
| 1540 | # cluster with the right schema. |
| 1541 | validateCNPs: true |
| 1542 | |
| 1543 | # -- Explicitly enable or disable priority class. |
| 1544 | # .Capabilities.KubeVersion is unsettable in `helm template` calls, |
| 1545 | # it depends on k8s libraries version that Helm was compiled against. |
| 1546 | # This option allows to explicitly disable setting the priority class, which |
| 1547 | # is useful for rendering charts for gke clusters in advance. |
| 1548 | enableCriticalPriorityClass: true |
| 1549 | |
| 1550 | # disableEnvoyVersionCheck removes the check for Envoy, which can be useful |
| 1551 | # on AArch64 as the images do not currently ship a version of Envoy. |
| 1552 | #disableEnvoyVersionCheck: false |
| 1553 | |
| 1554 | clustermesh: |
| 1555 | # -- Deploy clustermesh-apiserver for clustermesh |
| 1556 | useAPIServer: false |
| 1557 | |
| 1558 | apiserver: |
| 1559 | # -- Clustermesh API server image. |
| 1560 | image: |
| 1561 | repository: quay.io/cilium/clustermesh-apiserver |
| 1562 | tag: v1.10.7 |
| 1563 | # clustermesh-apiserver-digest |
| 1564 | digest: "sha256:9afb0a15afffdf84812c8174df9de86e35239fb87a6ffd9539877a9e643d8132" |
| 1565 | useDigest: true |
| 1566 | pullPolicy: IfNotPresent |
| 1567 | |
| 1568 | etcd: |
| 1569 | # -- Clustermesh API server etcd image. |
| 1570 | image: |
| 1571 | repository: quay.io/coreos/etcd |
| 1572 | tag: v3.4.13 |
| 1573 | pullPolicy: IfNotPresent |
| 1574 | |
| 1575 | service: |
| 1576 | # -- The type of service used for apiserver access. |
| 1577 | type: NodePort |
| 1578 | # -- Optional port to use as the node port for apiserver access. |
| 1579 | nodePort: 32379 |
| 1580 | # -- Optional loadBalancer IP address to use with type LoadBalancer. |
| 1581 | # loadBalancerIP: |
| 1582 | |
| 1583 | # -- Annotations for the clustermesh-apiserver |
| 1584 | # For GKE LoadBalancer, use annotation cloud.google.com/load-balancer-type: "Internal" |
| 1585 | # For EKS LoadBalancer, use annotation service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 |
| 1586 | annotations: {} |
| 1587 | |
| 1588 | # -- Number of replicas run for the clustermesh-apiserver deployment. |
| 1589 | replicas: 1 |
| 1590 | |
| 1591 | # -- Node labels for pod assignment |
| 1592 | # ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| 1593 | nodeSelector: {} |
| 1594 | |
| 1595 | # -- Annotations to be added to clustermesh-apiserver pods |
| 1596 | podAnnotations: {} |
| 1597 | |
| 1598 | # -- Labels to be added to clustermesh-apiserver pods |
| 1599 | podLabels: {} |
| 1600 | |
| 1601 | # -- Resource requests and limits for the clustermesh-apiserver container of the clustermesh-apiserver deployment, such as |
| 1602 | # resources: |
| 1603 | # limits: |
| 1604 | # cpu: 1000m |
| 1605 | # memory: 1024M |
| 1606 | # requests: |
| 1607 | # cpu: 100m |
| 1608 | # memory: 64Mi |
| 1609 | resources: {} |
| 1610 | |
| 1611 | # -- Node tolerations for pod assignment on nodes with taints |
| 1612 | # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| 1613 | tolerations: [] |
| 1614 | |
| 1615 | # -- clustermesh-apiserver update strategy |
| 1616 | updateStrategy: |
| 1617 | rollingUpdate: |
| 1618 | maxUnavailable: 1 |
| 1619 | type: RollingUpdate |
| 1620 | |
| 1621 | tls: |
| 1622 | # -- Configure automatic TLS certificates generation. |
| 1623 | # A Kubernetes CronJob is used the generate any |
| 1624 | # certificates not provided by the user at installation |
| 1625 | # time. |
| 1626 | auto: |
| 1627 | # -- When set to true, automatically generate a CA and certificates to |
| 1628 | # enable mTLS between clustermesh-apiserver and external workload instances. |
| 1629 | # If set to false, the certs to be provided by setting appropriate values below. |
| 1630 | enabled: true |
| 1631 | # Sets the method to auto-generate certificates. Supported values: |
| 1632 | # - helm: This method uses Helm to generate all certificates. |
| 1633 | # - cronJob: This method uses a Kubernetes CronJob the generate any |
| 1634 | # certificates not provided by the user at installation |
| 1635 | # time. |
| 1636 | method: helm |
| 1637 | # -- Generated certificates validity duration in days. |
| 1638 | certValidityDuration: 1095 |
| 1639 | # -- Schedule for certificates regeneration (regardless of their expiration date). |
| 1640 | # Only used if method is "cronJob". If nil, then no recurring job will be created. |
| 1641 | # Instead, only the one-shot job is deployed to generate the certificates at |
| 1642 | # installation time. |
| 1643 | # |
| 1644 | # Due to the out-of-band distribution of client certs to external workloads the |
| 1645 | # CA is (re)regenerated only if it is not provided as a helm value and the k8s |
| 1646 | # secret is manually deleted. |
| 1647 | # |
| 1648 | # Defaults to none. Commented syntax gives midnight of the first day of every |
| 1649 | # fourth month. For syntax, see |
| 1650 | # https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#schedule |
| 1651 | # schedule: "0 0 1 */4 *" |
| 1652 | # -- base64 encoded PEM values for the ExternalWorkload CA certificate and private key. |
| 1653 | ca: |
| 1654 | # -- Optional CA cert. If it is provided, it will be used by the 'cronJob' method to |
| 1655 | # generate all other certificates. Otherwise, an ephemeral CA is generated. |
| 1656 | cert: "" |
| 1657 | # -- Optional CA private key. If it is provided, it will be used by the 'cronJob' method to |
| 1658 | # generate all other certificates. Otherwise, an ephemeral CA is generated. |
| 1659 | key: "" |
| 1660 | # -- base64 encoded PEM values for the clustermesh-apiserver server certificate and private key. |
| 1661 | # Used if 'auto' is not enabled. |
| 1662 | server: |
| 1663 | cert: "" |
| 1664 | key: "" |
| 1665 | # -- base64 encoded PEM values for the clustermesh-apiserver admin certificate and private key. |
| 1666 | # Used if 'auto' is not enabled. |
| 1667 | admin: |
| 1668 | cert: "" |
| 1669 | key: "" |
| 1670 | # -- base64 encoded PEM values for the clustermesh-apiserver client certificate and private key. |
| 1671 | # Used if 'auto' is not enabled. |
| 1672 | client: |
| 1673 | cert: "" |
| 1674 | key: "" |
| 1675 | # -- base64 encoded PEM values for the clustermesh-apiserver remote cluster certificate and private key. |
| 1676 | # Used if 'auto' is not enabled. |
| 1677 | remote: |
| 1678 | cert: "" |
| 1679 | key: "" |
| 1680 | |
| 1681 | # -- Configure external workloads support |
| 1682 | externalWorkloads: |
| 1683 | # -- Enable support for external workloads, such as VMs (false by default). |
| 1684 | enabled: false |
| 1685 | |
| 1686 | # -- Configure cgroup related configuration |
| 1687 | cgroup: |
| 1688 | autoMount: |
| 1689 | # -- Enable auto mount of cgroup2 filesystem. |
| 1690 | # When `autoMount` is enabled, cgroup2 filesystem is mounted at |
| 1691 | # `cgroup.hostRoot` path on the underlying host and inside the cilium agent pod. |
| 1692 | # If users disable `autoMount`, it's expected that users have mounted |
| 1693 | # cgroup2 filesystem at the specified `cgroup.hostRoot` volume, and then the |
| 1694 | # volume will be mounted inside the cilium agent pod at the same path. |
| 1695 | enabled: true |
| 1696 | # -- Configure cgroup root where cgroup2 filesystem is mounted on the host (see also: `cgroup.autoMount`) |
| 1697 | hostRoot: /run/cilium/cgroupv2 |