Advanced Configuration

Image Pull Secret

In order for your kubernetes cluster to install the Cobrowse service components, you need to specify the Github token that Cobrowse provided to you.
The easiest way to specify this is in values.yaml in the imageCredentials.password value. If you wish to manage this secret externally from the Helm chart, you can follow these instructions.
  1. 1.
    Remove the token from the imageCredentials.password value
  2. 2.
    Deploy the Helm chart without the password. You will notice that the Helm deploy process will delete a Secret resource called cobrowse-docker-cfg. At this time, new pods will no longer be able to pull the cobrowse enterprise docker images from Github.
  3. 3.
    Deploy the cobrowse-docker-cfg Secret resource yourself with the command:
1
> kubectl create secret docker-registry cobrowse-docker-cfg \
2
> --docker-server=ghcr.io \
3
> --docker-username=cobrowse-enterprise \
4
> --docker-password="<github token provided by cobrowse>"
Copied!

Environment Variables

Many of the cobrowse service component configurations are managed using environment variables specified in ConfigMap and Secret resources, and these configurations can be overridden outside of the Helm chart by resources that you manage.

ConfigMap Resources

To see a list of all ConfigMap resources managed by the Helm chart, you can run:
1
> kubectl get configmap -l "app=cobrowse-cobrowse-enterprise"
2
NAME DATA AGE
3
cobrowse-api-envvars 10 25m
4
cobrowse-frontend-envvars 1 25m
5
cobrowse-proxy-envvars 4 25m
6
cobrowse-recording-envvars 3 25m
7
cobrowse-sockets-envvars 6 25m
Copied!
Each of these envvars ConfigMaps can be overridden by creating ConfigMap resources named (respectively):
1
cobrowse-api-custom-envvars
2
cobrowse-frontend-custom-envvars
3
cobrowse-proxy-custom-envvars
4
cobrowse-recording-custom-envvars
5
cobrowse-sockets-custom-envvars
Copied!
To see what environment variables are available to be configured for a particular service component, you can run (for example):
1
> kubectl describe configmap cobrowse-api-envvars
Copied!

Secret Resources

To see a list of all Secret resources managed by the Helm chart, you can run:
1
> kubectl get secret -l "app=cobrowse-cobrowse-enterprise"
2
NAME TYPE DATA AGE
3
cobrowse-api-envvars Opaque 2 41m
4
cobrowse-frontend-envvars Opaque 0 41m
5
cobrowse-proxy-envvars Opaque 0 41m
6
cobrowse-recording-envvars Opaque 0 41m
7
cobrowse-sockets-envvars Opaque 2 41m
Copied!
Each of these envvars Secrets can be overridden by creating Secret resources named (respectively):
1
cobrowse-api-custom-envvars
2
cobrowse-frontend-venvvars
3
cobrowse-proxy-custom-envvars
4
cobrowse-recording-custom-envvars
5
cobrowse-sockets-custom-envvars
Copied!
Order of Priority
The following order of priority is followed while resolving environment variables, using the api service component as an example:
  1. 1.
    Secret: cobrowse-api-custom-envvars
  2. 2.
    Secret: cobrowse-api-envvars
  3. 3.
    ConfigMap: cobrowse-api-custom-envvars
  4. 4.
    ConfigMap: cobrowse-api-envvars
Thus if you override an environment variable such as redis_url in the cobrowse-api-custom-envvars ConfigMap, then the value will be overridden by the Helm-managed cobrowse-api-envvars Secret. Thus, make sure before overriding an environment variable in the ConfigMap that it isn't set in one of the Secret resources first.