mirror of
https://github.com/skoelle/kctl-tui.git
synced 2026-09-17 20:10:24 +00:00
Fix SPEC.md and README.md for current codebase
- SPEC.md: Windows is now a fully supported platform (not secondary) - SPEC.md: Remove outdated 'manual pane handling' claim for Windows - SPEC.md: Update non-functional requirements (Linux/macOS/Windows) - README.md: Remove duplicate 'This downloads...' paragraph - README.md: Use --namespace instead of -n in k9s examples
This commit is contained in:
@@ -42,9 +42,9 @@ See [SPEC.md](SPEC.md) for the full requirements and design rationale, and
|
|||||||
| -> 1) Quit 2) beta 3) prod |
|
| -> 1) Quit 2) beta 3) prod |
|
||||||
| each with: a) Secrets sync b) Redeploy |
|
| each with: a) Secrets sync b) Redeploy |
|
||||||
+--------------------------------------------------+
|
+--------------------------------------------------+
|
||||||
| k9s --context <resolved beta context> -n <ns> |
|
| k9s --context <resolved beta context> --namespace <ns> --command pods |
|
||||||
+--------------------------------------------------+
|
+--------------------------------------------------+
|
||||||
| k9s --context <resolved prod context> -n <ns> |
|
| k9s --context <resolved prod context> --namespace <ns> --command pods |
|
||||||
+--------------------------------------------------+
|
+--------------------------------------------------+
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -95,9 +95,6 @@ curl -fsSL https://raw.githubusercontent.com/skoelle/kctl-tui/main/install.sh |
|
|||||||
irm https://raw.githubusercontent.com/skoelle/kctl-tui/main/install.ps1 | iex
|
irm https://raw.githubusercontent.com/skoelle/kctl-tui/main/install.ps1 | iex
|
||||||
```
|
```
|
||||||
|
|
||||||
This downloads the latest release binary for your architecture from
|
|
||||||
GitHub Releases and installs it to your PATH.
|
|
||||||
|
|
||||||
This downloads the latest release binary for your OS/architecture from
|
This downloads the latest release binary for your OS/architecture from
|
||||||
GitHub Releases and installs it to `/usr/local/bin/kctl-tui`.
|
GitHub Releases and installs it to `/usr/local/bin/kctl-tui`.
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,10 @@ work, bundling the most common workflows currently done via long
|
|||||||
`kubectl`/`k9s`/`aws-cli` commands, operable through a text UI (arrow keys,
|
`kubectl`/`k9s`/`aws-cli` commands, operable through a text UI (arrow keys,
|
||||||
Esc) instead of long typed commands.
|
Esc) instead of long typed commands.
|
||||||
|
|
||||||
Target platform: **Linux / WSL** (primary usage scenario, since split
|
Target platform: **Linux / WSL / Windows** (primary usage scenario, since
|
||||||
panes require a real terminal multiplexer). Native Windows (without WSL)
|
split panes require a real terminal multiplexer). On Windows, use
|
||||||
is possible but with reduced split-view functionality (see 3.6).
|
[psmux](https://github.com/marlocarlo/psmux) as tmux-compatible
|
||||||
|
multiplexer.
|
||||||
|
|
||||||
**Technology decision: Go + Bubble Tea** (see section 5).
|
**Technology decision: Go + Bubble Tea** (see section 5).
|
||||||
|
|
||||||
@@ -177,11 +178,11 @@ Alternatively, run kctl-tui inside WSL with standard `tmux`.
|
|||||||
|
|
||||||
## 4. Non-functional requirements
|
## 4. Non-functional requirements
|
||||||
|
|
||||||
- **Primary platform Linux/WSL**, secondary native Windows (via psmux).
|
- **Platforms**: Linux, macOS, Windows (via psmux or WSL).
|
||||||
- **Single-binary distribution** without external runtime dependency (Go
|
- **Single-binary distribution** without external runtime dependency (Go
|
||||||
provides this natively).
|
provides this natively).
|
||||||
- **External dependencies**: `kubectl` mandatory; `tmux`, `k9s`, `aws-cli`
|
- **External dependencies**: `kubectl` mandatory; `tmux`/`psmux`, `k9s`,
|
||||||
depending on the action used.
|
`aws-cli` depending on the action used.
|
||||||
- **Low startup time**, noticeably faster than the current `kubens`
|
- **Low startup time**, noticeably faster than the current `kubens`
|
||||||
experience.
|
experience.
|
||||||
- **No destructive actions without confirmation** (redeploy, force-sync).
|
- **No destructive actions without confirmation** (redeploy, force-sync).
|
||||||
@@ -243,16 +244,14 @@ Rejected options (see discussion history):
|
|||||||
- These fixes are a prerequisite before the tool can be meaningfully
|
- These fixes are a prerequisite before the tool can be meaningfully
|
||||||
tested, since it builds directly on `kubectl config`.
|
tested, since it builds directly on `kubectl config`.
|
||||||
|
|
||||||
## 8. Open items / out of scope (v1)
|
## 8. Open items / out of scope
|
||||||
|
|
||||||
- No automatic label setup for namespaces (migration is a separate,
|
- No automatic label setup for namespaces (migration is a separate,
|
||||||
one-time task).
|
one-time task).
|
||||||
- Split view v1 fixed at 2 status panes + 1 control pane (3 panes total).
|
- Split view fixed at 2 status panes + 1 control pane (3 panes total).
|
||||||
- No RBAC/permission checks before executing sensitive actions — the tool
|
- No RBAC/permission checks before executing sensitive actions — the tool
|
||||||
assumes existing kubectl permissions.
|
assumes existing kubectl permissions.
|
||||||
- Configuration file format (`config.yaml`) is defined and implemented;
|
- Configuration file format (`config.yaml`) is defined and implemented;
|
||||||
concrete label keys, context names, and namespace names are
|
concrete label keys, context names, and namespace names are
|
||||||
project-specific and belong exclusively in the user's local, unversioned
|
project-specific and belong exclusively in the user's local, unversioned
|
||||||
configuration, not in this document or the source code.
|
configuration, not in this document or the source code.
|
||||||
- Native Windows (without WSL) remains a secondary platform with manual
|
|
||||||
pane handling instead of an automated tmux lifecycle.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user