turnout-cli 0.10.3 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ $ turnout use
|
|
|
58
58
|
Ship it:
|
|
59
59
|
|
|
60
60
|
```console
|
|
61
|
-
$ turnout deploy web
|
|
61
|
+
$ turnout deploy web-prod-eu -b
|
|
62
62
|
[web] pnpm build
|
|
63
63
|
✓ Connected to deploy@prod-eu.example.com:22
|
|
64
64
|
✓ Backup 20260809-011500.tar.gz created in /var/www/web.backups
|
|
@@ -74,13 +74,14 @@ And see what has been going on:
|
|
|
74
74
|
|
|
75
75
|
```console
|
|
76
76
|
$ turnout status
|
|
77
|
-
turnout 0.
|
|
77
|
+
turnout 0.11.0
|
|
78
78
|
Data directory: ~/.local/share/lacodda/turnout
|
|
79
79
|
Apps: 2 (api, web)
|
|
80
80
|
Servers: 2 (prod-eu, staging)
|
|
81
81
|
Group: contour (web, api)
|
|
82
82
|
Creds: 1 (prod-deploy)
|
|
83
83
|
Paths: 1 (wwwroot)
|
|
84
|
+
Targets: 1 (web-prod-eu)
|
|
84
85
|
Bindings:
|
|
85
86
|
api -> staging
|
|
86
87
|
web -> prod-eu
|
|
@@ -94,10 +95,11 @@ Recent:
|
|
|
94
95
|
|
|
95
96
|
- **A dev gateway.** Apps always talk to `localhost`; turnout forwards to the selected stand over HTTP or HTTPS (self-signed certificates allowed per server), rewrites redirects, proxies WebSockets, and keeps a cookie jar per app+stand pair so switching does not log you out.
|
|
96
97
|
- **Servers, logins and paths kept apart.** A machine, the credential that logs into it and the directory files land in are three named entities. Define a deploy account once and point every stand at it; declare a web root once and reuse it across servers.
|
|
98
|
+
- **Named deploy targets.** The four of them under one name: `turnout deploy web-prod-eu` from any directory, no flags to re-type. A first deploy that has no target yet offers to save the one it just used.
|
|
97
99
|
- **Secrets in the OS keyring** - Windows Credential Manager, macOS Keychain, Linux Secret Service. A secret belongs to a credential, so one `pass set` covers every stand that credential reaches. Copy it to the clipboard with one command; nothing lands in a config file, and `status` only ever reports *that* a credential exists.
|
|
98
100
|
- **Commands from any directory.** `dev`, `build`, `test`, `lint` and any custom command run in the right project folder. Commands are taken from your actual `package.json` scripts, so a project whose dev script is `serve` still answers to `turnout dev`.
|
|
99
101
|
- **Deploy over SSH/SFTP** - build, upload, restart, with remote backup and restore when a release goes wrong. Artifacts travel as a single archive instead of thousands of round trips, falling back to file-by-file when the server cannot unpack one. Linux and Windows servers alike: turnout detects which shell answers SSH and phrases every remote command in it.
|
|
100
|
-
- **Portable settings.** `export` writes your apps, servers, credentials, paths and groups to one file and `import` merges it on another machine; secrets come along only when you ask, sealed with a passphrase.
|
|
102
|
+
- **Portable settings.** `export` writes your apps, servers, credentials, paths, targets and groups to one file and `import` merges it on another machine; secrets come along only when you ask, sealed with a passphrase.
|
|
101
103
|
- **Stays current.** A once-a-day check mentions a new release without ever delaying a command, and `self-update` installs it - leaving package-manager installs to their package manager.
|
|
102
104
|
- **Groups.** Bind a whole contour to one stand with a single `use`.
|
|
103
105
|
- **Nothing to memorize.** Leave a name out and pick it from a list; in bash, Tab completes app, server, credential, path and group names from your own catalogs. The short alias `tn` is installed alongside.
|
|
@@ -133,7 +135,7 @@ cargo install turnout
|
|
|
133
135
|
|
|
134
136
|
**Binary releases** - grab the archive for your platform from [Releases](https://github.com/lacodda/turnout/releases/latest) (Windows x86_64, Linux x86_64, macOS arm64), unpack and put `turnout` on your `PATH`.
|
|
135
137
|
|
|
136
|
-
The installers and the npm package also register the short alias `tn` (skipped if the name is already taken; `TURNOUT_NO_ALIAS=1` opts out). `cargo install` gives you `turnout` only.
|
|
138
|
+
The installers and the npm package also register the short alias `tn` (skipped if the name is already taken; `TURNOUT_NO_ALIAS=1` opts out). `cargo install` gives you `turnout` only. The alias is a link to the binary rather than a copy of it, so an install costs one binary and both names always answer with the same version.
|
|
137
139
|
|
|
138
140
|
Both installers take the newest release by default; set `TURNOUT_VERSION` to a tag to pin one, and `TURNOUT_INSTALL_DIR` to choose where the binary lands.
|
|
139
141
|
|
|
@@ -145,7 +147,7 @@ turnout app add # register a project (detects its commands)
|
|
|
145
147
|
turnout server add # register a stand
|
|
146
148
|
turnout use # bind one to the other
|
|
147
149
|
turnout gateway start # route traffic through the gateway
|
|
148
|
-
turnout deploy-setup # to deploy: walks the credential and
|
|
150
|
+
turnout deploy-setup # to deploy: walks the credential, path and target
|
|
149
151
|
```
|
|
150
152
|
|
|
151
153
|
Data lives in the platform user data directory (e.g. `%LOCALAPPDATA%\lacodda\turnout` on Windows); set `TURNOUT_DATA_DIR` to override.
|
|
@@ -156,7 +158,6 @@ Full command reference and concepts: **[lacodda.github.io/turnout](https://lacod
|
|
|
156
158
|
|
|
157
159
|
Everything above works today. What is next:
|
|
158
160
|
|
|
159
|
-
- [ ] **Named builds** - app + server + credential + path under one name, so `turnout deploy webui-prod` works from any directory
|
|
160
161
|
- [ ] **Key-based access, set up rather than only used** - generate a key, install it on the server and verify it in one command, including the Windows administrator case
|
|
161
162
|
- [ ] **Background runs** - `dev --detach`, `ps`, `logs`, `stop`, OS notifications
|
|
162
163
|
- [ ] **Observability** - gateway request log, `doctor`, `report` for handing context to an assistant
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "turnout-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"turnout": {
|
|
5
|
-
"binary": "v0.
|
|
5
|
+
"binary": "v0.11.0"
|
|
6
6
|
},
|
|
7
7
|
"description": "A developer's switchyard: point local apps at any backend stand, keep servers and secrets at hand, build and deploy from any directory",
|
|
8
8
|
"license": "MIT",
|