Edge Delta Agent Helm Values
19 minute read
The following helm values can be customized:
Agent pullPolicy
Variable: agentProps.image.pullPolicy
Description: The agentProps.image.pullPolicy
value defines the conditions under which the agent container image should be pulled from a registry. Values can be:
Always
: The image will be pulled every time the pod starts. This ensures that you always use the latest version of the image even if it’s already present on the node.IfNotPresent
: The image will be pulled only if it is not already present on the node. This can reduce network bandwidth and speed up deployments for images that don’t change frequently.Never
: The image will never be pulled, and you rely on the image being pre-installed on the node.
The default value is IfNotPresent
.
Example:
--set agentProps.image.pullPolicy=Always
You can describe the pod to confirm the value was applied:
kubectl describe pod <pod-name>
Annotations
Variable: annotations
Description: The annotations
value enables you to add custom annotations to the pods or other Kubernetes objects created by the Helm chart. Annotations can provide metadata that can be used by various tools and processes within the Kubernetes ecosystem.
Example:
--set annotations.example\.com/annotation="my-value"
You can run this command to confirm the annotations:
kubectl describe pods -l app.kubernetes.io/name=edgedelta -n edgedelta
API Key
Variable: apiKey
or secretApiKey
Description: The apiKey
is a plaintext key used to access the Pipeline configuration in Edge Delta. The secretApiKey
is used to alter the kubernetes Secret name and key. To provide a Pipeline ID to the Fleet, you should use either the apiKey
or use a Kubernetes Secret, but not both. By default, ed-api-key
is the secret’s name
and key
.
Note: Passing in a secret in plain text using
apiKey
is not recommended for production due to security concerns. See an example of using a secrets management tool.
Example:
This command creates a Kubernetes secret in the edgedelta namespace, with ed-api-key
as the secret’s name
and key
, and 12345678987654321
as the secret’s value.
helm upgrade edgedelta edgedelta/edgedelta -i --version v1.17.0 --set secretApiKey.value=12345678987654321 -n edgedelta --create-namespace
You can run this command to retrieve the secret value:
kubectl get secret -n edgedelta ed-api-key -o jsonpath="{.data['ed-api-key']}" | base64 --decode
Deployment - Autoscaling and Replicas
The Deployment - Autoscaling section encompasses various configurations for enabling and fine-tuning the Horizontal Pod Autoscaler (HPA) behavior in an Edge Delta deployment. Autoscaling allows your deployment to dynamically adjust the number of replica processor pods based on resource utilization metrics such as CPU and memory usage, or custom metrics. The provided example demonstrates a comprehensive setup that integrates several autoscaling parameters.
Note: Changing the deployment kind to
Deployment
is a requirement for enabling Horizontal Pod Autoscaling (HPA). The defaultDaemonSet
deployment kind does not support dynamic scaling out and in based on resource utilization because its primary goal is to maintain one pod per node rather than reacting to fluctuating loads.
Note: The rollup and Compactor Agents have their own autoscaling parameters.
To install Edge Delta with deployment autoscaling:
helm upgrade edgedelta edgedelta/edgedelta -i --version v1.17.0 \
--set secretApiKey.value=12345678987654321 \
--set deployment.kind=Deployment \
--set deployment.autoscaling.enabled=true \
--set deployment.autoscaling.minReplicas=1 \
--set deployment.autoscaling.maxReplicas=5 \
--set deployment.autoscaling.targetForCPUUtilizationPercentage=80 \
--set deployment.autoscaling.behavior.scaleDown.stabilizationWindowSeconds=300 \
-n edgedelta --create-namespace
This command installs the Edge Delta agent with a Horizontal Pod Autoscaler (HPA) enabled, setting the minimum replica count to 1 and the maximum to 5. The HPA is configured to scale based on CPU utilization, targeting an 80% average usage. Additionally, it applies a 300-second stabilization window to prevent frequent scaling down due to temporary spikes.
To verify autoscaling:
kubectl get hpa -n edgedelta
kubectl describe hpa -n edgedelta
Each part of the autoscaling value is discussed next:
Deployment - Autoscaling - Enabled
Variable: deployment.autoscaling.enabled
Description: Enables the creation of a Horizontal Pod Autoscaler (HPA) for processor agents within the Edge Delta deployment. When set to true, the HPA is configured to manage the scaling of pods based on resource utilization.
Example:
--set deployment.autoscaling.enabled=true
Deployment - Autoscaling - External
Variable: deployment.autoscaling.external
Description: Set to true
if using an external autoscaler like KEDA (Kubernetes Event-driven Autoscaling). This setting allows integrating with external scaling mechanisms outside of the standard HPA.
Example:
--set deployment.autoscaling.external=false
Deployment - Autoscaling - Min Replicas
Variable: deployment.autoscaling.minReplicas
Description: Specifies the minimum number of replica pods for the deployment. This ensures that the deployment maintains at least this number of replicas at all times.
Example:
--set deployment.autoscaling.minReplicas=1
Deployment - Autoscaling - Max Replicas
Variable: deployment.autoscaling.maxReplicas
Description: Specifies the maximum number of replica pods for the deployment. The HPA will not scale the deployment above this number of replicas.
Example:
--set deployment.autoscaling.maxReplicas=5
Deployment - Autoscaling - Target CPU Utilization Percentage
Variable: deployment.autoscaling.targetForCPUUtilizationPercentage
Description: Defines the target average CPU utilization percentage for the HPA to maintain across the pods of the deployment. The HPA will scale up or down to meet this target when the CPU usage crosses the specified threshold.
Example:
--set deployment.autoscaling.targetForCPUUtilizationPercentage=80
Deployment - Autoscaling - Target Memory Utilization Percentage
Variable: deployment.autoscaling.targetForMemoryUtilizationPercentage
Description: Defines the target average memory utilization percentage for the HPA to maintain across the pods of the deployment. The HPA will scale up or down to meet this target when the memory usage crosses the specified threshold.
Example:
--set deployment.autoscaling.targetForMemoryUtilizationPercentage=80
Deployment - Autoscaling - Custom Metric
Variable: deployment.autoscaling.customMetric
Description: Allows the use of custom metrics for autoscaling targets. This section can be used to configure other metric types beyond CPU and memory for the HPA to evaluate.
Example:
--set deployment.autoscaling.customMetric={type: "Pods", pods: {metric: {name: "packets-per-second"}, target: {type: "AverageValue", averageValue: "1k"}}}
Deployment - Autoscaling - Behavior - Scale Down Stabilization Window Seconds
Variable: deployment.autoscaling.behavior.scaleDown.stabilizationWindowSeconds
Description: Configures the stabilization window in seconds for scaling down the pods via the Horizontal Pod Autoscaler (HPA). During this window, the HPA delays scaling down actions to avoid unnecessary scale-downs due to temporary spikes in metrics.
Example:
--set deployment.autoscaling.behavior.scaleDown.stabilizationWindowSeconds=300
Deployment - Kind
Variable: deployment.kind
Description: The deployment.kind
parameter defines how the Processing Agents within the Edge Delta fleet are managed. This parameter can be either DaemonSet
for deploying on each node or Deployment
for a scalable set of agent pods. The default is to deploy the processor agent as a DaemonSet. See Installing as a Deployment.
Example:
helm upgrade edgedelta edgedelta/edgedelta -i --version v1.17.0 \
--set secretApiKey.value=12345678987654321 \
--set deployment.kind=Deployment \
-n edgedelta --create-namespace
To verify:
kubectl get deployment -n edgedelta
kubectl get daemonset -n edgedelta
Note: Separate configuration sections and Helm values are provided for Rollup and Compactor Agents.
Deployment - Replicas
Variable: deployment.replicas
Description: Specifies the number of pods for the Processor Agents when deployment.kind is set to Deployment. This setting is mutually exclusive with autoscaling, which means it will not apply if deployment.autoscaling.enabled is set to true. The deployment.replicas parameter is especially useful for scenarios where a fixed number of Processor Agents is required, avoiding the complexity of autoscaling. This can simplify resource allocation and predictability in environments where the load is consistent and predictable.
Example:
--set deployment.replicas=3
To install Edge Delta Processor Agents with a static number of 3 replicas:
helm upgrade edgedelta edgedelta/edgedelta -i --version v1.17.0 \
--set secretApiKey.value=12345678987654321 \
--set deployment.kind=Deployment \
--set deployment.replicas=3 \
--set deployment.autoscaling.enabled=false \
-n edgedelta --create-namespace
To verify the number of replicas:
kubectl get deployment -n edgedelta
kubectl describe deployment edgedelta -n edgedelta
Deployment - Topology Spread Constraints
The topologySpreadConstraints parameter allows you to define how Edge Delta Processor Agent pods should be distributed across different topology domains (e.g., zones, regions) within a Kubernetes cluster. This configuration ensures better availability and resiliency of the deployed agents by spreading them across various failure domains. The provided example demonstrates a comprehensive setup using several topology spread constraint parameters.
Note: The rollup and Compactor Agents have their own Topology Spread Constraints parameters.
To install Edge Delta with topology spread constraints ensuring that Processor Agent pods are spread across zones:
helm upgrade edgedelta edgedelta/edgedelta -i --version v1.17.0 \
--set secretApiKey.value=12345678987654321 \
--set deployment.kind=Deployment \
--set deployment.topologySpreadConstraints\[0\].maxSkew=1 \
--set deployment.topologySpreadConstraints\[0\].topologyKey=topology.kubernetes.io/zone \
--set deployment.topologySpreadConstraints\[0\].whenUnsatisfiable=ScheduleAnyway \
--set deployment.topologySpreadConstraints\[0\].labelSelector.matchLabels.'edgedelta\/agent-type'=processor \
-n edgedelta --create-namespace
Note: The square brackets ([0]) in the helm command can cause shell interpretation issues.
By escaping the brackets with backslashes (), you prevented the shell from interpreting them, ensuring the command is passed correctly to helm. For example, --set deployment.topologySpreadConstraints[0].maxSkew=1
becomes --set deployment.topologySpreadConstraints\[0\].maxSkew=1
.
Using a values file makes the Helm command cleaner and avoids issues with special characters interpretation by the shell. This approach is highly recommended for complex configurations and for maintaining clear and reusable deployment settings:
deployment:
kind: Deployment
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
edgedelta/agent-type: processor
This command configures the deployment to spread the pods across different zones as evenly as possible with a maxSkew of 1.
To verify the topology spread constraints:
kubectl get deployment -n edgedelta
kubectl describe deployment edgedelta -n edgedelta
Each part of the topologySpreadConstraints value is discussed next:
Deployment - Topology Spread Constraints - Max Skew
Variable: deployment.topologySpreadConstraints[0].maxSkew
Description: This field specifies the maximum allowed difference in the number of pods across the specified topologies. It defines the degree of imbalance that is acceptable between nodes or other topology domains, based on the topologyKey provided. Setting maxSkew to a smaller number forces a more even distribution of pods.
Example:
--set deployment.topologySpreadConstraints\[0\].maxSkew=1
This sets the maxSkew to 1, aiming for a tight distribution of pods across zones.
Deployment - Topology Spread Constraints - Topology Key
Variable: deployment.topologySpreadConstraints[0].topologyKey
Description: This field identifies the key that the system evaluates when determining how to categorize nodes into topologies. Commonly used keys include topology.kubernetes.io/zone for spreading pods across physical zones or topology.kubernetes.io/region for larger geographical areas.
Example:
--set deployment.topologySpreadConstraints\[0\].topologyKey=topology.kubernetes.io/zone
This specifies that the nodes’ physical zones determine the domains over which the pods should be spread.
Deployment - Topology Spread Constraints - When Unsatisfiable
Variable: deployment.topologySpreadConstraints[0].whenUnsatisfiable
Description: This field determines what action to take if the pods cannot be spread as per the maxSkew definition. It manages the scheduling policy when it’s not possible to satisfy the skew criteria. Options include:
- DoNotSchedule — prevents the scheduler from scheduling the pod if doing so would violate the topology’s spread constraint.
- ScheduleAnyway — allows the scheduler to schedule the pods even if the spread constraints cannot be fully satisfied, thus, it prioritizes getting pods running over maintaining the spread constraint strictly.
Example:
--set deployment.topologySpreadConstraints\[0\].whenUnsatisfiable=ScheduleAnyway
This setting ensures that pods will still be scheduled even if the maxSkew cannot be exactly met, thus preventing pod scheduling failures due to strict spread constraints.
Deployment - Topology Spread Constraints - Label Selector Match Labels
Variable: deployment.topologySpreadConstraints[0].labelSelector.matchLabels
Description: This configuration allows selecting a subset of pods based on their labels. It is a key-value pair that matches against labels attached to objects (like pods). This criteria is used to determine which pods should be considered as part of the topology spread calculation. By configuring matchLabels, you can fine-tune the policy to only affect certain pods that match these labels, effectively applying the topology spread rules selectively based on the workload characteristics defined by labels.
Example:
--set deployment.topologySpreadConstraints\[0\].labelSelector.matchLabels.'edgedelta\/agent-type'=processor
This applies the constraint only to the pods that have a label edgedelta/agent-type=processor, ensuring only processor type agents are spread across the nodes as per the defined criteria.
Rollup Agents Configuration
Enabling Rollup Agents
Variable: rollUpProps.enabled
Description: Enables the Rollup Agents within the Edge Delta deployment. Rollup agents are responsible for aggregating and rolling up telemetry data and are crucial for efficient data handling and analytics. Rollup agents are enabled by default.
Example:
--set rollUpProps.enabled=true
rollup pullPolicy
Variable: rollUpProps.image.pullPolicy
Description: The image.pullPolicy defines the conditions under which the rollup container image should be pulled from a registry. Values can be:
Always
: The image will be pulled every time the pod starts. This ensures that you always use the latest version of the image even if it’s already present on the node.IfNotPresent
: The image will be pulled only if it is not already present on the node. This can reduce network bandwidth and speed up deployments for images that don’t change frequently.Never
: The image will never be pulled, and you rely on the image being pre-installed on the node.
The default value is IfNotPresent
.
Example:
--set rollUpProps.image.pullPolicy=Always
You can describe the pod to confirm the value was applied:
kubectl describe pod <pod-name>
Port Configuration
Variable: rollUpProps.port
Description: Specifies the port on which the Rollup Agents listen.
Example:
--set rollUpProps.port=9200
Replica Configuration
Variable: rollUpProps.replicas
Description: Specifies the number of Rollup Agents to deploy. This parameter is mutually exclusive with autoscaling.
Example:
--set rollUpProps.replicas=2
Autoscaling Enabled Configuration
Variable: rollUpProps.autoscaling.enabled
Description: Enables Horizontal Pod Autoscaling (HPA) for Rollup Agents, allowing the number of pods to adjust based on resource usage.
Example:
--set rollUpProps.autoscaling.enabled=false
Memory Limit Configuration
Variable: rollUpProps.goMemLimit
Description: Specifies the memory limit for the Rollup Agents.
Example:
--set rollUpProps.goMemLimit=900MiB
Resource Requests and Limits
Variable: rollUpProps.resources
Description: Specifies the resource requests and limits for the Rollup Agents.
Example:
--set rollUpProps.resources.limits.cpu=1000m \
--set rollUpProps.resources.limits.memory=1Gi \
--set rollUpProps.resources.requests.cpu=200m \
--set rollUpProps.resources.requests.memory=256Mi
Compactor Agents Configuration
Enabling Compactor Agents
Variable: compactorProps.enabled
Description: Enables the Compactor Agents within the Edge Delta deployment.
Example:
--set compactorProps.enabled=true
Compactor pullPolicy
Variable: compactorProps.image.pullPolicy
Description: The image.pullPolicy defines the conditions under which the Compactor Agent container image should be pulled from a registry. Values can be:
Always
: The image will be pulled every time the pod starts. This ensures that you always use the latest version of the image even if it’s already present on the node.IfNotPresent
: The image will be pulled only if it is not already present on the node. This can reduce network bandwidth and speed up deployments for images that don’t change frequently.Never
: The image will never be pulled, and you rely on the image being pre-installed on the node.
The default value is IfNotPresent
.
Example:
--set compactorProps.image.pullPolicy=Always
You can describe the pod to confirm the value was applied:
kubectl describe pod <pod-name>
Port Configuration
Variable: compactorProps.port
Description: Specifies the port on which the Compactor Agents listen.
Example:
--set compactorProps.port=9199
Persistent Volume Configuration
Variable: compactorProps.usePVC
Description: Enabling compactorProps.usePVC (true) configures the Edge Delta Compactor Agent to use a Persistent Volume Claim (PVC) for persisting Compactor data before it is flushed downstream. This ensures that the compactor can reliably store data. If not set (default is false), the compactor will not use a PVC for data storage.
Example:
--set compactorProps.usePVC=true
To check for the existence of the Persistent Volume Claim in the namespace:
kubectl get pods -n edgedelta
kubectl describe pod <compactor-pod-name> -n edgedelta
kubectl get pvc -n edgedelta
Autoscaling Enabled Configuration
Variable: compactorProps.autoscaling.enabled
Description: Enables Horizontal Pod Autoscaling (HPA) for Compactor Agents.
Example:
--set compactorProps.autoscaling.enabled=false
Memory Limit Configuration
Variable: compactorProps.goMemLimit
Description: Specifies the memory limit for the Compactor Agents.
Example:
--set compactorProps.goMemLimit=""
Resource Requests and Limits
Variable: compactorProps.resources
Description: Specifies the resource requests and limits for the Compactor Agents.
Example:
--set compactorProps.resources.limits.cpu=2000m \
--set compactorProps.resources.limits.memory=2Gi \
--set compactorProps.resources.requests.cpu=200m \
--set compactorProps.resources.requests.memory=300Mi
Docker Container Properties
Variable: dockerContainerProps
Description: This helm value configures the path to Docker container logs on a Kubernetes node. It is used by Edge Delta agents for self-discovery, enabling them to access and analyze Docker container logs.
Example:
--set dockerContainerProps.hostPath="/var/lib/docker/containers"
To confirm the existence of the specified path mount in the agent’s pod:
kubectl get pods -n edgedelta
Retrieve the name of one of the Edge Delta agent pods and replace
kubectl describe pod <edgedelta-agent-pod-name> -n edgedelta
Look under the Mounts section for the specified path /var/lib/docker/containers
.
Edge Delta Custom Tags
Variable: edCustomTags
Description: Custom tags are pipe (|) delimited key:value pairs that are attached to all outgoing data from Edge Delta agents to their configured destinations. These tags can, for example, provide valuable metadata about the data’s origin, such as the cluster name, cloud provider, and region.
Example:
--set edCustomTags="cluster:prod_us_west_2_cluster|provider:aws|region:us_west_2"
To confirm that custom tags have been applied, get the list of pods in the edgedelta namespace:
kubectl get pods -n edgedelta
Describe one of the Edge Delta pods to check for the custom tags:
kubectl describe pod <edge-delta-pod-name> -n edgedelta
Check the Environment
section within the edgedelta-agent
container:
ED_CUSTOM_TAGS: cluster:prod_us_west_2_cluster|provider:aws|region:us_west_2
Verify logs in Edge Delta: Check the logs in Edge Delta and confirm that they contain the following attributes:
{
"cluster": "prod_us_west_2_cluster",
"provider": "aws",
"region": "us_west_2"
}
Edge Delta Skip TLS Verify
Variable: edSkipTlsVerify
Description: Ignore SSL/TLS certificate errors when providing a client certificate and key directly. This can be useful in environments where self-signed certificates are used or where certificate verification may fail due to other reasons.
Example:
--set edSkipTlsVerify=true
Edge Delta Suppression Mode
Variable: edSuppressionMode
Description: The edSuppressionMode Helm value configures version 2 (deprecated) Edge Delta agents to suppress new issue notifications if similar issues have already been reported by the same or other agents.
Edge Delta Tag Override
Variable: edTagOverride
Description: Specifies a fleet tag that is different from the one configured in the Web App. Use this option to deploy two fleets with the same Pipeline configuration. A best practice is to share Pipeline components using packs, rather than duplicating a pipeline across multiple fleets.
Example:
--set edTagOverride=<new name>
Edge Delta Workflow Prefixes
Variable: edWorkflowPrefixes
Description: A colon-separated list of workflow prefixes to enable all matching workflows in version 2 (deprecated) agents. By default, all other workflow names are enabled when edWorkflows and edWorkflowPrefixes are not configured.
Example: "billing:error"
Edge Delta Workflows
Variable: edWorkflows
Description: A colon-separated list of workflow names to enable matching workflows in version 2 (deprecated) agents. By default, all other workflow names are enabled when edWorkflows and edWorkflowPrefixes are not configured.
Example: "billing-workflow:error-workflow"
HTTP Proxy
Variable: httpProxy
Description: The HTTPProxy helm value allows you to specify an HTTP proxy server that the Edge Delta agents will use for routing outbound HTTP traffic. This setting is useful in environments where direct access to external endpoints is restricted, and traffic must pass through an internal proxy for monitoring, security, or policy enforcement reasons.
Example: In a production environment, you might have a corporate proxy server set up to control and monitor outgoing HTTP requests. The HTTPProxy setting should be configured with the address of this corporate proxy server. This is an example of how you can configure the httpProxy for a production environment where the corporate proxy server is hosted at http://corp-proxy.example.com:8080.
--set httpProxy="http://corp-proxy.example.com:8080"
HTTP Recorder Properties - Enabled
Variable: httpRecorderProps.enabled
Description: Enable httpRecorder, a frontend layer which can consume logs with both http and tcp protocols. It is deployed as a sidecar for each Fleet. It dumps the incoming logs to filesystem (persisted via PVC) and Fleets grab from there.
Example: httpRecorderProps.enabled=false
(for disabled)
HTTP Recorder Properties - Image
Variable: httpRecorderProps.image
Description: Specify the httpRecorder image and version tag.
Example: httpRecorderProps.image="gcr.io/edgedelta/httprecorder:latest"
HTTP Recorder Properties - Ingress
Variable: httpRecorderProps.ingress
Description: Configure ingress for httpRecorder if the k8s cluster already has nginx + cert-manager installed. Without ingress enabled you can directly send logs within cluster using http://ed-httprecorder-svc.{namespace}.svc.cluster.local:8080
Example: httpRecorderProps.ingress={class: nginx}
HTTP Recorder Properties - Port
Variable: httpRecorderProps.port
Description: Specify the httpRecorder port.
Example: httpRecorderProps.port=8080
HTTPS Proxy
Variable: httpsProxy
Description: Address to route the Fleet’s outbound traffic through an HTTPS internal proxy.
Example: "https://127.0.0.1:3128"
Image
Variable: image
Description: The Fleet’s Docker image. Optionally override the image tag, which defaults to the chart appVersion.
Example: image="edgedelta/agent:latest"
No Proxy
Variable: noProxy
Description: Disables the proxy for requests that hit a specific destination.
Example: "https://your-endpoint.com"
Node Selector
Variable: nodeSelector
Description: This is a way to specify on which nodes a pod should be scheduled, based on labels on nodes. With nodeSelector: {}, no node selector is set, so the pod can be scheduled on any available node that matches other criteria.
Persisting Cursor Properties - Container Mount Path
Variable: persistingCursorProps.containerMountPath
Description: The container mount path to keep the persisting cursor state.
Example: /var/lib/edgedelta
Persisting Cursor Properties - Enabled
Variable: persistingCursorProps.enabled
Description: Enables or disables the persistent cursor feature.
Example: persistingCursorProps.enabled=false
Persisting Cursor Properties - Host Mount Path
Variable: persistingCursorProps.hostMountPath
Description: The host mount path to keep the persisting cursor state.
Example: /var/lib/edgedelta
Priority Class Name
Variable: priorityClassName
Description: This value can specify the priority of the pods. Higher priority pods can potentially preempt lower priority pods in times of resource scarcity.
Profiler Port
Variable: profilerPort
Description: Specify the port to use if you install Edge Delta with a profiler to monitor CPU and memory statistics. Alternatively, you can use Prometheus with its dedicated endpoint.
Example: profilerPort=6060
Prom Port
Variable: promPort
Description: Specify the metrics endpoint port number that Prometheus can use to scrape metrics.
Example: promPort=8087
Resources - Limits CPU
Variable: resources.limits.cpu
Description: The maximum CPU usage limit for the fleet pods.
Example: resources.limits.cpu=1000m
Resources - Limits Memory
Variable: resources.limits.memory
Description: The maximum memory usage limit for the fleet pods.
Example: resources.limits.memory=2048Mi
Resources - Requests CPU
Variable: resources.requests.cpu
Description: The minimum requested CPU for the fleet pods.
Example: resources.requests.cpu=200m
Resources - Requests Memory
Variable: resources.requests.memory
Description: The minimum requested memory for the fleet pods.
Example: resources.requests.memory=256Mi
Secret API Key - Key
Variable: secretApiKey.key
Description: The reference to use to create the key part of a key/value pair stored in a Kubernetes secret when the secretApiKey.value is passed in.
Example: secretApiKey.key='ed-api-key, username, password'
Secret API Key - Name
Variable: secretApiKey.name
Description: The name to use for the Kubernetes secret object when the secretApiKey.value is passed in.
Example: secretApiKey.name='ed-api-key'
Secret API Key - Value
Variable: secretApiKey.value
Description: The value part of a key/value pair that is saved in a Kubernetes secret. Passing in this parameter saves it in the secret rather than the values file, and it uses the name and key specified by secretApiName and secretApiKey. Use either apiKey or secretApiKey.value, not both, to provide a Pipeline ID to the Fleet.
Example: secretApiKey.value='1a2b3c4d5e6f7g8h9i'
Service Monitor
Variable: serviceMonitor
Description: Enable service monitor to scrape Prometheus metrics from Fleets.
Store Port
Variable: storePort
Description: A port number to expose fleet metrics storage.
Example: storePort=6062
Tolerations
Variable: tolerations
Description: Tolerations allow a pod to be scheduled on nodes with matching taints. It’s a way to ensure that pods are scheduled on appropriate nodes. The default chart setting tolerations: {}, indicates that there are no specific tolerations set, meaning the pods might not be able to be scheduled on tainted nodes unless tolerations are defined. For example, if certain nodes are dedicated for certain purposes or have specific hardware, administrators may apply taints to them, and only pods with the appropriate tolerations will be scheduled there.
Update Strategy
Variable: updateStrategy
Description: This dictates how updates to the application are rolled out. The updateStrategy.type: RollingUpdate strategy means that updates will roll out one pod at a time, rather than taking the entire application down and updating all at once. This provides high availability during updates. Specifically, updateStrategy.rollingUpdate.maxUnavailable: 1 means that during the update, at most one pod can be unavailable.
Volume Mounts
Variable: volumeMounts
Description: Specify where to mount the volumes listed in the volumes parameter into containers.
Example: .spec.containers[*].volumeMounts: - mountPath: /cache name: cache-volume
Volumes
Variable: volumes
Description: Specify the volumes to make available to a pod. This includes the volume type such as ConfigMap or emptyDir.
Example: `.spec.volumes:
- name: cache-volume emptyDir: sizeLimit: 500Mi`