Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions baton_capabilities.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"@type": "type.googleapis.com/c1.connector.v2.ConnectorCapabilities",
"resourceTypeCapabilities": [
{
"resourceType": {
"id": "database",
"displayName": "Database"
},
"capabilities": [
"CAPABILITY_SYNC",
"CAPABILITY_PROVISION"
],
"permissions": {}
},
{
"resourceType": {
"id": "routine",
"displayName": "Routine"
},
"capabilities": [
"CAPABILITY_SYNC",
"CAPABILITY_PROVISION"
],
"permissions": {}
},
{
"resourceType": {
"id": "server",
"displayName": "Server"
},
"capabilities": [
"CAPABILITY_SYNC",
"CAPABILITY_PROVISION"
],
"permissions": {}
},
{
"resourceType": {
"id": "table",
"displayName": "Table"
},
"capabilities": [
"CAPABILITY_SYNC",
"CAPABILITY_PROVISION"
],
"permissions": {}
},
{
"resourceType": {
"id": "user",
"displayName": "User",
"traits": [
"TRAIT_USER"
]
},
"capabilities": [
"CAPABILITY_SYNC",
"CAPABILITY_ACCOUNT_PROVISIONING",
"CAPABILITY_RESOURCE_DELETE"
],
"permissions": {}
}
],
"connectorCapabilities": [
"CAPABILITY_PROVISION",
"CAPABILITY_SYNC",
"CAPABILITY_ACCOUNT_PROVISIONING",
"CAPABILITY_RESOURCE_DELETE"
],
"credentialDetails": {
"capabilityAccountProvisioning": {
"supportedCredentialOptions": [
"CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD"
],
"preferredCredentialOption": "CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD"
}
}
}
126 changes: 126 additions & 0 deletions config_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"fields": [
{
"name": "log-level",
"description": "The log level: debug, info, warn, error",
"isOps": true,
"stringField": {
"defaultValue": "info"
}
},
{
"name": "log-level-debug-expires-at",
"description": "The timestamp indicating when debug-level logging should expire",
"isOps": true,
"stringField": {}
},
{
"name": "session-store-maximum-size",
"description": "The maximum size of the local in-memory session store cache in bytes.",
"isOps": true,
"intField": {
"defaultValue": "15728640"
}
},
{
"name": "otel-collector-endpoint",
"description": "The endpoint of the OpenTelemetry collector to send observability data to (used for both tracing and logging if specific endpoints are not provided)",
"isOps": true,
"stringField": {}
},
{
"name": "otel-collector-endpoint-tls-cert-path",
"description": "Path to a file containing a PEM-encoded certificate to use as a CA for TLS connections to the OpenTelemetry collector",
"isOps": true,
"stringField": {}
},
{
"name": "otel-collector-endpoint-tls-cert",
"description": "A PEM-encoded certificate to use as a CA for TLS connections to the OpenTelemetry collector",
"isOps": true,
"stringField": {}
},
{
"name": "otel-collector-endpoint-tls-insecure",
"description": "Allow insecure connections to the OpenTelemetry collector",
"isOps": true,
"boolField": {}
},
{
"name": "otel-tracing-disabled",
"description": "Disable OpenTelemetry tracing",
"isOps": true,
"boolField": {}
},
{
"name": "otel-logging-disabled",
"description": "Disable OpenTelemetry logging",
"isOps": true,
"boolField": {}
},
{
"name": "health-check",
"description": "Enable the HTTP health check endpoint",
"isOps": true,
"boolField": {}
},
{
"name": "health-check-port",
"description": "Port for the HTTP health check endpoint",
"isOps": true,
"intField": {
"defaultValue": "8081"
}
},
{
"name": "health-check-bind-address",
"description": "Bind address for health check server (127.0.0.1 for localhost-only)",
"isOps": true,
"stringField": {
"defaultValue": "127.0.0.1"
}
},
{
"name": "http-timeout-seconds",
"description": "HTTP client timeout in seconds (max 1800)",
"isOps": true,
"intField": {
"defaultValue": "300",
"rules": {
"lte": "1800",
"gte": "1"
}
}
},
{
"name": "connection-string",
"description": "The connection string for connecting to MySQL ($BATON_CONNECTION_STRING)",
"isRequired": true,
"isSecret": true,
"stringField": {
"rules": {
"isRequired": true
}
}
},
{
"name": "skip-database",
"description": "Skip syncing privileges from these databases ($BATON_SKIP_DATABASE)",
"stringSliceField": {
"rules": {}
}
},
{
"name": "expand-columns",
"description": "Provide a table like db.table to expand the column privileges into their own entitlements. $(BATON_EXPAND_COLUMNS)",
"stringSliceField": {
"rules": {}
}
},
{
"name": "collapse-users",
"description": "Combine user@host pairs into a single user@[hosts...] identity $(BATON_COLLAPSE_USERS)",
"boolField": {}
}
]
}
Loading
Loading