airbytehq / airbytehq/PyAirbyte

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

Ouverte
#852 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
bug enhancement
Langage dominant
Python
Étoiles
344
Forks
77
Merge moyen
1 j 11 h
PR mergées (30 j)
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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.