<!--- app-name: Cilium -->

# Bitnami package for Cilium

Cilium is an eBPF-based networking, observability, and security for Linux container management platforms like Docker and Kubernetes.

[Overview of Cilium](https://cilium.io/)

Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement.

## TL;DR

```console
helm install my-release oci://registry-1.docker.io/bitnamicharts/cilium
```

Looking to use Cilium in production? Try [VMware Tanzu Application Catalog](https://bitnami.com/enterprise), the enterprise edition of Bitnami Application Catalog.

## Introduction

Bitnami charts for Helm are carefully engineered, actively maintained and are the quickest and easiest way to deploy containers on a Kubernetes cluster that are ready to handle production workloads.

This chart bootstraps a [Cilium](https://github.com/cilium/cilium) deployment in a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.

Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters.

## Prerequisites

- Kubernetes 1.23+
- Helm 3.8.0+
- Nodes with Linux kernel >= 4.19.57 or equivalent (e.g., 4.18 on RHEL8)

## Installing the Chart

To install the chart with the release name `my-release`:

```console
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/cilium
```

> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`.

The command deploys Cilium on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation.

> **Tip**: List all releases using `helm list`

## Configuration and installation details

### [Rolling VS Immutable tags](https://docs.vmware.com/en/VMware-Tanzu-Application-Catalog/services/tutorials/GUID-understand-rolling-tags-containers-index.html)

It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image.

Bitnami will release a new chart updating its containers if a new version of the main container, significant changes, or critical vulnerabilities exist.

### External Key-Value Store support

You may want to have Cilium connect to an external key-value store rather than installing one inside your cluster. Typical reasons for this are to use a managed service, or to share a common store for all your applications. To achieve this, the chart allows you to specify credentials for an external database with the [`externalKvstore` parameter](#parameters). You should also disable the etcd installation with the `etcd.enabled` option. Here is an example:

```console
etcd.enabled=false
externalKvstorehost.enabled=true
externalKvstorehost.endpoints[0]=external-kvstore-host-0:2379
externalKvstorehost.endpoints[1]=external-kvstore-host-1:2379
```

### Cilium CNI plugin

Please also note the chart installs the Cilium CNI plugin on the Kubernetes nodes by default. If you want to disable this behavior, set the `agent.cniPlugin.install` parameter to `false`.

It's also necessary to know the paths where the CNI binary and configuration files are located in your Kubernetes nodes. The chart assumes that the CNI binary is located in the `/opt/cni/bin` directory and the CNI configuration files are located in the `/etc/cni/net.d` directory. You can customize these paths using the `agent.cniPlugin.hostCNIBinDir` and `agent.cniPlugin.hostCNINetDir` parameters.

### TLS secrets

TLS support can be enabled in the chart by setting the `tls.enabled` parameter to `true`.

It is necessary to create a secret containing the TLS certificates and pass it to the chart via the `tls.existingCASecret` and `tls.hubble.existingSecret` parameters. Both secrets should contain a `tls.crt` and `tls.key` keys including the certificate and key files respectively. For example: create the CA secret with the certificates files:

```console
kubectl create secret generic ca-tls-secret --from-file=./tls.crt --from-file=./tls.key
```

You can manually create the required TLS certificates or relying on the chart auto-generation capabilities. The chart supports two different ways to auto-generate the required certificates:

- Using Helm capabilities. Enable this feature by setting `tls.autoGenerated.enabled` to `true` and `tls.autoGenerated.engine` to `helm`.
- Relying on CertManager (please note it's required to have CertManager installed in your K8s cluster). Enable this feature by setting `tls.autoGenerated.enabled` to `true` and `tls.autoGenerated.engine` to `cert-manager`. Please note it's supported to use an existing Issuer/ClusterIssuer for issuing the TLS certificates by setting the `tls.autoGenerated.certManager.existingIssuer` and `tls.autoGenerated.certManager.existingIssuerKind` parameters.

### Additional environment variables

In case you want to add extra environment variables (useful for advanced operations like custom init scripts), you can use the `extraEnvVars` property. For instance:

```yaml
agent:
  extraEnvVars:
    - name: LOG_LEVEL
      value: error
```

Alternatively, you can use a ConfigMap or a Secret with the environment variables. To do so, use the `extraEnvVarsCM` or the `extraEnvVarsSecret` values.

### Sidecars

If additional containers are needed in the same pod as Ciliuma (such as additional metrics or logging exporters), they can be defined using the `agent.sidecars` parameter.

```yaml
agent:
  sidecars:
  - name: your-image-name
    image: your-image
    imagePullPolicy: Always
    ports:
    - name: portname
      containerPort: 1234
```

If these sidecars export extra ports, extra port definitions can be added using the `agent.service.extraPorts` parameter (where available), as shown in the example below:

```yaml
agent:
  service:
    extraPorts:
    - name: extraPort
      port: 11311
      targetPort: 11311
```

If additional init containers are needed in the same pod, they can be defined using the `agent.initContainers` parameter. Here is an example:

```yaml
agent:
  initContainers:
  - name: your-image-name
    image: your-image
    imagePullPolicy: Always
    ports:
      - name: portname
        containerPort: 1234
```

Learn more about [sidecar containers](https://kubernetes.io/docs/concepts/workloads/pods/) and [init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/).

### Pod affinity

This chart allows you to set your custom affinity using the `affinity` parameter. Find more information about Pod affinity in the [kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity).

As an alternative, use one of the preset configurations for pod affinity, pod anti-affinity, and node affinity available at the [bitnami/common](https://github.com/bitnami/charts/tree/main/bitnami/common#affinities) chart. To do so, set the `podAffinityPreset`, `podAntiAffinityPreset`, or `nodeAffinityPreset` parameters.

## Parameters

### Global parameters

| Name                                                  | Description                                                                                                                                                                                                                                                                                                                                                         | Value  |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `global.imageRegistry`                                | Global Docker image registry                                                                                                                                                                                                                                                                                                                                        | `""`   |
| `global.imagePullSecrets`                             | Global Docker registry secret names as an array                                                                                                                                                                                                                                                                                                                     | `[]`   |
| `global.storageClass`                                 | Global StorageClass for Persistent Volume(s)                                                                                                                                                                                                                                                                                                                        | `""`   |
| `global.compatibility.openshift.adaptSecurityContext` | Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) | `auto` |

### Common parameters

| Name                                               | Description                                                                                                         | Value           |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | --------------- |
| `kubeVersion`                                      | Override Kubernetes version                                                                                         | `""`            |
| `nameOverride`                                     | String to partially override common.names.name                                                                      | `""`            |
| `fullnameOverride`                                 | String to fully override common.names.fullname                                                                      | `""`            |
| `namespaceOverride`                                | String to fully override common.names.namespace                                                                     | `""`            |
| `commonLabels`                                     | Labels to add to all deployed objects                                                                               | `{}`            |
| `commonAnnotations`                                | Annotations to add to all deployed objects                                                                          | `{}`            |
| `clusterDomain`                                    | Kubernetes cluster domain name                                                                                      | `cluster.local` |
| `extraDeploy`                                      | Array of extra objects to deploy with the release                                                                   | `[]`            |
| `diagnosticMode.enabled`                           | Enable diagnostic mode (all probes will be disabled and the command will be overridden)                             | `false`         |
| `diagnosticMode.command`                           | Command to override all containers in the chart release                                                             | `["sleep"]`     |
| `diagnosticMode.args`                              | Args to override all containers in the chart release                                                                | `["infinity"]`  |
| `configuration`                                    | Specify content for Cilium common configuration (basic one auto-generated based on other values otherwise)          | `{}`            |
| `overrideConfiguration`                            | Cilium common configuration override. Values defined here takes precedence over the ones defined at `configuration` | `{}`            |
| `existingConfigmap`                                | The name of an existing ConfigMap with your custom Cilium configuration                                             | `""`            |
| `azure.enabled`                                    | Enable Azure integration                                                                                            | `false`         |
| `azure.resourceGroup`                              | When enabling Azure integration, set the Azure Resource Group                                                       | `""`            |
| `azure.tenantId`                                   | When enabling Azure integration, set the Azure Tenant ID                                                            | `""`            |
| `azure.subscriptionId`                             | When enabling Azure integration, set the Azure Subscription ID                                                      | `""`            |
| `azure.clientID`                                   | When enabling Azure integration, set the Azure Client ID                                                            | `""`            |
| `azure.clientSecret`                               | When enabling Azure integration, set the Azure Client Secret                                                        | `""`            |
| `aws.enabled`                                      | Enable AWS integration                                                                                              | `false`         |
| `aws.accessKeyID`                                  | When enabling AWS integration, set the AWS Access Key ID                                                            | `""`            |
| `aws.secretAccessKey`                              | When enabling AWS integration, set the AWS Secret Access Key                                                        | `""`            |
| `gcp.enabled`                                      | Enable GCP integration                                                                                              | `false`         |
| `tls.enabled`                                      | Enable TLS for communications                                                                                       | `true`          |
| `tls.autoGenerated.enabled`                        | Enable automatic generation of certificates for TLS                                                                 | `true`          |
| `tls.autoGenerated.engine`                         | Mechanism to generate the certificates (allowed values: helm, cert-manager)                                         | `helm`          |
| `tls.autoGenerated.certManager.existingIssuer`     | The name of an existing Issuer to use for generating the certificates (only for `cert-manager` engine)              | `""`            |
| `tls.autoGenerated.certManager.existingIssuerKind` | Existing Issuer kind, defaults to Issuer (only for `cert-manager` engine)                                           | `""`            |
| `tls.autoGenerated.certManager.keyAlgorithm`       | Key algorithm for the certificates (only for `cert-manager` engine)                                                 | `RSA`           |
| `tls.autoGenerated.certManager.keySize`            | Key size for the certificates (only for `cert-manager` engine)                                                      | `2048`          |
| `tls.autoGenerated.certManager.duration`           | Duration for the certificates (only for `cert-manager` engine)                                                      | `2160h`         |
| `tls.autoGenerated.certManager.renewBefore`        | Renewal period for the certificates (only for `cert-manager` engine)                                                | `360h`          |
| `tls.ca`                                           | CA certificate for TLS. Ignored if `tls.existingCASecret` is set                                                    | `""`            |
| `tls.existingCASecret`                             | The name of an existing Secret containing the CA certificate for TLS                                                | `""`            |
| `tls.hubble.cert`                                  | TLS certificate for Hubble. Ignored if `tls.hubble.existingSecret` is set                                           | `""`            |
| `tls.hubble.key`                                   | TLS key for Hubble. Ignored if `tls.hubble.existingSecret` is set                                                   | `""`            |
| `tls.hubble.existingSecret`                        | The name of an existing Secret containing the Hubble certificates for TLS                                           | `""`            |
| `tls.client.cert`                                  | TLS certificate for Hubble client(s). Ignored if `tls.client.existingSecret` is set                                 | `""`            |
| `tls.client.key`                                   | TLS key for Hubble client(s). Ignored if `tls.client.existingSecret` is set                                         | `""`            |
| `tls.client.existingSecret`                        | The name of an existing Secret containing the Hubble client(s) certificates for TLS                                 | `""`            |

### Cilium Agent Parameters

| Name                                                                                             | Description                                                                                                                                                                                                                                                                 | Value                                                                                                                                                 |
| ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agent.image.registry`                                                                           | Cilium Agent image registry                                                                                                                                                                                                                                                 | `REGISTRY_NAME`                                                                                                                                       |
| `agent.image.repository`                                                                         | Cilium Agent image repository                                                                                                                                                                                                                                               | `REPOSITORY_NAME/cilium`                                                                                                                              |
| `agent.image.digest`                                                                             | Cilium Agent image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)                                                                                                                     | `""`                                                                                                                                                  |
| `agent.image.pullPolicy`                                                                         | Cilium Agent image pull policy                                                                                                                                                                                                                                              | `IfNotPresent`                                                                                                                                        |
| `agent.image.pullSecrets`                                                                        | Cilium Agent image pull secrets                                                                                                                                                                                                                                             | `[]`                                                                                                                                                  |
| `agent.image.debug`                                                                              | Enable Cilium Agent image debug mode                                                                                                                                                                                                                                        | `false`                                                                                                                                               |
| `agent.containerPorts.health`                                                                    | Cilium Agent health container port                                                                                                                                                                                                                                          | `9879`                                                                                                                                                |
| `agent.containerPorts.pprof`                                                                     | Cilium Agent pprof container port                                                                                                                                                                                                                                           | `6060`                                                                                                                                                |
| `agent.containerPorts.hubblePeer`                                                                | Cilium Agent Hubble peer service container port                                                                                                                                                                                                                             | `4244`                                                                                                                                                |
| `agent.containerPorts.metrics`                                                                   | Cilium Agent metrics container port                                                                                                                                                                                                                                         | `9962`                                                                                                                                                |
| `agent.containerPorts.hubbleMetrics`                                                             | Cilium Agent Hubble metrics container port                                                                                                                                                                                                                                  | `9965`                                                                                                                                                |
| `agent.extraContainerPorts`                                                                      | Optionally specify extra list of additional ports for Cilium Agent containers                                                                                                                                                                                               | `[]`                                                                                                                                                  |
| `agent.livenessProbe.enabled`                                                                    | Enable livenessProbe on Cilium Agent containers                                                                                                                                                                                                                             | `true`                                                                                                                                                |
| `agent.livenessProbe.initialDelaySeconds`                                                        | Initial delay seconds for livenessProbe                                                                                                                                                                                                                                     | `10`                                                                                                                                                  |
| `agent.livenessProbe.periodSeconds`                                                              | Period seconds for livenessProbe                                                                                                                                                                                                                                            | `30`                                                                                                                                                  |
| `agent.livenessProbe.timeoutSeconds`                                                             | Timeout seconds for livenessProbe                                                                                                                                                                                                                                           | `5`                                                                                                                                                   |
| `agent.livenessProbe.failureThreshold`                                                           | Failure threshold for livenessProbe                                                                                                                                                                                                                                         | `10`                                                                                                                                                  |
| `agent.livenessProbe.successThreshold`                                                           | Success threshold for livenessProbe                                                                                                                                                                                                                                         | `1`                                                                                                                                                   |
| `agent.readinessProbe.enabled`                                                                   | Enable readinessProbe on Cilium Agent containers                                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.readinessProbe.initialDelaySeconds`                                                       | Initial delay seconds for readinessProbe                                                                                                                                                                                                                                    | `10`                                                                                                                                                  |
| `agent.readinessProbe.periodSeconds`                                                             | Period seconds for readinessProbe                                                                                                                                                                                                                                           | `30`                                                                                                                                                  |
| `agent.readinessProbe.timeoutSeconds`                                                            | Timeout seconds for readinessProbe                                                                                                                                                                                                                                          | `5`                                                                                                                                                   |
| `agent.readinessProbe.failureThreshold`                                                          | Failure threshold for readinessProbe                                                                                                                                                                                                                                        | `3`                                                                                                                                                   |
| `agent.readinessProbe.successThreshold`                                                          | Success threshold for readinessProbe                                                                                                                                                                                                                                        | `1`                                                                                                                                                   |
| `agent.startupProbe.enabled`                                                                     | Enable startupProbe on Cilium Agent containers                                                                                                                                                                                                                              | `false`                                                                                                                                               |
| `agent.startupProbe.initialDelaySeconds`                                                         | Initial delay seconds for startupProbe                                                                                                                                                                                                                                      | `5`                                                                                                                                                   |
| `agent.startupProbe.periodSeconds`                                                               | Period seconds for startupProbe                                                                                                                                                                                                                                             | `2`                                                                                                                                                   |
| `agent.startupProbe.timeoutSeconds`                                                              | Timeout seconds for startupProbe                                                                                                                                                                                                                                            | `1`                                                                                                                                                   |
| `agent.startupProbe.failureThreshold`                                                            | Failure threshold for startupProbe                                                                                                                                                                                                                                          | `100`                                                                                                                                                 |
| `agent.startupProbe.successThreshold`                                                            | Success threshold for startupProbe                                                                                                                                                                                                                                          | `1`                                                                                                                                                   |
| `agent.customLivenessProbe`                                                                      | Custom livenessProbe that overrides the default one                                                                                                                                                                                                                         | `{}`                                                                                                                                                  |
| `agent.customReadinessProbe`                                                                     | Custom readinessProbe that overrides the default one                                                                                                                                                                                                                        | `{}`                                                                                                                                                  |
| `agent.customStartupProbe`                                                                       | Custom startupProbe that overrides the default one                                                                                                                                                                                                                          | `{}`                                                                                                                                                  |
| `agent.resourcesPreset`                                                                          | Set Cilium Agent container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.resources is recommended for production).                                         | `micro`                                                                                                                                               |
| `agent.resources`                                                                                | Set Cilium Agent container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                                              | `{}`                                                                                                                                                  |
| `agent.podSecurityContext.enabled`                                                               | Enable Cilium Agent pods' Security Context                                                                                                                                                                                                                                  | `true`                                                                                                                                                |
| `agent.podSecurityContext.fsGroupChangePolicy`                                                   | Set filesystem group change policy for Cilium Agent pods                                                                                                                                                                                                                    | `Always`                                                                                                                                              |
| `agent.podSecurityContext.sysctls`                                                               | Set kernel settings using the sysctl interface for Cilium Agent pods                                                                                                                                                                                                        | `[]`                                                                                                                                                  |
| `agent.podSecurityContext.supplementalGroups`                                                    | Set filesystem extra groups for Cilium Agent pods                                                                                                                                                                                                                           | `[]`                                                                                                                                                  |
| `agent.podSecurityContext.fsGroup`                                                               | Set fsGroup in Cilium Agent pods' Security Context                                                                                                                                                                                                                          | `0`                                                                                                                                                   |
| `agent.containerSecurityContext.enabled`                                                         | Enabled Cilium Agent container' Security Context                                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.containerSecurityContext.seLinuxOptions`                                                  | Set SELinux options in Cilium Agent container                                                                                                                                                                                                                               | `undefined`                                                                                                                                           |
| `agent.containerSecurityContext.runAsUser`                                                       | Set runAsUser in Cilium Agent container' Security Context                                                                                                                                                                                                                   | `0`                                                                                                                                                   |
| `agent.containerSecurityContext.runAsGroup`                                                      | Set runAsUser in Cilium Agent container' Security Context                                                                                                                                                                                                                   | `0`                                                                                                                                                   |
| `agent.containerSecurityContext.runAsNonRoot`                                                    | Set runAsNonRoot in Cilium Agent container' Security Context                                                                                                                                                                                                                | `false`                                                                                                                                               |
| `agent.containerSecurityContext.readOnlyRootFilesystem`                                          | Set readOnlyRootFilesystem in Cilium Agent container' Security Context                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.containerSecurityContext.privileged`                                                      | Set privileged in Cilium Agent container' Security Context                                                                                                                                                                                                                  | `false`                                                                                                                                               |
| `agent.containerSecurityContext.allowPrivilegeEscalation`                                        | Set allowPrivilegeEscalation in Cilium Agent container' Security Context                                                                                                                                                                                                    | `false`                                                                                                                                               |
| `agent.containerSecurityContext.capabilities.add`                                                | List of capabilities to be added in Cilium Agent container                                                                                                                                                                                                                  | `["BPF","CHOWN","DAC_OVERRIDE","FOWNER","KILL","NET_ADMIN","NET_RAW","IPC_LOCK","PERFMON","SETGID","SETUID","SYS_ADMIN","SYS_MODULE","SYS_RESOURCE"]` |
| `agent.containerSecurityContext.capabilities.drop`                                               | List of capabilities to be dropped in Cilium Agent container                                                                                                                                                                                                                | `["ALL"]`                                                                                                                                             |
| `agent.containerSecurityContext.seccompProfile.type`                                             | Set seccomp profile in Cilium Agent container                                                                                                                                                                                                                               | `RuntimeDefault`                                                                                                                                      |
| `agent.bpf.autoMount`                                                                            | Enable automatically mounting BPF fs on the host                                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.bpf.hostRoot`                                                                             | Path to the host's BPF root directory                                                                                                                                                                                                                                       | `/sys/fs/bpf`                                                                                                                                         |
| `agent.cgroup2.autoMount`                                                                        | Enable automatically mounting cgroup2 filesystem on the host                                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.cgroup2.hostRoot`                                                                         | Path to the host's cgroup2 root directory                                                                                                                                                                                                                                   | `/run/cilium/cgroupv2`                                                                                                                                |
| `agent.cniPlugin.install`                                                                        | Enable Cilium CNI plugin installation on the host                                                                                                                                                                                                                           | `true`                                                                                                                                                |
| `agent.cniPlugin.uninstall`                                                                      | Remove the CNI plugin from the host on agent shutdown                                                                                                                                                                                                                       | `false`                                                                                                                                               |
| `agent.cniPlugin.hostCNIBinDir`                                                                  | Path to the host's CNI bin directory (default: /opt/cni/bin)                                                                                                                                                                                                                | `""`                                                                                                                                                  |
| `agent.cniPlugin.hostCNINetDir`                                                                  | Path to the host's CNI net configuration directory (default: /etc/cni/net.d)                                                                                                                                                                                                | `""`                                                                                                                                                  |
| `agent.enableENI`                                                                                | Elastic Network Interface (ENI) integration                                                                                                                                                                                                                                 | `false`                                                                                                                                               |
| `agent.byoCNI`                                                                                   | Integration with Azure clusters using Bring Your Own CNI                                                                                                                                                                                                                    | `false`                                                                                                                                               |
| `agent.waitForKubeProxy`                                                                         | Wait for kube-proxy to be ready before starting Cilium Agent                                                                                                                                                                                                                | `false`                                                                                                                                               |
| `agent.enablePprof`                                                                              | Enable pprof for Cilium Agent                                                                                                                                                                                                                                               | `false`                                                                                                                                               |
| `agent.command`                                                                                  | Override default Cilium Agent container command (useful when using custom images)                                                                                                                                                                                           | `[]`                                                                                                                                                  |
| `agent.args`                                                                                     | Override default Cilium Agent container args (useful when using custom images)                                                                                                                                                                                              | `[]`                                                                                                                                                  |
| `agent.automountServiceAccountToken`                                                             | Mount Service Account token in Cilium Agent pods                                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.hostAliases`                                                                              | Cilium Agent pods host aliases                                                                                                                                                                                                                                              | `[]`                                                                                                                                                  |
| `agent.daemonsetAnnotations`                                                                     | Annotations for Cilium Agent daemonset                                                                                                                                                                                                                                      | `{}`                                                                                                                                                  |
| `agent.podLabels`                                                                                | Extra labels for Cilium Agent pods                                                                                                                                                                                                                                          | `{}`                                                                                                                                                  |
| `agent.podAnnotations`                                                                           | Annotations for Cilium Agent pods                                                                                                                                                                                                                                           | `{}`                                                                                                                                                  |
| `agent.nodeAffinityPreset.type`                                                                  | Node affinity preset type. Ignored if `agent.affinity` is set. Allowed values: `soft` or `hard`                                                                                                                                                                             | `""`                                                                                                                                                  |
| `agent.nodeAffinityPreset.key`                                                                   | Node label key to match. Ignored if `agent.affinity` is set                                                                                                                                                                                                                 | `""`                                                                                                                                                  |
| `agent.nodeAffinityPreset.values`                                                                | Node label values to match. Ignored if `agent.affinity` is set                                                                                                                                                                                                              | `[]`                                                                                                                                                  |
| `agent.affinity`                                                                                 | Affinity for Cilium Agent pods assignment                                                                                                                                                                                                                                   | `{}`                                                                                                                                                  |
| `agent.nodeSelector`                                                                             | Node labels for Cilium Agent pods assignment                                                                                                                                                                                                                                | `{}`                                                                                                                                                  |
| `agent.tolerations`                                                                              | Tolerations for Cilium Agent pods assignment                                                                                                                                                                                                                                | `[]`                                                                                                                                                  |
| `agent.updateStrategy.type`                                                                      | Cilium Agent daemonset update strategy type                                                                                                                                                                                                                                 | `RollingUpdate`                                                                                                                                       |
| `agent.priorityClassName`                                                                        | Cilium Agent pods' priorityClassName                                                                                                                                                                                                                                        | `system-node-critical`                                                                                                                                |
| `agent.terminationGracePeriodSeconds`                                                            | Seconds Cilium Agent pods need to terminate gracefully                                                                                                                                                                                                                      | `1`                                                                                                                                                   |
| `agent.lifecycleHooks`                                                                           | for Cilium Agent containers to automate configuration before or after startup                                                                                                                                                                                               | `{}`                                                                                                                                                  |
| `agent.extraEnvVars`                                                                             | Array with extra environment variables to add to Cilium Agent containers                                                                                                                                                                                                    | `[]`                                                                                                                                                  |
| `agent.extraEnvVarsCM`                                                                           | Name of existing ConfigMap containing extra env vars for Cilium Agent containers                                                                                                                                                                                            | `""`                                                                                                                                                  |
| `agent.extraEnvVarsSecret`                                                                       | Name of existing Secret containing extra env vars for Cilium Agent containers                                                                                                                                                                                               | `""`                                                                                                                                                  |
| `agent.extraVolumes`                                                                             | Optionally specify extra list of additional volumes for the Cilium Agent pods                                                                                                                                                                                               | `[]`                                                                                                                                                  |
| `agent.extraVolumeMounts`                                                                        | Optionally specify extra list of additional volumeMounts for the Cilium Agent containers                                                                                                                                                                                    | `[]`                                                                                                                                                  |
| `agent.sidecars`                                                                                 | Add additional sidecar containers to the Cilium Agent pods                                                                                                                                                                                                                  | `[]`                                                                                                                                                  |
| `agent.initContainers`                                                                           | Add additional init containers to the Cilium Agent pods                                                                                                                                                                                                                     | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.enabled`                  | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.seLinuxOptions`           | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.runAsUser`                | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `1001`                                                                                                                                                |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.runAsGroup`               | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `1001`                                                                                                                                                |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.runAsNonRoot`             | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `true`                                                                                                                                                |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.readOnlyRootFilesystem`   | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.privileged`               | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `false`                                                                                                                                               |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.allowPrivilegeEscalation` | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `false`                                                                                                                                               |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.capabilities.add`         | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.capabilities.drop`        | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `["ALL"]`                                                                                                                                             |
| `agent.defaultInitContainers.prepareWriteDirs.containerSecurityContext.seccompProfile.type`      | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.prepareWriteDirs.resourcesPreset`                                   | Set Cilium Agent "prepare-write-dirs" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production).  | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.prepareWriteDirs.resources`                                         | Set Cilium Agent "prepare-write-dirs" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                    | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.enabled`                       | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.seLinuxOptions`                | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.runAsUser`                     | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `1001`                                                                                                                                                |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.runAsGroup`                    | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `1001`                                                                                                                                                |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.runAsNonRoot`                  | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `true`                                                                                                                                                |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.readOnlyRootFilesystem`        | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.privileged`                    | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `false`                                                                                                                                               |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.allowPrivilegeEscalation`      | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `false`                                                                                                                                               |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.capabilities.add`              | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.capabilities.drop`             | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `["ALL"]`                                                                                                                                             |
| `agent.defaultInitContainers.buildConfig.containerSecurityContext.seccompProfile.type`           | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.buildConfig.resourcesPreset`                                        | Set Cilium Agent "build-config" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production).        | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.buildConfig.resources`                                              | Set Cilium Agent "build-config" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                          | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.enabled`                  | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.seLinuxOptions`           | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `undefined`                                                                                                                                           |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.runAsUser`                | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.runAsGroup`               | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.runAsNonRoot`             | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `false`                                                                                                                                               |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.readOnlyRootFilesystem`   | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.privileged`               | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `false`                                                                                                                                               |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.allowPrivilegeEscalation` | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `false`                                                                                                                                               |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.capabilities.add`         | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `["NET_ADMIN","SYS_ADMIN","SYS_CHROOT","SYS_MODULE","SYS_PTRACE","SYS_RESOURCE"]`                                                                     |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.capabilities.drop`        | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `["ALL"]`                                                                                                                                             |
| `agent.defaultInitContainers.installCniPlugin.containerSecurityContext.seccompProfile.type`      | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.installCniPlugin.resourcesPreset`                                   | Set Cilium Agent "install-cni-plugin" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production).  | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.installCniPlugin.resources`                                         | Set Cilium Agent "install-cni-plugin" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                    | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.enabled`                          | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.seLinuxOptions`                   | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.runAsUser`                        | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.runAsGroup`                       | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.runAsNonRoot`                     | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `false`                                                                                                                                               |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.readOnlyRootFilesystem`           | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.privileged`                       | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.allowPrivilegeEscalation`         | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.capabilities.add`                 | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.capabilities.drop`                | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.mountBpf.containerSecurityContext.seccompProfile.type`              | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.mountBpf.resourcesPreset`                                           | Set Cilium Agent "host-mount-bpf" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production).      | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.mountBpf.resources`                                                 | Set Cilium Agent "host-mount-bpf" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                        | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.enabled`                      | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.seLinuxOptions`               | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.runAsUser`                    | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.runAsGroup`                   | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.runAsNonRoot`                 | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `false`                                                                                                                                               |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.readOnlyRootFilesystem`       | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.privileged`                   | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.allowPrivilegeEscalation`     | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `true`                                                                                                                                                |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.capabilities.add`             | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.capabilities.drop`            | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.mountCgroup2.containerSecurityContext.seccompProfile.type`          | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.mountCgroup2.resourcesPreset`                                       | Set Cilium Agent "host-mount-cgroup2" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production).  | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.mountCgroup2.resources`                                             | Set Cilium Agent "host-mount-cgroup2" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                    | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.enabled`                        | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.seLinuxOptions`                 | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `undefined`                                                                                                                                           |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.runAsUser`                      | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `1001`                                                                                                                                                |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.runAsGroup`                     | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `1001`                                                                                                                                                |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.runAsNonRoot`                   | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `true`                                                                                                                                                |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.readOnlyRootFilesystem`         | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.privileged`                     | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `false`                                                                                                                                               |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.allowPrivilegeEscalation`       | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `false`                                                                                                                                               |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.capabilities.add`               | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `["NET_ADMIN","SYS_ADMIN","SYS_MODULE","SYS_RESOURCE"]`                                                                                               |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.capabilities.drop`              | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `["ALL"]`                                                                                                                                             |
| `agent.defaultInitContainers.cleanState.containerSecurityContext.seccompProfile.type`            | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.cleanState.resourcesPreset`                                         | Set Cilium Agent "clean-state" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production).         | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.cleanState.resources`                                               | Set Cilium Agent "clean-state" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                           | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.enabled`                  | Enabled Cilium Agent init-containers' Security Context                                                                                                                                                                                                                      | `true`                                                                                                                                                |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.seLinuxOptions`           | Set SELinux options in Cilium Agent init-containers                                                                                                                                                                                                                         | `{}`                                                                                                                                                  |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.runAsUser`                | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.runAsGroup`               | Set runAsUser in Cilium Agent init-containers' Security Context                                                                                                                                                                                                             | `0`                                                                                                                                                   |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.runAsNonRoot`             | Set runAsNonRoot in Cilium Agent init-containers' Security Context                                                                                                                                                                                                          | `false`                                                                                                                                               |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.readOnlyRootFilesystem`   | Set readOnlyRootFilesystem in Cilium Agent init-containers' Security Context                                                                                                                                                                                                | `true`                                                                                                                                                |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.privileged`               | Set privileged in Cilium Agent init-containers' Security Context                                                                                                                                                                                                            | `true`                                                                                                                                                |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.allowPrivilegeEscalation` | Set allowPrivilegeEscalation in Cilium Agent init-containers' Security Context                                                                                                                                                                                              | `true`                                                                                                                                                |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.capabilities.add`         | List of capabilities to be added in Cilium Agent init-containers                                                                                                                                                                                                            | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.capabilities.drop`        | List of capabilities to be dropped in Cilium Agent init-containers                                                                                                                                                                                                          | `[]`                                                                                                                                                  |
| `agent.defaultInitContainers.waitForKubeProxy.containerSecurityContext.seccompProfile.type`      | Set seccomp profile in Cilium Agent init-containers                                                                                                                                                                                                                         | `RuntimeDefault`                                                                                                                                      |
| `agent.defaultInitContainers.waitForKubeProxy.resourcesPreset`                                   | Set Cilium Agent "wait-for-kube-proxy" init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if agent.resources is set (agent.initContainerResources is recommended for production). | `nano`                                                                                                                                                |
| `agent.defaultInitContainers.waitForKubeProxy.resources`                                         | Set Cilium Agent "wait-for-kube-proxy" init container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                                   | `{}`                                                                                                                                                  |
| `agent.autoscaling.vpa.enabled`                                                                  | Enable VPA for Cilium Agent                                                                                                                                                                                                                                                 | `false`                                                                                                                                               |
| `agent.autoscaling.vpa.annotations`                                                              | Annotations for VPA resource                                                                                                                                                                                                                                                | `{}`                                                                                                                                                  |
| `agent.autoscaling.vpa.controlledResources`                                                      | List of resources that the VPA can control. Defaults to cpu and memory                                                                                                                                                                                                      | `[]`                                                                                                                                                  |
| `agent.autoscaling.vpa.maxAllowed`                                                               | VPA max allowed resources for the pod                                                                                                                                                                                                                                       | `{}`                                                                                                                                                  |
| `agent.autoscaling.vpa.minAllowed`                                                               | VPA min allowed resources for the pod                                                                                                                                                                                                                                       | `{}`                                                                                                                                                  |
| `agent.autoscaling.vpa.updatePolicy.updateMode`                                                  | Autoscaling update policy                                                                                                                                                                                                                                                   | `Auto`                                                                                                                                                |

### Cilium Agent RBAC configuration

| Name                                                | Description                                                           | Value  |
| --------------------------------------------------- | --------------------------------------------------------------------- | ------ |
| `agent.serviceAccount.create`                       | Specifies whether a ServiceAccount should be created for Cilium Agent | `true` |
| `agent.serviceAccount.name`                         | The name of the ServiceAccount to use for Cilium Agent                | `""`   |
| `agent.serviceAccount.annotations`                  | Additional Service Account annotations (evaluated as a template)      | `{}`   |
| `agent.serviceAccount.automountServiceAccountToken` | Automount ServiceAccount token                                        | `true` |
| `agent.rbac.create`                                 | Specifies whether RBAC resources should be created for Cilium Agent   | `true` |
| `agent.rbac.rules`                                  | Custom RBAC rules to set for Cilium Agent                             | `[]`   |

### Cilium Agent Service Parameters

| Name                                  | Description                                                                          | Value     |
| ------------------------------------- | ------------------------------------------------------------------------------------ | --------- |
| `agent.service.ports.hubblePeer`      | Cilium Agent service Hubble peer port                                                | `4244`    |
| `agent.service.extraPorts`            | Extra ports to expose in the service (normally used with the `agent.sidecars` value) | `[]`      |
| `agent.service.clusterIP`             | Cilium Agent service Cluster IP                                                      | `""`      |
| `agent.service.internalTrafficPolicy` | Cilium Agent service internal traffic policy                                         | `Cluster` |
| `agent.service.annotations`           | Annotations for the Cilium Agent service.                                            | `{}`      |

### Cilium Agent Network Policies Parameters

| Name                                          | Description                                                                                                     | Value  |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------ |
| `agent.networkPolicy.enabled`                 | Specifies whether a NetworkPolicy should be created for Cilium Agent                                            | `true` |
| `agent.networkPolicy.allowExternal`           | Don't require server label for connections                                                                      | `true` |
| `agent.networkPolicy.allowExternalEgress`     | Allow the Cilium Agent pods to access any range of port and all destinations.                                   | `true` |
| `agent.networkPolicy.addExternalClientAccess` | Allow access from pods with client label set to "true". Ignored if `agent.networkPolicy.allowExternal` is true. | `true` |
| `agent.networkPolicy.kubeAPIServerPorts`      | List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)              | `[]`   |
| `agent.networkPolicy.extraIngress`            | Add extra ingress rules to the NetworkPolicy                                                                    | `[]`   |
| `agent.networkPolicy.extraEgress`             | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)                              | `[]`   |
| `agent.networkPolicy.ingressPodMatchLabels`   | Labels to match to allow traffic from other pods. Ignored if `agent.networkPolicy.allowExternal` is true.       | `{}`   |
| `agent.networkPolicy.ingressNSMatchLabels`    | Labels to match to allow traffic from other namespaces                                                          | `{}`   |
| `agent.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces                                                      | `{}`   |

### Cilium Agent Metrics Parameters

| Name                                                   | Description                                                                                                  | Value   |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------- |
| `agent.metrics.enabled`                                | Enable the export of Prometheus metrics for Cilium Agent                                                     | `false` |
| `agent.metrics.service.port`                           | Cilium Agent metrics service port                                                                            | `9962`  |
| `agent.metrics.service.annotations`                    | Annotations for the Cilium Agent metrics service.                                                            | `{}`    |
| `agent.metrics.serviceMonitor.enabled`                 | if `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`)       | `false` |
| `agent.metrics.serviceMonitor.namespace`               | Namespace in which Prometheus is running                                                                     | `""`    |
| `agent.metrics.serviceMonitor.annotations`             | Additional custom annotations for the ServiceMonitor                                                         | `{}`    |
| `agent.metrics.serviceMonitor.labels`                  | Extra labels for the ServiceMonitor                                                                          | `{}`    |
| `agent.metrics.serviceMonitor.jobLabel`                | The name of the label on the target service to use as the job name in Prometheus                             | `""`    |
| `agent.metrics.serviceMonitor.honorLabels`             | honorLabels chooses the metric's labels on collisions with target labels                                     | `false` |
| `agent.metrics.serviceMonitor.interval`                | Interval at which metrics should be scraped.                                                                 | `""`    |
| `agent.metrics.serviceMonitor.scrapeTimeout`           | Timeout after which the scrape is ended                                                                      | `""`    |
| `agent.metrics.serviceMonitor.metricRelabelings`       | Specify additional relabeling of metrics                                                                     | `[]`    |
| `agent.metrics.serviceMonitor.relabelings`             | Specify general relabeling                                                                                   | `[]`    |
| `agent.metrics.serviceMonitor.selector`                | Prometheus instance selector labels                                                                          | `{}`    |
| `agent.hubbleMetrics.enabled`                          | Enable the export of Prometheus metrics for Hubble                                                           | `false` |
| `agent.hubbleMetrics.service.port`                     | Hubble metrics service port                                                                                  | `9965`  |
| `agent.hubbleMetrics.service.annotations`              | Annotations for the Hubble metrics service.                                                                  | `{}`    |
| `agent.hubbleMetrics.serviceMonitor.enabled`           | if `true`, creates a Prometheus Operator ServiceMonitor (also requires `hubbleMetrics.enabled` to be `true`) | `false` |
| `agent.hubbleMetrics.serviceMonitor.namespace`         | Namespace in which Prometheus is running                                                                     | `""`    |
| `agent.hubbleMetrics.serviceMonitor.annotations`       | Additional custom annotations for the ServiceMonitor                                                         | `{}`    |
| `agent.hubbleMetrics.serviceMonitor.labels`            | Extra labels for the ServiceMonitor                                                                          | `{}`    |
| `agent.hubbleMetrics.serviceMonitor.jobLabel`          | The name of the label on the target service to use as the job name in Prometheus                             | `""`    |
| `agent.hubbleMetrics.serviceMonitor.honorLabels`       | honorLabels chooses the metric's labels on collisions with target labels                                     | `false` |
| `agent.hubbleMetrics.serviceMonitor.interval`          | Interval at which metrics should be scraped.                                                                 | `""`    |
| `agent.hubbleMetrics.serviceMonitor.scrapeTimeout`     | Timeout after which the scrape is ended                                                                      | `""`    |
| `agent.hubbleMetrics.serviceMonitor.metricRelabelings` | Specify additional relabeling of metrics                                                                     | `[]`    |
| `agent.hubbleMetrics.serviceMonitor.relabelings`       | Specify general relabeling                                                                                   | `[]`    |
| `agent.hubbleMetrics.serviceMonitor.selector`          | Prometheus instance selector labels                                                                          | `{}`    |

### Cilium Operator Parameters

| Name                                                         | Description                                                                                                                                                                                                                                  | Value                    |
| ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `operator.image.registry`                                    | Cilium Operator image registry                                                                                                                                                                                                               | `REGISTRY_NAME`          |
| `operator.image.repository`                                  | Cilium Operator image repository                                                                                                                                                                                                             | `REPOSITORY_NAME/cilium` |
| `operator.image.digest`                                      | Cilium Operator image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)                                                                                   | `""`                     |
| `operator.image.pullPolicy`                                  | Cilium Operator image pull policy                                                                                                                                                                                                            | `IfNotPresent`           |
| `operator.image.pullSecrets`                                 | Cilium Operator image pull secrets                                                                                                                                                                                                           | `[]`                     |
| `operator.image.debug`                                       | Enable Cilium Operator image debug mode                                                                                                                                                                                                      | `false`                  |
| `operator.replicaCount`                                      | Number of Cilium Operator replicas to deploy                                                                                                                                                                                                 | `1`                      |
| `operator.containerPorts.api`                                | Cilium Operator API container port                                                                                                                                                                                                           | `9234`                   |
| `operator.containerPorts.pprof`                              | Cilium Operator pprof container port                                                                                                                                                                                                         | `6061`                   |
| `operator.containerPorts.metrics`                            | Cilium Operator metrics container port                                                                                                                                                                                                       | `9963`                   |
| `operator.extraContainerPorts`                               | Optionally specify extra list of additional ports for Cilium Operator containers                                                                                                                                                             | `[]`                     |
| `operator.hostNetwork`                                       | Enable Host Network                                                                                                                                                                                                                          | `true`                   |
| `operator.livenessProbe.enabled`                             | Enable livenessProbe on Cilium Operator containers                                                                                                                                                                                           | `true`                   |
| `operator.livenessProbe.initialDelaySeconds`                 | Initial delay seconds for livenessProbe                                                                                                                                                                                                      | `10`                     |
| `operator.livenessProbe.periodSeconds`                       | Period seconds for livenessProbe                                                                                                                                                                                                             | `30`                     |
| `operator.livenessProbe.timeoutSeconds`                      | Timeout seconds for livenessProbe                                                                                                                                                                                                            | `5`                      |
| `operator.livenessProbe.failureThreshold`                    | Failure threshold for livenessProbe                                                                                                                                                                                                          | `10`                     |
| `operator.livenessProbe.successThreshold`                    | Success threshold for livenessProbe                                                                                                                                                                                                          | `1`                      |
| `operator.readinessProbe.enabled`                            | Enable readinessProbe on Cilium Operator containers                                                                                                                                                                                          | `true`                   |
| `operator.readinessProbe.initialDelaySeconds`                | Initial delay seconds for readinessProbe                                                                                                                                                                                                     | `10`                     |
| `operator.readinessProbe.periodSeconds`                      | Period seconds for readinessProbe                                                                                                                                                                                                            | `30`                     |
| `operator.readinessProbe.timeoutSeconds`                     | Timeout seconds for readinessProbe                                                                                                                                                                                                           | `5`                      |
| `operator.readinessProbe.failureThreshold`                   | Failure threshold for readinessProbe                                                                                                                                                                                                         | `3`                      |
| `operator.readinessProbe.successThreshold`                   | Success threshold for readinessProbe                                                                                                                                                                                                         | `1`                      |
| `operator.startupProbe.enabled`                              | Enable startupProbe on Cilium Operator containers                                                                                                                                                                                            | `false`                  |
| `operator.startupProbe.initialDelaySeconds`                  | Initial delay seconds for startupProbe                                                                                                                                                                                                       | `5`                      |
| `operator.startupProbe.periodSeconds`                        | Period seconds for startupProbe                                                                                                                                                                                                              | `2`                      |
| `operator.startupProbe.timeoutSeconds`                       | Timeout seconds for startupProbe                                                                                                                                                                                                             | `1`                      |
| `operator.startupProbe.failureThreshold`                     | Failure threshold for startupProbe                                                                                                                                                                                                           | `100`                    |
| `operator.startupProbe.successThreshold`                     | Success threshold for startupProbe                                                                                                                                                                                                           | `1`                      |
| `operator.customLivenessProbe`                               | Custom livenessProbe that overrides the default one                                                                                                                                                                                          | `{}`                     |
| `operator.customReadinessProbe`                              | Custom readinessProbe that overrides the default one                                                                                                                                                                                         | `{}`                     |
| `operator.customStartupProbe`                                | Custom startupProbe that overrides the default one                                                                                                                                                                                           | `{}`                     |
| `operator.resourcesPreset`                                   | Set Cilium Operator container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if operator.resources is set (operator.resources is recommended for production). | `micro`                  |
| `operator.resources`                                         | Set Cilium Operator container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                            | `{}`                     |
| `operator.podSecurityContext.enabled`                        | Enable Cilium Operator pods' Security Context                                                                                                                                                                                                | `true`                   |
| `operator.podSecurityContext.fsGroupChangePolicy`            | Set filesystem group change policy for Cilium Operator pods                                                                                                                                                                                  | `Always`                 |
| `operator.podSecurityContext.sysctls`                        | Set kernel settings using the sysctl interface for Cilium Operator pods                                                                                                                                                                      | `[]`                     |
| `operator.podSecurityContext.supplementalGroups`             | Set filesystem extra groups for Cilium Operator pods                                                                                                                                                                                         | `[]`                     |
| `operator.podSecurityContext.fsGroup`                        | Set fsGroup in Cilium Operator pods' Security Context                                                                                                                                                                                        | `1001`                   |
| `operator.containerSecurityContext.enabled`                  | Enabled Cilium Operator container' Security Context                                                                                                                                                                                          | `true`                   |
| `operator.containerSecurityContext.seLinuxOptions`           | Set SELinux options in Cilium Operator container                                                                                                                                                                                             | `{}`                     |
| `operator.containerSecurityContext.runAsUser`                | Set runAsUser in Cilium Operator container' Security Context                                                                                                                                                                                 | `1001`                   |
| `operator.containerSecurityContext.runAsGroup`               | Set runAsUser in Cilium Operator container' Security Context                                                                                                                                                                                 | `1001`                   |
| `operator.containerSecurityContext.runAsNonRoot`             | Set runAsNonRoot in Cilium Operator container' Security Context                                                                                                                                                                              | `true`                   |
| `operator.containerSecurityContext.readOnlyRootFilesystem`   | Set readOnlyRootFilesystem in Cilium Operator container' Security Context                                                                                                                                                                    | `true`                   |
| `operator.containerSecurityContext.privileged`               | Set privileged in Cilium Operator container' Security Context                                                                                                                                                                                | `false`                  |
| `operator.containerSecurityContext.allowPrivilegeEscalation` | Set allowPrivilegeEscalation in Cilium Operator container' Security Context                                                                                                                                                                  | `false`                  |
| `operator.containerSecurityContext.capabilities.drop`        | List of capabilities to be dropped in Cilium Operator container                                                                                                                                                                              | `["ALL"]`                |
| `operator.containerSecurityContext.seccompProfile.type`      | Set seccomp profile in Cilium Operator container                                                                                                                                                                                             | `RuntimeDefault`         |
| `operator.enablePprof`                                       | Enable pprof for Cilium Operator                                                                                                                                                                                                             | `false`                  |
| `operator.command`                                           | Override default Cilium Operator container command (useful when using custom images)                                                                                                                                                         | `[]`                     |
| `operator.args`                                              | Override default Cilium Operator container args (useful when using custom images)                                                                                                                                                            | `[]`                     |
| `operator.automountServiceAccountToken`                      | Mount Service Account token in Cilium Operator pods                                                                                                                                                                                          | `true`                   |
| `operator.hostAliases`                                       | Cilium Operator pods host aliases                                                                                                                                                                                                            | `[]`                     |
| `operator.deploymentAnnotations`                             | Annotations for Cilium Operator deployment                                                                                                                                                                                                   | `{}`                     |
| `operator.podLabels`                                         | Extra labels for Cilium Operator pods                                                                                                                                                                                                        | `{}`                     |
| `operator.podAnnotations`                                    | Annotations for Cilium Operator pods                                                                                                                                                                                                         | `{}`                     |
| `operator.podAffinityPreset`                                 | Pod affinity preset. Ignored if `operator.affinity` is set. Allowed values: `soft` or `hard`                                                                                                                                                 | `""`                     |
| `operator.podAntiAffinityPreset`                             | Pod anti-affinity preset. Ignored if `operator.affinity` is set. Allowed values: `soft` or `hard`                                                                                                                                            | `soft`                   |
| `operator.nodeAffinityPreset.type`                           | Node affinity preset type. Ignored if `operator.affinity` is set. Allowed values: `soft` or `hard`                                                                                                                                           | `""`                     |
| `operator.nodeAffinityPreset.key`                            | Node label key to match. Ignored if `operator.affinity` is set                                                                                                                                                                               | `""`                     |
| `operator.nodeAffinityPreset.values`                         | Node label values to match. Ignored if `operator.affinity` is set                                                                                                                                                                            | `[]`                     |
| `operator.affinity`                                          | Affinity for Cilium Operator pods assignment                                                                                                                                                                                                 | `{}`                     |
| `operator.nodeSelector`                                      | Node labels for Cilium Operator pods assignment                                                                                                                                                                                              | `{}`                     |
| `operator.tolerations`                                       | Tolerations for Cilium Operator pods assignment                                                                                                                                                                                              | `[]`                     |
| `operator.updateStrategy.type`                               | Cilium Operator deployment update strategy type                                                                                                                                                                                              | `RollingUpdate`          |
| `operator.priorityClassName`                                 | Cilium Operator pods' priorityClassName                                                                                                                                                                                                      | `""`                     |
| `operator.topologySpreadConstraints`                         | Topology Spread Constraints for Cilium Operator pod assignment spread across your cluster among failure-domains                                                                                                                              | `[]`                     |
| `operator.schedulerName`                                     | Name of the k8s scheduler (other than default) for Cilium Operator pods                                                                                                                                                                      | `""`                     |
| `operator.terminationGracePeriodSeconds`                     | Seconds Cilium Operator pods need to terminate gracefully                                                                                                                                                                                    | `1`                      |
| `operator.lifecycleHooks`                                    | for Cilium Operator containers to automate configuration before or after startup                                                                                                                                                             | `{}`                     |
| `operator.extraEnvVars`                                      | Array with extra environment variables to add to Cilium Operator containers                                                                                                                                                                  | `[]`                     |
| `operator.extraEnvVarsCM`                                    | Name of existing ConfigMap containing extra env vars for Cilium Operator containers                                                                                                                                                          | `""`                     |
| `operator.extraEnvVarsSecret`                                | Name of existing Secret containing extra env vars for Cilium Operator containers                                                                                                                                                             | `""`                     |
| `operator.extraVolumes`                                      | Optionally specify extra list of additional volumes for the Cilium Operator pods                                                                                                                                                             | `[]`                     |
| `operator.extraVolumeMounts`                                 | Optionally specify extra list of additional volumeMounts for the Cilium Operator containers                                                                                                                                                  | `[]`                     |
| `operator.sidecars`                                          | Add additional sidecar containers to the Cilium Operator pods                                                                                                                                                                                | `[]`                     |
| `operator.initContainers`                                    | Add additional init containers to the Cilium Operator pods                                                                                                                                                                                   | `[]`                     |
| `operator.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                              | `true`                   |
| `operator.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                               | `""`                     |
| `operator.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `operator.pdb.minAvailable` and `operator.pdb.maxUnavailable` are empty.                                                                             | `""`                     |
| `operator.autoscaling.vpa.enabled`                           | Enable VPA for Cilium Operator                                                                                                                                                                                                               | `false`                  |
| `operator.autoscaling.vpa.annotations`                       | Annotations for VPA resource                                                                                                                                                                                                                 | `{}`                     |
| `operator.autoscaling.vpa.controlledResources`               | List of resources that the VPA can control. Defaults to cpu and memory                                                                                                                                                                       | `[]`                     |
| `operator.autoscaling.vpa.maxAllowed`                        | VPA max allowed resources for the pod                                                                                                                                                                                                        | `{}`                     |
| `operator.autoscaling.vpa.minAllowed`                        | VPA min allowed resources for the pod                                                                                                                                                                                                        | `{}`                     |
| `operator.autoscaling.vpa.updatePolicy.updateMode`           | Autoscaling update policy                                                                                                                                                                                                                    | `Auto`                   |
| `operator.autoscaling.hpa.enabled`                           | Enable HPA                                                                                                                                                                                                                                   | `false`                  |
| `operator.autoscaling.hpa.minReplicas`                       | Minimum number of replicas                                                                                                                                                                                                                   | `""`                     |
| `operator.autoscaling.hpa.maxReplicas`                       | Maximum number of replicas                                                                                                                                                                                                                   | `""`                     |
| `operator.autoscaling.hpa.targetCPU`                         | Target CPU utilization percentage                                                                                                                                                                                                            | `""`                     |
| `operator.autoscaling.hpa.targetMemory`                      | Target Memory utilization percentage                                                                                                                                                                                                         | `""`                     |

### Cilium Operator RBAC configuration

| Name                                                   | Description                                                              | Value  |
| ------------------------------------------------------ | ------------------------------------------------------------------------ | ------ |
| `operator.serviceAccount.create`                       | Specifies whether a ServiceAccount should be created for Cilium Operator | `true` |
| `operator.serviceAccount.name`                         | The name of the ServiceAccount to use for Cilium Operator                | `""`   |
| `operator.serviceAccount.annotations`                  | Additional Service Account annotations (evaluated as a template)         | `{}`   |
| `operator.serviceAccount.automountServiceAccountToken` | Automount ServiceAccount token                                           | `true` |
| `operator.rbac.create`                                 | Specifies whether RBAC resources should be created for Cilium Operator   | `true` |
| `operator.rbac.rules`                                  | Custom RBAC rules to set for Cilium Operator                             | `[]`   |

### Cilium Operator Network Policies Parameters

| Name                                             | Description                                                                                                        | Value  |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------ |
| `operator.networkPolicy.enabled`                 | Specifies whether a NetworkPolicy should be created for Cilium Operator                                            | `true` |
| `operator.networkPolicy.allowExternal`           | Don't require server label for connections                                                                         | `true` |
| `operator.networkPolicy.allowExternalEgress`     | Allow the Cilium Operator pods to access any range of port and all destinations.                                   | `true` |
| `operator.networkPolicy.addExternalClientAccess` | Allow access from pods with client label set to "true". Ignored if `operator.networkPolicy.allowExternal` is true. | `true` |
| `operator.networkPolicy.kubeAPIServerPorts`      | List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)                 | `[]`   |
| `operator.networkPolicy.extraIngress`            | Add extra ingress rules to the NetworkPolicy                                                                       | `[]`   |
| `operator.networkPolicy.extraEgress`             | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)                                 | `[]`   |
| `operator.networkPolicy.ingressPodMatchLabels`   | Labels to match to allow traffic from other pods. Ignored if `operator.networkPolicy.allowExternal` is true.       | `{}`   |
| `operator.networkPolicy.ingressNSMatchLabels`    | Labels to match to allow traffic from other namespaces                                                             | `{}`   |
| `operator.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces                                                         | `{}`   |

### Cilium Operator Metrics Parameters

| Name                                                | Description                                                                                            | Value   |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------- |
| `operator.metrics.enabled`                          | Enable the export of Prometheus metrics                                                                | `false` |
| `operator.metrics.service.port`                     | Metrics service port                                                                                   | `9963`  |
| `operator.metrics.service.annotations`              | Annotations for the metrics service.                                                                   | `{}`    |
| `operator.metrics.serviceMonitor.enabled`           | if `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` |
| `operator.metrics.serviceMonitor.namespace`         | Namespace in which Prometheus is running                                                               | `""`    |
| `operator.metrics.serviceMonitor.annotations`       | Additional custom annotations for the ServiceMonitor                                                   | `{}`    |
| `operator.metrics.serviceMonitor.labels`            | Extra labels for the ServiceMonitor                                                                    | `{}`    |
| `operator.metrics.serviceMonitor.jobLabel`          | The name of the label on the target service to use as the job name in Prometheus                       | `""`    |
| `operator.metrics.serviceMonitor.honorLabels`       | honorLabels chooses the metric's labels on collisions with target labels                               | `false` |
| `operator.metrics.serviceMonitor.interval`          | Interval at which metrics should be scraped.                                                           | `""`    |
| `operator.metrics.serviceMonitor.scrapeTimeout`     | Timeout after which the scrape is ended                                                                | `""`    |
| `operator.metrics.serviceMonitor.metricRelabelings` | Specify additional relabeling of metrics                                                               | `[]`    |
| `operator.metrics.serviceMonitor.relabelings`       | Specify general relabeling                                                                             | `[]`    |
| `operator.metrics.serviceMonitor.selector`          | Prometheus instance selector labels                                                                    | `{}`    |

### Cilium Envoy Parameters

| Name                                                      | Description                                                                                                                                                                                                                         | Value                                       |
| --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| `envoy.image.registry`                                    | Cilium Proxy image registry                                                                                                                                                                                                         | `REGISTRY_NAME`                             |
| `envoy.image.repository`                                  | Cilium Proxy image repository                                                                                                                                                                                                       | `REPOSITORY_NAME/cilium`                    |
| `envoy.image.digest`                                      | Cilium Proxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)                                                                             | `""`                                        |
| `envoy.image.pullPolicy`                                  | Cilium Proxy image pull policy                                                                                                                                                                                                      | `IfNotPresent`                              |
| `envoy.image.pullSecrets`                                 | Cilium Proxy image pull secrets                                                                                                                                                                                                     | `[]`                                        |
| `envoy.image.debug`                                       | Enable Cilium Proxy image debug mode                                                                                                                                                                                                | `false`                                     |
| `envoy.containerPorts.health`                             | Cilium Envoy health container port                                                                                                                                                                                                  | `9878`                                      |
| `envoy.containerPorts.metrics`                            | Cilium Envoy metrics container port                                                                                                                                                                                                 | `9964`                                      |
| `envoy.extraContainerPorts`                               | Optionally specify extra list of additional ports for Cilium Envoy containers                                                                                                                                                       | `[]`                                        |
| `envoy.livenessProbe.enabled`                             | Enable livenessProbe on Cilium Envoy containers                                                                                                                                                                                     | `true`                                      |
| `envoy.livenessProbe.initialDelaySeconds`                 | Initial delay seconds for livenessProbe                                                                                                                                                                                             | `10`                                        |
| `envoy.livenessProbe.periodSeconds`                       | Period seconds for livenessProbe                                                                                                                                                                                                    | `30`                                        |
| `envoy.livenessProbe.timeoutSeconds`                      | Timeout seconds for livenessProbe                                                                                                                                                                                                   | `5`                                         |
| `envoy.livenessProbe.failureThreshold`                    | Failure threshold for livenessProbe                                                                                                                                                                                                 | `10`                                        |
| `envoy.livenessProbe.successThreshold`                    | Success threshold for livenessProbe                                                                                                                                                                                                 | `1`                                         |
| `envoy.readinessProbe.enabled`                            | Enable readinessProbe on Cilium Envoy containers                                                                                                                                                                                    | `true`                                      |
| `envoy.readinessProbe.initialDelaySeconds`                | Initial delay seconds for readinessProbe                                                                                                                                                                                            | `10`                                        |
| `envoy.readinessProbe.periodSeconds`                      | Period seconds for readinessProbe                                                                                                                                                                                                   | `30`                                        |
| `envoy.readinessProbe.timeoutSeconds`                     | Timeout seconds for readinessProbe                                                                                                                                                                                                  | `5`                                         |
| `envoy.readinessProbe.failureThreshold`                   | Failure threshold for readinessProbe                                                                                                                                                                                                | `3`                                         |
| `envoy.readinessProbe.successThreshold`                   | Success threshold for readinessProbe                                                                                                                                                                                                | `1`                                         |
| `envoy.startupProbe.enabled`                              | Enable startupProbe on Cilium Envoy containers                                                                                                                                                                                      | `false`                                     |
| `envoy.startupProbe.initialDelaySeconds`                  | Initial delay seconds for startupProbe                                                                                                                                                                                              | `5`                                         |
| `envoy.startupProbe.periodSeconds`                        | Period seconds for startupProbe                                                                                                                                                                                                     | `2`                                         |
| `envoy.startupProbe.timeoutSeconds`                       | Timeout seconds for startupProbe                                                                                                                                                                                                    | `1`                                         |
| `envoy.startupProbe.failureThreshold`                     | Failure threshold for startupProbe                                                                                                                                                                                                  | `100`                                       |
| `envoy.startupProbe.successThreshold`                     | Success threshold for startupProbe                                                                                                                                                                                                  | `1`                                         |
| `envoy.customLivenessProbe`                               | Custom livenessProbe that overrides the default one                                                                                                                                                                                 | `{}`                                        |
| `envoy.customReadinessProbe`                              | Custom readinessProbe that overrides the default one                                                                                                                                                                                | `{}`                                        |
| `envoy.customStartupProbe`                                | Custom startupProbe that overrides the default one                                                                                                                                                                                  | `{}`                                        |
| `envoy.resourcesPreset`                                   | Set Cilium Envoy container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if envoy.resources is set (envoy.resources is recommended for production). | `micro`                                     |
| `envoy.resources`                                         | Set Cilium Envoy container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                                      | `{}`                                        |
| `envoy.podSecurityContext.enabled`                        | Enable Cilium Envoy pods' Security Context                                                                                                                                                                                          | `true`                                      |
| `envoy.podSecurityContext.fsGroupChangePolicy`            | Set filesystem group change policy for Cilium Envoy pods                                                                                                                                                                            | `Always`                                    |
| `envoy.podSecurityContext.sysctls`                        | Set kernel settings using the sysctl interface for Cilium Envoy pods                                                                                                                                                                | `[]`                                        |
| `envoy.podSecurityContext.supplementalGroups`             | Set filesystem extra groups for Cilium Envoy pods                                                                                                                                                                                   | `[]`                                        |
| `envoy.podSecurityContext.fsGroup`                        | Set fsGroup in Cilium Envoy pods' Security Context                                                                                                                                                                                  | `0`                                         |
| `envoy.containerSecurityContext.enabled`                  | Enabled Cilium Envoy container' Security Context                                                                                                                                                                                    | `true`                                      |
| `envoy.containerSecurityContext.seLinuxOptions`           | Set SELinux options in Cilium Envoy container                                                                                                                                                                                       | `undefined`                                 |
| `envoy.containerSecurityContext.runAsUser`                | Set runAsUser in Cilium Envoy container' Security Context                                                                                                                                                                           | `0`                                         |
| `envoy.containerSecurityContext.runAsGroup`               | Set runAsUser in Cilium Envoy container' Security Context                                                                                                                                                                           | `0`                                         |
| `envoy.containerSecurityContext.runAsNonRoot`             | Set runAsNonRoot in Cilium Envoy container' Security Context                                                                                                                                                                        | `false`                                     |
| `envoy.containerSecurityContext.readOnlyRootFilesystem`   | Set readOnlyRootFilesystem in Cilium Envoy container' Security Context                                                                                                                                                              | `true`                                      |
| `envoy.containerSecurityContext.privileged`               | Set privileged in Cilium Envoy container' Security Context                                                                                                                                                                          | `false`                                     |
| `envoy.containerSecurityContext.allowPrivilegeEscalation` | Set allowPrivilegeEscalation in Cilium Envoy container' Security Context                                                                                                                                                            | `false`                                     |
| `envoy.containerSecurityContext.capabilities.add`         | List of capabilities to be added in Cilium Envoy container                                                                                                                                                                          | `["BPF","NET_ADMIN","PERFMON","SYS_ADMIN"]` |
| `envoy.containerSecurityContext.capabilities.drop`        | List of capabilities to be dropped in Cilium Envoy container                                                                                                                                                                        | `["ALL"]`                                   |
| `envoy.containerSecurityContext.seccompProfile.type`      | Set seccomp profile in Cilium Envoy container                                                                                                                                                                                       | `RuntimeDefault`                            |
| `envoy.configuration`                                     | Specify content for Cilium Envoy configuration (basic one auto-generated based on other values otherwise)                                                                                                                           | `{}`                                        |
| `envoy.overrideConfiguration`                             | Cilium Envoy configuration override. Values defined here takes precedence over the ones defined at `envoy.configuration`                                                                                                            | `{}`                                        |
| `envoy.existingConfigmap`                                 | The name of an existing ConfigMap with your custom Cilium Envoy configuration                                                                                                                                                       | `""`                                        |
| `envoy.logLevel`                                          | Cilium Envoy log level                                                                                                                                                                                                              | `info`                                      |
| `envoy.command`                                           | Override default Cilium Envoy container command (useful when using custom images)                                                                                                                                                   | `[]`                                        |
| `envoy.args`                                              | Override default Cilium Envoy container args (useful when using custom images)                                                                                                                                                      | `[]`                                        |
| `envoy.extraArgs`                                         | Extra args passed to Cilium Envoy container                                                                                                                                                                                         | `[]`                                        |
| `envoy.automountServiceAccountToken`                      | Mount Service Account token in Cilium Envoy pods                                                                                                                                                                                    | `true`                                      |
| `envoy.hostAliases`                                       | Cilium Envoy pods host aliases                                                                                                                                                                                                      | `[]`                                        |
| `envoy.daemonsetAnnotations`                              | Annotations for Cilium Envoy daemonset                                                                                                                                                                                              | `{}`                                        |
| `envoy.podLabels`                                         | Extra labels for Cilium Envoy pods                                                                                                                                                                                                  | `{}`                                        |
| `envoy.podAnnotations`                                    | Annotations for Cilium Envoy pods                                                                                                                                                                                                   | `{}`                                        |
| `envoy.nodeAffinityPreset.type`                           | Node affinity preset type. Ignored if `envoy.affinity` is set. Allowed values: `soft` or `hard`                                                                                                                                     | `""`                                        |
| `envoy.nodeAffinityPreset.key`                            | Node label key to match. Ignored if `envoy.affinity` is set                                                                                                                                                                         | `""`                                        |
| `envoy.nodeAffinityPreset.values`                         | Node label values to match. Ignored if `envoy.affinity` is set                                                                                                                                                                      | `[]`                                        |
| `envoy.affinity`                                          | Affinity for Cilium Envoy pods assignment                                                                                                                                                                                           | `{}`                                        |
| `envoy.nodeSelector`                                      | Node labels for Cilium Envoy pods assignment                                                                                                                                                                                        | `{}`                                        |
| `envoy.tolerations`                                       | Tolerations for Cilium Envoy pods assignment                                                                                                                                                                                        | `[]`                                        |
| `envoy.updateStrategy.type`                               | Cilium Envoy daemonset update strategy type                                                                                                                                                                                         | `RollingUpdate`                             |
| `envoy.priorityClassName`                                 | Cilium Envoy pods' priorityClassName                                                                                                                                                                                                | `""`                                        |
| `envoy.terminationGracePeriodSeconds`                     | Seconds Cilium Envoy pods need to terminate gracefully                                                                                                                                                                              | `1`                                         |
| `envoy.lifecycleHooks`                                    | for Cilium Envoy containers to automate configuration before or after startup                                                                                                                                                       | `{}`                                        |
| `envoy.extraEnvVars`                                      | Array with extra environment variables to add to Cilium Envoy containers                                                                                                                                                            | `[]`                                        |
| `envoy.extraEnvVarsCM`                                    | Name of existing ConfigMap containing extra env vars for Cilium Envoy containers                                                                                                                                                    | `""`                                        |
| `envoy.extraEnvVarsSecret`                                | Name of existing Secret containing extra env vars for Cilium Envoy containers                                                                                                                                                       | `""`                                        |
| `envoy.extraVolumes`                                      | Optionally specify extra list of additional volumes for the Cilium Envoy pods                                                                                                                                                       | `[]`                                        |
| `envoy.extraVolumeMounts`                                 | Optionally specify extra list of additional volumeMounts for the Cilium Envoy containers                                                                                                                                            | `[]`                                        |
| `envoy.sidecars`                                          | Add additional sidecar containers to the Cilium Envoy pods                                                                                                                                                                          | `[]`                                        |
| `envoy.initContainers`                                    | Add additional init containers to the Cilium Envoy pods                                                                                                                                                                             | `[]`                                        |
| `envoy.autoscaling.vpa.enabled`                           | Enable VPA for Cilium Envoy                                                                                                                                                                                                         | `false`                                     |
| `envoy.autoscaling.vpa.annotations`                       | Annotations for VPA resource                                                                                                                                                                                                        | `{}`                                        |
| `envoy.autoscaling.vpa.controlledResources`               | List of resources that the VPA can control. Defaults to cpu and memory                                                                                                                                                              | `[]`                                        |
| `envoy.autoscaling.vpa.maxAllowed`                        | VPA max allowed resources for the pod                                                                                                                                                                                               | `{}`                                        |
| `envoy.autoscaling.vpa.minAllowed`                        | VPA min allowed resources for the pod                                                                                                                                                                                               | `{}`                                        |
| `envoy.autoscaling.vpa.updatePolicy.updateMode`           | Autoscaling update policy                                                                                                                                                                                                           | `Auto`                                      |

### Cilium Envoy ServiceAccount configuration

| Name                                                | Description                                                           | Value  |
| --------------------------------------------------- | --------------------------------------------------------------------- | ------ |
| `envoy.serviceAccount.create`                       | Specifies whether a ServiceAccount should be created for Cilium Envoy | `true` |
| `envoy.serviceAccount.name`                         | The name of the ServiceAccount to use for Cilium Envoy                | `""`   |
| `envoy.serviceAccount.annotations`                  | Additional Service Account annotations (evaluated as a template)      | `{}`   |
| `envoy.serviceAccount.automountServiceAccountToken` | Automount ServiceAccount token                                        | `true` |

### Cilium Envoy Network Policies Parameters

| Name                                          | Description                                                                                                     | Value  |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------ |
| `envoy.networkPolicy.enabled`                 | Specifies whether a NetworkPolicy should be created for Cilium Envoy                                            | `true` |
| `envoy.networkPolicy.allowExternal`           | Don't require server label for connections                                                                      | `true` |
| `envoy.networkPolicy.allowExternalEgress`     | Allow the Cilium Envoy pods to access any range of port and all destinations.                                   | `true` |
| `envoy.networkPolicy.addExternalClientAccess` | Allow access from pods with client label set to "true". Ignored if `envoy.networkPolicy.allowExternal` is true. | `true` |
| `envoy.networkPolicy.extraIngress`            | Add extra ingress rules to the NetworkPolicy                                                                    | `[]`   |
| `envoy.networkPolicy.extraEgress`             | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)                              | `[]`   |
| `envoy.networkPolicy.ingressPodMatchLabels`   | Labels to match to allow traffic from other pods. Ignored if `envoy.networkPolicy.allowExternal` is true.       | `{}`   |
| `envoy.networkPolicy.ingressNSMatchLabels`    | Labels to match to allow traffic from other namespaces                                                          | `{}`   |
| `envoy.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces                                                      | `{}`   |

### Cilium Envoy Metrics Parameters

| Name                                             | Description                                                                                            | Value   |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------- |
| `envoy.metrics.enabled`                          | Enable the export of Prometheus metrics for Cilium Envoy                                               | `false` |
| `envoy.metrics.service.port`                     | Cilium Envoy metrics service port                                                                      | `9964`  |
| `envoy.metrics.service.annotations`              | Annotations for the Cilium Envoy metrics service.                                                      | `{}`    |
| `envoy.metrics.serviceMonitor.enabled`           | if `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` |
| `envoy.metrics.serviceMonitor.namespace`         | Namespace in which Prometheus is running                                                               | `""`    |
| `envoy.metrics.serviceMonitor.annotations`       | Additional custom annotations for the ServiceMonitor                                                   | `{}`    |
| `envoy.metrics.serviceMonitor.labels`            | Extra labels for the ServiceMonitor                                                                    | `{}`    |
| `envoy.metrics.serviceMonitor.jobLabel`          | The name of the label on the target service to use as the job name in Prometheus                       | `""`    |
| `envoy.metrics.serviceMonitor.honorLabels`       | honorLabels chooses the metric's labels on collisions with target labels                               | `false` |
| `envoy.metrics.serviceMonitor.interval`          | Interval at which metrics should be scraped.                                                           | `""`    |
| `envoy.metrics.serviceMonitor.scrapeTimeout`     | Timeout after which the scrape is ended                                                                | `""`    |
| `envoy.metrics.serviceMonitor.metricRelabelings` | Specify additional relabeling of metrics                                                               | `[]`    |
| `envoy.metrics.serviceMonitor.relabelings`       | Specify general relabeling                                                                             | `[]`    |
| `envoy.metrics.serviceMonitor.selector`          | Prometheus instance selector labels                                                                    | `{}`    |

### Key-Value Store Parameters

| Name                        | Description                                                                                                                                                                                                | Value   |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `etcd.enabled`              | Deploy etcd to satisfy the key-value store requirements                                                                                                                                                    | `false` |
| `etcd.replicaCount`         | Number of etcd replicas                                                                                                                                                                                    | `1`     |
| `etcd.auth.rbac.create`     | Switch to enable RBAC authentication                                                                                                                                                                       | `false` |
| `etcd.resourcesPreset`      | Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). | `micro` |
| `etcd.resources`            | Set container requests and limits for different resources like CPU or memory (essential for production workloads)                                                                                          | `{}`    |
| `etcd.service.ports.client` | etcd client port                                                                                                                                                                                           | `2379`  |
| `externalKvstore.enabled`   | Use an externally managed kvstore                                                                                                                                                                          | `false` |
| `externalKvstore.endpoints` | List of endpoints to connect to the external kvstore                                                                                                                                                       | `[]`    |

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

```console
helm install my-release -f values.yaml oci://REGISTRY_NAME/REPOSITORY_NAME/cilium
```

> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`.
> **Tip**: You can use the default [values.yaml](https://github.com/bitnami/charts/blob/main/template/cilium/values.yaml)

## Troubleshooting

Find more information about how to deal with common errors related to Bitnami's Helm charts in [this troubleshooting guide](https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues).

## License

Copyright &copy; 2024 Broadcom. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

<http://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.