airbytehq / airbytehq/PyAirbyte

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

Abierto
#852 1 comentario 1 reacción 0 asignados Ver en GitHub
bug enhancement
Lenguaje dominante
Python
Estrellas
344
Forks
77
Merge medio
1 d 11 h
PR fusionados (30 d)
35

Descripción

## 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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.