sourcebot/docs/snippets/schemas/v3/identityProvider.schema.mdx

1324 lines
41 KiB
Text
Raw Normal View History

2025-10-31 21:12:48 +00:00
{/* THIS IS A AUTO-GENERATED FILE. DO NOT MODIFY MANUALLY! */}
```json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IdentityProviderConfig",
"definitions": {
"GitHubIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "github"
},
"purpose": {
"enum": [
"sso",
"integration"
]
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"baseUrl": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
2025-11-03 00:11:48 +00:00
},
"required": {
"type": "boolean",
"default": true
2025-10-31 21:12:48 +00:00
}
},
"required": [
"provider",
"purpose",
"clientId",
"clientSecret"
]
},
"GitLabIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "gitlab"
},
"purpose": {
"enum": [
"sso",
"integration"
]
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"baseUrl": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
2025-11-03 00:11:48 +00:00
},
"required": {
"type": "boolean",
"default": true
2025-10-31 21:12:48 +00:00
}
},
"required": [
"provider",
"purpose",
"clientId",
"clientSecret",
"baseUrl"
]
},
"GoogleIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "google"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret"
]
},
"OktaIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "okta"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"issuer": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret",
"issuer"
]
},
"KeycloakIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "keycloak"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"issuer": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret",
"issuer"
]
},
"MicrosoftEntraIDIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "microsoft-entra-id"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"issuer": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret",
"issuer"
]
},
"GCPIAPIdentityProviderConfig": {
"type": "object",
"properties": {
"provider": {
"const": "gcp-iap"
},
"audience": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"audience"
]
}
},
"oneOf": [
{
"type": "object",
"properties": {
"provider": {
"const": "github"
},
"purpose": {
"enum": [
"sso",
"integration"
]
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"baseUrl": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
2025-11-03 00:11:48 +00:00
},
"required": {
"type": "boolean",
"default": true
2025-10-31 21:12:48 +00:00
}
},
"required": [
"provider",
"purpose",
"clientId",
"clientSecret"
]
},
{
"type": "object",
"properties": {
"provider": {
"const": "gitlab"
},
"purpose": {
"enum": [
"sso",
"integration"
]
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"baseUrl": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
2025-11-03 00:11:48 +00:00
},
"required": {
"type": "boolean",
"default": true
2025-10-31 21:12:48 +00:00
}
},
"required": [
"provider",
"purpose",
"clientId",
"clientSecret",
"baseUrl"
]
},
{
"type": "object",
"properties": {
"provider": {
"const": "google"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret"
]
},
{
"type": "object",
"properties": {
"provider": {
"const": "okta"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"issuer": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret",
"issuer"
]
},
{
"type": "object",
"properties": {
"provider": {
"const": "keycloak"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"issuer": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret",
"issuer"
]
},
{
"type": "object",
"properties": {
"provider": {
"const": "microsoft-entra-id"
},
"clientId": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"clientSecret": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
},
"issuer": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"clientId",
"clientSecret",
"issuer"
]
},
{
"type": "object",
"properties": {
"provider": {
"const": "gcp-iap"
},
"audience": {
"anyOf": [
{
"type": "object",
"properties": {
"env": {
"type": "string",
2025-11-03 00:20:25 +00:00
"description": "The name of the environment variable that contains the token."
2025-10-31 21:12:48 +00:00
}
},
"required": [
"env"
],
"additionalProperties": false
2025-11-03 00:20:25 +00:00
},
{
"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
2025-10-31 21:12:48 +00:00
}
]
}
},
"required": [
"provider",
"audience"
]
}
]
}
```