mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-11 20:05:25 +00:00
docs
This commit is contained in:
parent
0fb54d3a28
commit
3b4259f32c
17 changed files with 470 additions and 318 deletions
|
|
@ -3,6 +3,9 @@ title: Config File
|
|||
sidebarTitle: Config file
|
||||
---
|
||||
|
||||
import ConfigSchema from '/snippets/schemas/v3/index.schema.mdx'
|
||||
import EnvironmentOverridesSchema from '/snippets/schemas/v3/environmentOverrides.schema.mdx'
|
||||
|
||||
When self-hosting Sourcebot, you **must** provide it a config file. This is done by defining a config file in a volume that's mounted to Sourcebot, and providing the path to this
|
||||
file in the `CONFIG_PATH` environment variable. For example:
|
||||
|
||||
|
|
@ -49,3 +52,103 @@ The following are settings that can be provided in your config file to modify So
|
|||
| `enablePublicAccess` **(deprecated)** | boolean | false | — | Use the `FORCE_ENABLE_ANONYMOUS_ACCESS` environment variable instead. |
|
||||
| `experiment_repoDrivenPermissionSyncIntervalMs` | number | 24 hours | 1 | Interval at which the repo permission syncer should run. |
|
||||
| `experiment_userDrivenPermissionSyncIntervalMs` | number | 24 hours | 1 | Interval at which the user permission syncer should run. |
|
||||
|
||||
# Tokens
|
||||
|
||||
Tokens are used to securely pass secrets to Sourcebot in a config file. They are used in various places, including connections, language model providers, auth providers, etc. Tokens can be passed as either environment variables or Google Cloud secrets:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Environment Variables">
|
||||
```json
|
||||
{
|
||||
"token": {
|
||||
"env": "TOKEN_NAME"
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
<Accordion title="Google Cloud Secrets">
|
||||
```json
|
||||
{
|
||||
"token": {
|
||||
"googleCloudSecret": "projects/<project-id>/secrets/<secret-name>/versions/<version-id>"
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
# Overriding environment variables from the config
|
||||
|
||||
You can override / set environment variables from the config file by using the `environmentOverrides` property. Overrides can be of type `string`, `number`, `boolean`, or a [token](/docs/configuration/config-file#tokens). Tokens are useful when you want to configure a environment variable using a Google Cloud Secret or other supported secret management service.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Token">
|
||||
```jsonc
|
||||
{
|
||||
"environmentOverrides": {
|
||||
"DATABASE_URL": {
|
||||
"type": "token",
|
||||
"value": {
|
||||
"googleCloudSecret": "projects/<id>/secrets/postgres-connection-string/versions/latest"
|
||||
}
|
||||
},
|
||||
"REDIS_URL": {
|
||||
"type": "token",
|
||||
"value": {
|
||||
"googleCloudSecret": "projects/<id>/secrets/redis-connection-string/versions/latest"
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="String">
|
||||
```jsonc
|
||||
{
|
||||
"environmentOverrides": {
|
||||
"EMAIL_FROM_ADDRESS": {
|
||||
"type": "string",
|
||||
"value": "hello@sourcebot.dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Number">
|
||||
```jsonc
|
||||
{
|
||||
"environmentOverrides": {
|
||||
"SOURCEBOT_CHAT_MODEL_TEMPERATURE": {
|
||||
"type": "number",
|
||||
"value": 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Boolean">
|
||||
```jsonc
|
||||
{
|
||||
"environmentOverrides": {
|
||||
"SOURCEBOT_TELEMETRY_DISABLED": {
|
||||
"type": "boolean",
|
||||
"value": false
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
|
||||
**Note:** Overrides are **not** set as system environment variables, and instead are resolved at runtime on startup and stored in memory.
|
||||
|
||||
<Accordion title="Schema reference">
|
||||
[schemas/v3/environmentOverrides.json](https://github.com/sourcebot-dev/sourcebot/blob/main/schemas/v3/environmentOverrides.json)
|
||||
|
||||
<EnvironmentOverridesSchema />
|
||||
</Accordion>
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
title: Environment variables
|
||||
sidebarTitle: Environment variables
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
<Note>This page provides a detailed reference of all environment variables supported by Sourcebot. If you're just looking to get up and running, we recommend starting with the [deployment guide](/docs/deployment-guide) instead.</Note>
|
||||
|
|
@ -71,3 +70,6 @@ The following environment variables allow you to configure your Sourcebot deploy
|
|||
| `REVIEW_AGENT_LOGGING_ENABLED` | `true` | <p>Enables/disables logging for the review agent. Logs are saved in `DATA_CACHE_DIR/review-agent`</p> |
|
||||
| `REVIEW_AGENT_REVIEW_COMMAND` | `review` | <p>The command used to trigger a code review by the review agent.</p> |
|
||||
|
||||
### Overriding environment variables from the config
|
||||
|
||||
You can override environment variables from the config file by using the `environmentOverrides` property. See [this doc](/docs/configuration/config-file#overriding-environment-variables-from-the-config) for more info.
|
||||
|
|
@ -86,7 +86,7 @@ If you're not familiar with Sourcebot [connections](/docs/connections/overview),
|
|||
Azure Devops Cloud requires you to provide a PAT in order to index your repositories. To learn how to create PAT, check out the [Azure Devops docs](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows).
|
||||
Sourcebot needs the `Read` access for the `Code` scope in order to find and clone your repos.
|
||||
|
||||
Next, provide the access token via an environment variable which is referenced in the `token` property:
|
||||
Next, provide the access [token](/docs/configuration/config-file#tokens) via an environment variable which is referenced in the `token` property:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Environment Variable">
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ If you're not familiar with Sourcebot [connections](/docs/connections/overview),
|
|||
Azure Devops Server requires you to provide a PAT in order to index your repositories. To learn how to create PAT, check out the [Azure Devops docs](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows).
|
||||
Sourcebot needs the `Read` access for the `Code` scope in order to find and clone your repos.
|
||||
|
||||
Next, provide the access token via an environment variable which is referenced in the `token` property:
|
||||
Next, provide the access [token](/docs/configuration/config-file#tokens) via an environment variable which is referenced in the `token` property:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Environment Variable">
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ If you're not familiar with Sourcebot [connections](/docs/connections/overview),
|
|||
|
||||
## Authenticating with Bitbucket Cloud
|
||||
|
||||
In order to index private repositories, you'll need to provide authentication credentials. You can do this using an `App Password` or an `Access Token`
|
||||
In order to index private repositories, you'll need to provide authentication credentials via a [token](/docs/configuration/config-file#tokens). You can do this using an `App Password` or an `Access Token`
|
||||
|
||||
<Tabs>
|
||||
<Tab title="App Password">
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ If you're not familiar with Sourcebot [connections](/docs/connections/overview),
|
|||
|
||||
## Authenticating with Bitbucket Data Center
|
||||
|
||||
In order to index private repositories, you'll need to provide an access token to Sourcebot.
|
||||
In order to index private repositories, you'll need to provide an access token to Sourcebot via a [token](/docs/configuration/config-file#tokens).
|
||||
|
||||
Create an access token for the desired scope (repo, project, or workspace). Visit the official [Bitbucket Data Center docs](https://confluence.atlassian.com/bitbucketserver/http-access-tokens-939515499.html)
|
||||
for more info.
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ In order to index private repositories, you'll need to generate a Gitea access t
|
|||
|
||||

|
||||
|
||||
Next, provide the access token via an environment variable which is referenced in the `token` property:
|
||||
Next, provide the access token via an environment variable [token](/docs/configuration/config-file#tokens) which is referenced in the `token` property:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Environment Variable">
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ In order to index private repositories, you'll need to generate a access token a
|
|||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
Next, provide the access token via an environment variable which is referenced in the `token` property:
|
||||
Next, provide the access token via an environment variable [token](/docs/configuration/config-file#tokens) which is referenced in the `token` property:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Environment Variable">
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ In order to index private projects, you'll need to generate a GitLab Personal Ac
|
|||
|
||||

|
||||
|
||||
Next, provide the PAT via an environment variable which is referenced in the `token` property:
|
||||
Next, provide the PAT via an environment variable [token](/docs/configuration/config-file#tokens) which is referenced in the `token` property:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Environment Variable">
|
||||
|
|
|
|||
115
docs/snippets/schemas/v3/environmentOverrides.schema.mdx
Normal file
115
docs/snippets/schemas/v3/environmentOverrides.schema.mdx
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
{/* THIS IS A AUTO-GENERATED FILE. DO NOT MODIFY MANUALLY! */}
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"name": "EnvironmentOverrides",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"CONFIG_PATH"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z0-9_-]+$": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "token"
|
||||
},
|
||||
"value": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"env": {
|
||||
"type": "string",
|
||||
"description": "The name of the environment variable that contains the token."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"env"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"googleCloudSecret": {
|
||||
"type": "string",
|
||||
"description": "The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"googleCloudSecret"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "number"
|
||||
},
|
||||
"value": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "boolean"
|
||||
},
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -135,117 +135,6 @@
|
|||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"EnvironmentOverrides": {
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"CONFIG_PATH"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z0-9_-]+$": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "token"
|
||||
},
|
||||
"value": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"env": {
|
||||
"type": "string",
|
||||
"description": "The name of the environment variable that contains the token."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"env"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"googleCloudSecret": {
|
||||
"type": "string",
|
||||
"description": "The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"googleCloudSecret"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "number"
|
||||
},
|
||||
"value": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "boolean"
|
||||
},
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
|
|
@ -393,6 +282,7 @@
|
|||
"environmentOverrides": {
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"name": "EnvironmentOverrides",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
|
|
|
|||
114
packages/schemas/src/v3/environmentOverrides.schema.ts
Normal file
114
packages/schemas/src/v3/environmentOverrides.schema.ts
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
// THIS IS A AUTO-GENERATED FILE. DO NOT MODIFY MANUALLY!
|
||||
const schema = {
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"name": "EnvironmentOverrides",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"CONFIG_PATH"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z0-9_-]+$": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "token"
|
||||
},
|
||||
"value": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"env": {
|
||||
"type": "string",
|
||||
"description": "The name of the environment variable that contains the token."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"env"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"googleCloudSecret": {
|
||||
"type": "string",
|
||||
"description": "The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"googleCloudSecret"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "number"
|
||||
},
|
||||
"value": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "boolean"
|
||||
},
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
} as const;
|
||||
export { schema as environmentOverridesSchema };
|
||||
40
packages/schemas/src/v3/environmentOverrides.type.ts
Normal file
40
packages/schemas/src/v3/environmentOverrides.type.ts
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
// THIS IS A AUTO-GENERATED FILE. DO NOT MODIFY MANUALLY!
|
||||
|
||||
/**
|
||||
* Environment variable overrides.
|
||||
*/
|
||||
export interface EnvironmentOverrides {
|
||||
/**
|
||||
* This interface was referenced by `EnvironmentOverrides`'s JSON-Schema definition
|
||||
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
||||
*/
|
||||
[k: string]:
|
||||
| {
|
||||
type: "token";
|
||||
value:
|
||||
| {
|
||||
/**
|
||||
* The name of the environment variable that contains the token.
|
||||
*/
|
||||
env: string;
|
||||
}
|
||||
| {
|
||||
/**
|
||||
* The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets
|
||||
*/
|
||||
googleCloudSecret: string;
|
||||
};
|
||||
}
|
||||
| {
|
||||
type: "string";
|
||||
value: string;
|
||||
}
|
||||
| {
|
||||
type: "number";
|
||||
value: number;
|
||||
}
|
||||
| {
|
||||
type: "boolean";
|
||||
value: boolean;
|
||||
};
|
||||
}
|
||||
|
|
@ -134,117 +134,6 @@ const schema = {
|
|||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"EnvironmentOverrides": {
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"CONFIG_PATH"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z0-9_-]+$": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "token"
|
||||
},
|
||||
"value": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"env": {
|
||||
"type": "string",
|
||||
"description": "The name of the environment variable that contains the token."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"env"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"googleCloudSecret": {
|
||||
"type": "string",
|
||||
"description": "The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"googleCloudSecret"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "number"
|
||||
},
|
||||
"value": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "boolean"
|
||||
},
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
|
|
@ -392,6 +281,7 @@ const schema = {
|
|||
"environmentOverrides": {
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"name": "EnvironmentOverrides",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
|
|
|
|||
|
|
@ -162,9 +162,6 @@ export interface SearchContext {
|
|||
}
|
||||
/**
|
||||
* Environment variable overrides.
|
||||
*
|
||||
* This interface was referenced by `SourcebotConfig`'s JSON-Schema
|
||||
* via the `definition` "EnvironmentOverrides".
|
||||
*/
|
||||
export interface EnvironmentOverrides {
|
||||
/**
|
||||
|
|
|
|||
85
schemas/v3/environmentOverrides.json
Normal file
85
schemas/v3/environmentOverrides.json
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"name": "EnvironmentOverrides",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"CONFIG_PATH"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z0-9_-]+$": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "token"
|
||||
},
|
||||
"value": {
|
||||
"$ref": "./shared.json#/definitions/Token"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "number"
|
||||
},
|
||||
"value": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "boolean"
|
||||
},
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -83,90 +83,6 @@
|
|||
},
|
||||
"SearchContext": {
|
||||
"$ref": "./searchContext.json"
|
||||
},
|
||||
"EnvironmentOverrides": {
|
||||
"type": "object",
|
||||
"description": "Environment variable overrides.",
|
||||
"not": {
|
||||
"$comment": "List of environment variables that are not allowed to be overridden.",
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"CONFIG_PATH"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z0-9_-]+$": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "token"
|
||||
},
|
||||
"value": {
|
||||
"$ref": "./shared.json#/definitions/Token"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "number"
|
||||
},
|
||||
"value": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "boolean"
|
||||
},
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
|
|
@ -187,7 +103,7 @@
|
|||
"additionalProperties": false
|
||||
},
|
||||
"environmentOverrides": {
|
||||
"$ref": "#/definitions/EnvironmentOverrides"
|
||||
"$ref": "./environmentOverrides.json"
|
||||
},
|
||||
"connections": {
|
||||
"type": "object",
|
||||
|
|
|
|||
Loading…
Reference in a new issue