Configuration

DeepSource Runner is configured using the Helm values.yaml file. You should have already obtained a partially filled values.yaml after completing the registration as described in the License section. You have to configure the fields shown below in the file before you proceed with the installation.

config

NameDescriptionType
config.appsConfiguration values for the VCS apps to be used by the runner[]
config.objectStorageObject storage configuration. (GCS, S3){}
config.runnerConfiguration values for the Runner.{}

config.runner

NameDescriptionExample
config.runner.idThe id of the runner"a5557**********************e6760"
config.runner.hostThe host of the runner to use"https://runner.example.com"
config.runner.clientIdThe client ID to use for the runner"tbFPp**********************Hmsrq"
config.runner.clientSecretThe client secret to use for the runner"dPi6A**********************LRzfc"
config.runner.privateKeyThe private key to use for the runner""
config.runner.webhookSecretThe webhook secret to use for the runner"vzWz***********************9ymrW"

config.objectStorage

This is used to configure the object storage bucket to store code snippets and other sensitive data generated while processing your code. You will need a credential JSON to authenticate to the bucket

For GCS you can use the service account credential JSON which will look like this:

{
  "type": "service_account",
  "project_id": "PROJECT_ID",
  "private_key_id": "KEY_ID",
  "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n",
  "client_email": "SERVICE_ACCOUNT_EMAIL",
  "client_id": "CLIENT_ID",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL"
}

For S3, your credential JSON will look like this:

{
  "endpoint": "s3.amazonaws.com",
  "accessKeyID": "ACCESS_KEY_ID",
  "secretAccessKey": "SECRET_ACCESS_KEY",
  "useSSL": false
}
NameDescriptionExample
config.objectStorage.providerThe provider to use for the object storage (e.g. gcs, s3)"gcs", "s3"
config.objectStorage.bucketThe bucket to use for the object storage"artifacts"
config.objectStorage.credentialThe credential JSON value to use for the object storage.""

config.apps

The config.apps object is an array of VCS configurations. The app object contains your VCS provider configuration. Before completing this section, you must finish setting up your VCS provider. This can be found in the
VCS configuration section of the documentation. (GitHub)

NameDescriptionExample
config.apps[].idA unique identifier for your VCS provider. We recommend using a UUID."17a199bc-f4f6-4b1c-9c78-0ca6824e1790"
config.apps[].nameA human-friendly name for your VCS application."My Github App"
config.apps[].providerThe VCS provider of your application."github"
config.apps[].github.hostThe root hostname for your GitHub installation."github.com"
config.apps[].github.apiHostThe hostname for the GitHub API server."api.github.com"
config.apps[].github.appIdAppID of the GitHub application."34128"
config.apps[].github.clientIdClientID of the GitHub application."Iv1.004243********"
config.apps[].github.clientSecretClientSecret of the GitHub application."8553**********fb6b"
config.apps[].github.privateKeyPrivate key from the GitHub application.""
config.apps[].github.slugSlug of the GitHub application."acme-runner"
config.apps[].github.webhookSecretWebhook secret configured in your GitHub application."webhook-secret"

๐Ÿ“˜

Note:

If you need to fine-tune additional Kubernetes configuration, please refer to the Helm chart documentation available in the DeepSource helm-charts repository.