airbytehq / airbytehq/PyAirbyte

Bug: Secret references to non-string fields are injected as strings, causing validation failures

Open
#852 1 comment 1 reaction 0 assignees View on GitHub
bug enhancement
Dominant language
Python
Stars
344
Forks
77
Avg merge
1d 11h
Merged PRs (30d)
35

Description

## Description

When a secret reference is used to point to a non-string field (such as 'port'), the value is injected as a string. This can cause validation to fail due to type mismatch.

## Example

If a connector config has a numeric field like `port` and it's provided via secret reference:
```json
{
"host": "localhost",
"port": "secret_reference::MY_PORT_SECRET"
}
```

The secret value is injected as a string (e.g., `"5432"`) instead of being cast to the correct type (e.g., `5432`), causing JSON schema validation to fail.

## Proposed Solution

Use the connector's JSON schema (from `connectionSpecification`) to infer when a secret reference needs to be cast to a numeric type rather than keeping it as a string.

For now, we can focus on the generic numeric type and ignore other types.

## Context

This is relevant to the work in #850 and PR #851, where we're adding the ability to fetch connector specs from the registry. Having access to the JSON schema enables proper type casting of secret references without requiring local connector execution.

## Related

- Issue #850
- PR #851

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.