This repository contains a Helm chart to make it easy to host Optimizely Agent in your own Kubernetes infrastructure. The Optimizely Agent allows you to run a proxy to Optimizely in your own infrastructure, to help prevent adblockers from interfering with A/B tests.
To install the chart with the release name my-agent
:
helm repo add optimizely-agent https://optimizely.github.io/optimizely-agent-helm
helm install my-agent optimizely-agent/agent
- To override values in a chart:
- use the
--values
flag and pass in a file. - use the
--set
flag and pass configuration from the command line.
- use the
- Use the
--set-file
flag to set individual values from a file when the value itself is too long for the command line or is dynamically generated. - To force a string value use
--set-string
.
For example:
helm install --values myvalues.yaml my-agent optimizely-agent/agent --version [CURRENT_VERSION]
or
helm install --set nameOverride=abc123 my-agent optimizely-agent/agent --version [CURRENT_VERSION]
For more information, view the Helm install documentation or install through Artifact Hub.
To uninstall/delete the my-agent
deployment:
helm delete my-agent
To see all configurable options with detailed comments, visit the values.yaml file or run:
helm show values optimizely-agent/agent
Property | Description | Defalut value |
---|---|---|
nameOverride | Replaces the name of the chart in the Chart.yaml file | "" |
fullnameOverride | Completely replaces the generated name | "" |
image.repository | Docker image to be used | optimizely/agent |
image.tag | Docker image tag | "" |
image.pullPolicy | Sets the policy for a container and tag when pulling the image | IfNotPresent |
imagePullSecrets | If you are using a private registry | [] |
serviceAccount.create | Specifies whether a service account should be created | true |
serviceAccount.name | Optional - the name of the service account to use | "" |
serviceAccount.annotations | Optional - annotations to add to the service account | {} |
replicaCount | Number of deployment replicas | 1 |
autoscaling.enabled | To allow and configure autoscaling | false |
autoscaling.minReplicas | Minimum number of replicas | 1 |
autoscaling.maxReplicas | Maximum number of replicas | 100 |
autoscaling.targetCPUUtilizationPercentage | Set target percent of CPU utilization | 80 |
autoscaling.targetMemoryUtilizationPercentage | Set target percent of memory utilization | 80 |
nodeSelector | To constrain Pods to nodes with specific labels | {} |
affinity | Sets the affinity Kubernetes attribute for Pods | {} |
tolerations | Tolerations to apply to Pods | [] |
podAnnotations | A map with Kubernetes annotations | {} |
podSecurityContext | The security settings that you specify for a Pod apply to all Containers in the Pod | {} |
securityContext | The security settings that you specify for agent container | {} |
service.type | The type of network service to use and mapping of incoming ports to targetPorts | ClusterIP |
service.ports | Ports exposed for Optimizely's Agent functionality | port: 8080, port: 8085, port: 8088 |
ingress.enabled | Exposes HTTP and HTTPS routes from outside the cluster to services within the cluster | false |
resources | Set a custom container | {} |
logs.level | Configure logging level for Optimizely specific logs | debug |
logs.pretty | Enable pretty print for Optimizely specific logs | true |
log.includeSdkKey | Enable SDK key in logs for Optimizely specific logs | true |
env.variables | Environment values for variables | {} |
env.secrets | Environment values for secrets | {} |
config | Optimizely client instance configuration properties | See values.yaml for defaults |