turnout-cli 0.7.1 → 0.9.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.
Files changed (2) hide show
  1. package/README.md +9 -6
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -74,12 +74,13 @@ And see what has been going on:
74
74
 
75
75
  ```console
76
76
  $ turnout status
77
- turnout 0.7.0
77
+ turnout 0.9.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
- Access: saved for prod-eu
82
+ Creds: 1 (prod-deploy)
83
+ Paths: 1 (wwwroot)
83
84
  Bindings:
84
85
  api -> staging
85
86
  web -> prod-eu
@@ -92,13 +93,14 @@ Recent:
92
93
  ## What you get
93
94
 
94
95
  - **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.
95
- - **Secrets in the OS keyring** - Windows Credential Manager, macOS Keychain, Linux Secret Service. Copy a password to the clipboard with one command; nothing lands in a config file, and `status` only ever reports *that* a credential exists.
96
+ - **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.
97
+ - **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.
96
98
  - **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`.
97
99
  - **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.
98
- - **Portable settings.** `export` writes your apps, servers and groups to one file and `import` merges it on another machine; secrets come along only when you ask, sealed with a passphrase.
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.
99
101
  - **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.
100
102
  - **Groups.** Bind a whole contour to one stand with a single `use`.
101
- - **Nothing to memorize.** Leave a name out and pick it from a list; in bash, Tab completes app, server and group names from your own catalogs. The short alias `tn` is installed alongside.
103
+ - **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.
102
104
  - **An action journal.** Every state change appends one JSON line - what happened and to which entities, never secrets or output. `tail`, `grep` and `jq` work on it directly.
103
105
 
104
106
  ## Install
@@ -141,6 +143,7 @@ turnout app add # register a project (detects its commands)
141
143
  turnout server add # register a stand
142
144
  turnout use # bind one to the other
143
145
  turnout gateway start # route traffic through the gateway
146
+ turnout deploy-setup # to deploy: walks the credential and path too
144
147
  ```
145
148
 
146
149
  Data lives in the platform user data directory (e.g. `%LOCALAPPDATA%\lacodda\turnout` on Windows); set `TURNOUT_DATA_DIR` to override.
@@ -151,7 +154,7 @@ Full command reference and concepts: **[lacodda.github.io/turnout](https://lacod
151
154
 
152
155
  Everything above works today. What is next:
153
156
 
154
- - [ ] **Credentials and paths as their own entities** - one login reused across servers, a remote directory declared once, and named builds so a deploy stays a single word
157
+ - [ ] **Named builds** - app + server + credential + path under one name, so `turnout deploy webui-prod` works from any directory
155
158
  - [ ] **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
156
159
  - [ ] **Background runs** - `dev --detach`, `ps`, `logs`, `stop`, OS notifications
157
160
  - [ ] **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.7.1",
3
+ "version": "0.9.0",
4
4
  "turnout": {
5
- "binary": "v0.7.1"
5
+ "binary": "v0.9.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",