Skip to content

feat: add EnvVarName to PropertySpec and annotate driver specs#9323

Closed
royendo wants to merge 1 commit into
mainfrom
royendo/connector-spec-env-var-name
Closed

feat: add EnvVarName to PropertySpec and annotate driver specs#9323
royendo wants to merge 1 commit into
mainfrom
royendo/connector-spec-env-var-name

Conversation

@royendo
Copy link
Copy Markdown
Contributor

@royendo royendo commented Apr 28, 2026

as part of effort to slim: #8981,

  • Adds an EnvVarName metadata field to drivers.PropertySpec so driver specs can declare the conventional env var name for each secret property (e.g. AWS_ACCESS_KEY_ID, GOOGLE_APPLICATION_CREDENTIALS).
  • Populates EnvVarName on secret properties across 14 driver specs: athena, azure, bigquery, clickhouse, druid, duckdb (motherduck), gcs, mysql, pinot, postgres, redshift, s3, salesforce, snowflake.
  • The mapping isn't mechanical — some keys share well-known names across drivers (AWS_*), others add infixes (AZURE_STORAGE_*), and some diverge entirely (GCS key_idGCP_ACCESS_KEY_ID) — so the field has to be explicit.
  • No consumers in this PR; the field will be read by upcoming declarative template work.

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

Developed in collaboration with Claude Code

Adds a metadata-only `EnvVarName` field on `drivers.PropertySpec` and
populates it on secret properties across athena, azure, bigquery,
clickhouse, druid, duckdb (motherduck), gcs, mysql, pinot, postgres,
redshift, s3, salesforce, and snowflake. The field captures the
conventional env var name (e.g. `AWS_ACCESS_KEY_ID`,
`GOOGLE_APPLICATION_CREDENTIALS`) since the mapping isn't mechanical.

No consumers yet; field is read by upcoming template-connector work.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@royendo royendo requested a review from a team as a code owner April 28, 2026 16:24
@royendo royendo marked this pull request as draft April 28, 2026 16:25
@royendo
Copy link
Copy Markdown
Contributor Author

royendo commented Apr 28, 2026

So your real question is: do we want the env var convention defined once at the driver level (Go) or per-template (JSON)?
Driver-level is less drift; per-template is more flexible but redundant when the same property appears in many templates.

Will close for now since the current template code doesnt actually use this

@royendo royendo closed this Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant