Repository navigation
feat!: connections only from layer.toml (synalog.toml renamed); 2.1.0 - #19
Merged
Merged
Conversation
A project's [connection] (its secrets in .env, or SYNALOG_<ENGINE>_<FIELD>) is now the one place a database is described. Gone: --dsn, the SYNALOG_<ENGINE>_DSN variables, the connections saved in ~/.config by `synalog connect <engine> <dsn>`, the positional dsn of `introspect`, and the `dsn=` parameters of check() and execute(), which take `project=`, the folder whose synalog.toml to use (default: the current directory). - `synalog connect <engine> key=value ...` writes the project file (secret fields to .env), `synalog connect` shows it with its secrets hidden, `synalog connect clear` removes it. - Runners connect from the fields themselves, no URL built and parsed back: Presto now honours auth=password, Trino auth=jwt, Databricks its catalog and schema, BigQuery its dataset. - Secrets are read only when the project's engine runs: a program run in memory inside a project needs none. - project.write checks the required fields before writing: a failed connect leaves the project as it was. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Loaded into os.environ, the first project's secret stuck: a second project on the same engine, in the same process, got its password. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
synalog.toml is renamed layer.toml everywhere: the file synalog finds, connect writes and introspect reads, the examples and the docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The project file is renamed
layer.toml(wassynalog.toml), and version 2.1.0.A project's
[connection]inlayer.toml(its secrets in.env, orSYNALOG_<ENGINE>_<FIELD>) is now the only place a database is described.Removed (breaking)
--dsn, theSYNALOG_<ENGINE>_DSNvariables~/.config/synalog/connections.json,synalog connect <engine> <dsn>)synalog introspect <engine> [dsn]outside a projectdsn=incheck()andexecute(): they takeproject=, the folder whoselayer.tomlto use (default: the current directory)Changed
synalog connect <engine> key=value ...writes the project file (secret fields to.env);synalog connectshows it, secrets hidden;synalog connect clearremoves it.auth=password, Trinoauth=jwt, Databricks its catalog/schema, BigQuery its dataset.project.writevalidates before writing.Tested: CLI suite (5899 passed); live introspection on psql/trino/presto through a
layer.toml;connect+run+introspectby hand on the three engines.🤖 Generated with Claude Code