Skip to content

Latest commit

 

History

History
107 lines (82 loc) · 7.1 KB

File metadata and controls

107 lines (82 loc) · 7.1 KB

Sourcegraph Exexutor Helm Chart

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

Requirements

Installation

Add the Sourcegraph charts repo to Helm:

helm repo add sourcegraph https://helm.sourcegraph.com/release

Usage

The chart has to be installed in the same namespace as the parent sourcegraph/sourcegraph chart

Rendering manifests for kubectl deployment

Manifests rendered using the helm template command can be used for direct deployment using kubectl.

Configuration Options

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 - consult values.yaml

  • privateDockerRegistry.affinity - learn more

  • privateDockerRegistry.nodeSelector - learn more

  • privateDockerRegistry.tolerations - learn more

  • privateDockerRegistry.podSecurityContext - learn more

  • privateDockerRegistry.env - consult values.yaml file

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

Troubleshooting

See a list of running executor pods

kubectl get pods -l app=executor

Check logs of the executor container

kubectl logs -l app=executor -c executor