Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support standardized configuration files #281

Open
afeld opened this issue Sep 10, 2024 · 1 comment
Open

Support standardized configuration files #281

afeld opened this issue Sep 10, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@afeld
Copy link

afeld commented Sep 10, 2024

Is your feature request related to a problem? Please describe.

My team uses a bunch of tools that connect to Snowflake. Unfortunately, their configuration file support is a bit all over the place:

Tool Supports schemachange-config.yml Supports config.toml Supports connections.toml
Schemachange Yes ? ?
Snowflake CLI Yes Yes
The Python Connector Yes Yes
The VSCode extension Yes
The Terraform provider Yes*

*It says "The Snowflake config file lives at ~/.snowflake/config and uses TOML format" - I haven't tested if ~/.snowflake/config.toml works as well.

This means that the configuration for each needs to be done separately, which was a hassle. (Less so now that it's all set up.)

Describe the solution you'd like

My ideal is that Snowflake as a company moves all their projects to standardized configuration files - presumably config.toml and connections.toml - with a canonical specification/documentation. I'm not sure where best to raise that idea so that the various project maintainers would see it.

Given this is the schemachange repository, my specific request is for schemachange to support those files. Given it uses the Python Connector under the hood, I suspect they might be supported already, but it's unclear to me how that plays with the schemachange-config.yml without digging through the code / doing a bunch of experimentation. If that's the case, I suppose the resolution would be an update to the README about how to use them.

Describe alternatives you've considered

Our workaround has been to specify the user-specific/sensitive configuration details in a .env file, then pass it through as environment variables by running our various commands (schemachange, terraform, etc.) through dotenv.

Additional context

none


Thanks!

@afeld afeld added the enhancement New feature or request label Sep 10, 2024
@zanebclark
Copy link

Agreed! I've closed #291 in favor of your superior issue.

Check out #298 for a partial implementation. Some inconsistencies you might be interested in:

  • The snowflake cli only supports a config.toml and the Snowflake Python connector only supports a connections.toml. There's a real lack of parity across the tools here.
  • Some of the connections.toml arguments use hyphens and some use underscores.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants