Skip to content

feat!: connections only from layer.toml (synalog.toml renamed); 2.1.0 - #19

Merged
YoanSallami merged 4 commits into
mainfrom
feat/toml-connections
Oct 8, 2026
Merged

YoanSallami merged 4 commits into
mainfrom
feat/toml-connections

Conversation

@YoanSallami

@YoanSallami YoanSallami commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

The project file is renamed layer.toml (was synalog.toml), and version 2.1.0.

A project's [connection] in layer.toml (its secrets in .env, or SYNALOG_<ENGINE>_<FIELD>) is now the only place a database is described.

Removed (breaking)

  • --dsn, the SYNALOG_<ENGINE>_DSN variables
  • the saved connections (~/.config/synalog/connections.json, synalog connect <engine> <dsn>)
  • synalog introspect <engine> [dsn] outside a project
  • dsn= in check() and execute(): they take project=, the folder whose layer.toml to use (default: the current directory)

Changed

  • synalog connect <engine> key=value ... writes the project file (secret fields to .env); synalog connect shows it, secrets hidden; synalog connect clear removes it.
  • Runners connect from the fields directly (no URL built and parsed back): Presto honours auth=password, Trino auth=jwt, Databricks its catalog/schema, BigQuery its dataset.
  • Secrets are read only when the project's engine runs.
  • project.write validates before writing.

Tested: CLI suite (5899 passed); live introspection on psql/trino/presto through a layer.toml; connect + run + introspect by hand on the three engines.

🤖 Generated with Claude Code

synalinks-saas and others added 3 commits October 8, 2026 09:14
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>
@YoanSallami YoanSallami changed the title feat!: a connection comes only from synalog.toml feat!: connections only from layer.toml (synalog.toml renamed); 2.1.0 Oct 8, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@YoanSallami
YoanSallami merged commit 1f09111 into main Oct 8, 2026
44 checks passed
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.

2 participants