turnout 0.1.0

A developer's switchyard: point local apps at any backend stand, keep servers and secrets at hand, build and deploy from any directory
turnout-0.1.0 is not a library.

turnout

A developer's switchyard: point local apps at any backend stand, keep servers and secrets at hand, build and deploy - from any directory.

Status: early development. The CLI skeleton is in place; the entity model, secrets and the dev gateway are being built - see the roadmap below.

Why

Day-to-day work with several backend stands is scattered:

  • to run a project you have to cd into its folder;
  • to switch a stand you edit .env files across repositories;
  • to deploy you must remember configs, passwords and server paths;
  • to copy a login or password you dig through notes and chats.

turnout puts all of it into one CLI that works from any directory:

  • Dev gateway. Your apps always talk to localhost; turnout routes requests to the selected stand. Switching a stand is one command - and sessions survive it, because the gateway keeps a cookie jar per app+server pair.
  • Secrets in the OS keyring (Windows Credential Manager / macOS Keychain / Linux Secret Service). Copy a password to the clipboard with one command; nothing is stored in plain files.
  • App commands anywhere. dev, build, test, lint and custom commands run in the right project folder for you.
  • Deploy. Build, package, upload over SSH/SFTP, restart the service - using the same apps, servers and secrets.

Install

Binary releases - grab the archive for your platform from Releases (Windows x86_64, Linux x86_64, macOS arm64), unpack and put turnout on your PATH.

From source:

git clone https://github.com/lacodda/turnout.git
cd turnout
cargo install --path .

Quick start

turnout setup    # first-run wizard: creates the data directory
turnout status   # what turnout knows right now

Data lives in the platform user data directory (e.g. %LOCALAPPDATA%\lacodda\turnout on Windows); set TURNOUT_DATA_DIR to override.

Roadmap

  • CLI skeleton: setup, status
  • Apps and servers: CRUD with interactive wizards
  • Secrets: OS keyring storage, copy to clipboard
  • Dev gateway: per-stand cookie jars, self-signed HTTPS, redirect rewriting
  • use - bind an app to a stand with one command
  • Gateway: WebSocket proxying
  • App commands: dev / build / test / lint from any directory
  • Deploy: build, upload over SSH/SFTP, restart
  • Deploy: remote backup and restore
  • Shell completions
  • Comfort: app groups, config templates and migrations

Documentation

The documentation site (Astro Starlight) lives in docs/; architecture decision records are in docs/adr/.

License

MIT (c) Kirill Lakhtachev