This chart contains two deployments, Sourcegraph Executors and a private Docker Registry. It is a supplemental chart for the parent sourcegraph/sourcegraph Helm Chart if you wish to deploy executors
Use cases:
- Deploy Sourcegraph Executors on Kubernetes
- Helm 3 CLI
- Kubernetes 1.19 or greater
Add the Sourcegraph charts repo to Helm:
helm repo add sourcegraph https://helm.sourcegraph.com/releaseThe chart has to be installed in the same namespace as the parent sourcegraph/sourcegraph chart
Manifests rendered using the helm template command can be used for direct deployment using kubectl.
Reference the table below for available configuration parameters and consult executor documentation.
In addition to the documented values, the executor and private-docker-registry services also supports the following values
-
executor.affinity- learn more -
executor.nodeSelector- learn more -
executor.tolerations- learn more -
executor.podSecurityContext- learn more -
executor.env- consultvalues.yaml -
privateDockerRegistry.affinity- learn more -
privateDockerRegistry.nodeSelector- learn more -
privateDockerRegistry.tolerations- learn more -
privateDockerRegistry.podSecurityContext- learn more -
privateDockerRegistry.env- consultvalues.yamlfile
| Key | Type | Default | Description |
|---|---|---|---|
| dind.image.registry | string | "index.docker.io" |
|
| dind.image.repository | string | "docker" |
|
| dind.image.tag | string | "20.10.22-dind" |
|
| executor.enabled | bool | true |
|
| executor.env.EXECUTOR_FRONTEND_PASSWORD | object | {"value":""} |
The shared secret configured in the Sourcegraph instance site config under executors.accessToken. Required. |
| executor.env.EXECUTOR_FRONTEND_URL | object | {"value":""} |
The external URL of the Sourcegraph instance. Required. |
| executor.env.EXECUTOR_QUEUE_NAME | object | {"value":""} |
The name of the queue to pull jobs from to. Possible values: batches and codeintel. Either this or EXECUTOR_QUEUE_NAMES is required. |
| executor.env.EXECUTOR_QUEUE_NAMES | object | {"value":""} |
The comma-separated list of names of multiple queues to pull jobs from to. Possible values: batches and codeintel. Either this or EXECUTOR_QUEUE_NAME is required. |
| executor.image.defaultTag | string | "6.12.2541@sha256:9ad40f8e30d07e3dfffe09427867560a97b446e57952853587c1ae79a9fcd50f" |
|
| executor.image.name | string | "executor" |
|
| executor.replicaCount | int | 1 |
|
| privateDockerRegistry.enabled | bool | true |
Whether to deploy the private registry. Only one registry is needed when deploying multiple executors. More information: https://docs.sourcegraph.com/admin/executors/deploy_executors#using-private-registries |
| privateDockerRegistry.image.registry | string | "index.docker.io" |
|
| privateDockerRegistry.image.repository | string | "docker/regisry" |
|
| privateDockerRegistry.image.tag | int | 2 |
|
| privateDockerRegistry.storageSize | string | "10Gi" |
|
| sourcegraph.affinity | object | {} |
Affinity, learn more from the Kubernetes documentation |
| sourcegraph.image.defaultTag | string | "{{ .Chart.AppVersion }}" |
Global docker image tag |
| sourcegraph.image.pullPolicy | string | "IfNotPresent" |
Global docker image pull policy |
| sourcegraph.image.repository | string | "index.docker.io/sourcegraph" |
Global docker image registry or prefix |
| sourcegraph.image.useGlobalTagAsDefault | bool | false |
When set to true, sourcegraph.image.defaultTag is used as the default defaultTag for all services, instead of service-specific default defaultTags |
| sourcegraph.imagePullSecrets | list | [] |
Mount named secrets containing docker credentials |
| sourcegraph.labels | object | {} |
Add a global label to all resources |
| sourcegraph.nameOverride | string | "" |
Set a custom name for the app.kubernetes.io/name annotation |
| sourcegraph.nodeSelector | object | {} |
NodeSelector, learn more from the Kubernetes documentation |
| sourcegraph.podAnnotations | object | {} |
Add extra annotations to attach to all pods |
| sourcegraph.podLabels | object | {} |
Add extra labels to attach to all pods |
| sourcegraph.priorityClassName | string | "" |
Assign a priorityClass to all pods (daemonSets, deployments, and statefulSets) |
| sourcegraph.tolerations | list | [] |
Tolerations, learn more from the Kubernetes documentation |
| storageClass.allowedTopologies | object | {} |
Persistent volumes topology configuration, learn more from the Kubernetes documentation |
| storageClass.create | bool | false |
Enable creation of storageClass. Defaults to Google Cloud Platform. Disable if you have your own existing storage class |
| storageClass.name | string | "sourcegraph" |
Name of the storageClass. Use to customize to the existing storage class name |
| storageClass.parameters | object | {} |
Extra parameters of storageClass, consult your cloud provider persistent storage documentation |
| storageClass.provisioner | string | "kubernetes.io/gce-pd" |
Name of the storageClass provisioner, learn more from the Kubernetes documentation and consult your cloud provider persistent storage documentation |
| storageClass.type | string | "pd-ssd" |
Value of type key in storageClass parameters, consult your cloud provider persistent storage documentation |
See a list of running executor pods
kubectl get pods -l app=executorCheck logs of the executor container
kubectl logs -l app=executor -c executor