Commit Graph
19 Commits
Author SHA1 Message Date
stefankoelle a1760b7b01 feat: add Windows Terminal native split-pane option
Add multiplexer config option to switch between tmux/psmux (default) and
Windows Terminal's native split-pane on Windows. This avoids the
psmux focus-freeze issue when switching away from the terminal window.

- Add Multiplexer field to config with MultiplexerBackend() getter
- Add startWtSession() using wt.exe split-pane command
- Dispatch startTmuxSession() based on OS and config
- Document option in config.example.yaml
2026-09-16 21:10:36 +02:00
stefankoelle 720064454b fix: use correct ExternalSecret CRD name for force-sync annotation
The force-sync pre-filled the ExternalSecret object name with the
Kubernetes secret name (e.g. job-apply-common-secrets), but the
kubectl annotate command must target the ExternalSecret CRD object
(e.g. job-apply). Added external_secret_name_template config option
with fallback to k8s_secret_name_template.
2026-09-16 11:49:35 +02:00
stefankoelle c0ad7e803e feat: add config opt-out, TTY check, and config-first update flow
- Add auto_update_check config field (defaults to true)
- Load config before update check, skip if auto_update_check is false
- Add TTY check before interactive prompt (skip in non-TTY environments)
- Update config.example.yaml with new option documentation
2026-08-22 10:44:01 +02:00
stefankoelle ffbf4341fa Remove debug output from TUI, use verbose-only logging for tmux setup
- Debug fmt.Fprintf calls were always visible in TUI
- Added VerboseLog() to kubeexec package for use by full.go
- All tmux debug output now only shows with --verbose flag
2026-08-09 21:46:25 +02:00
stefankoelle 6a749811c7 LICENSE 2026-08-09 20:59:04 +02:00
stefankoelle 36a7cc5e3a Windows support: psmux hint, install.ps1, updated docs 2026-08-09 20:14:54 +02:00
stefankoelle edc02d48d4 Phase 2 hardening: binary secret handling, tool checks, input validation, verbose flag, diff scroll 2026-08-09 19:23:37 +02:00
stefankoelle 2c8e8016ff fix: config error handling, stderr separation, single-env pane, namespace sort 2026-08-09 19:12:19 +02:00
Stefan Koelle 145288971a Add separate k8s_secret_name_template, since Kubernetes secret names follow a different pattern than AWS secret names 2026-08-09 14:36:44 +02:00
Stefan Koelle c02e145e4a Rework kubeexec to take explicit --context per call instead of mutating global kubectl state; drop functions superseded by config templates 2026-08-09 14:01:06 +02:00
Stefan Koelle 929b073382 Redesign config schema: contexts + envs + AWS region + secret/context templates instead of live kubectl discovery and context-pairs 2026-08-09 13:58:19 +02:00
Stefan Koelle 3af468de98 Remove context-pair tests, superseded by env-template based context resolution 2026-08-09 13:54:01 +02:00
Stefan Koelle 0a607bab28 Remove context-pair logic, superseded by env-template based context resolution 2026-08-09 13:51:36 +02:00
Stefan Koelle 1f87cdbf08 Add pure template-resolution logic (kctl.ResolveTemplate) with unit tests 2026-08-09 13:49:38 +02:00
Stefan Koelle c229f4d5d8 Add AWS auth check (sts get-caller-identity) and configurable SSO login command 2026-08-09 12:37:51 +02:00
Stefan Koelle b7d553c966 Add ListAWSSecrets and GetSecretAllFields for the redesigned secrets diff flow 2026-08-09 12:10:59 +02:00
Stefan Koelle 793c28afff Add pure secret-diff logic (kctl.DiffSecretValues) with unit tests 2026-08-09 12:09:25 +02:00
Stefan Koelle 96ec9d2e1a Add internal/kubeexec wrapper and cmd/kctl-tui entrypoint (main, full mode) 2026-08-09 11:22:15 +02:00
Stefan Koelle dc8bcc555f Add internal/kctl and internal/config packages with unit tests 2026-08-09 11:21:47 +02:00