mirror of
https://github.com/lukaszraczylo/kportal.git
synced 2026-06-05 23:03:40 +00:00
62483f9475
docs/index.html (kportal.raczylo.com):
- Features grid gains Bulk Generate, Sensitive Header Redaction,
Verified Installer cards; Headless card subtext clarified to
'logs to stderr'.
- Keybindings: 'a' -> 'n' for Add (matches real binding).
- Quick Install card notes SHA-256 + optional cosign verification
and DRY_RUN / SKIP_COSIGN env vars.
- New Bulk Generate usage tile with --dry-run hint; Headless tile
redirects stderr.
- HTTP Traffic Logging card mentions automatic header redaction
and the wizard 'h' toggle.
README.md:
- install.sh note expanded with DRY_RUN/SKIP_COSIGN table.
- HTTP Traffic Logging section gains 'Toggling per-forward
logging', 'Header redaction', and 'Advanced configuration'
examples.
- Headless mode clarified to log to stderr (2>kportal.log).
- Troubleshooting note on accepted context-name characters.
WIZARD_USAGE.md:
- Add binding corrected from 'a' to 'n'; 'e' (edit) row added.
- 'h' httpLog toggle and Tab focus switch documented.
- New 'Edit Forward Wizard' section noting same-port allowed and
advanced httpLog preserved.
- Esc-cancels-delete behaviour clarified.
CHANGELOG.md: [Unreleased] populated with Added / Changed / Fixed
entries for this session's user-facing work, dated 2026-05-06.
.kportal.yaml example: inline 'httpLog: true' comment on one
forward as a usage hint.
74 lines
2.9 KiB
YAML
74 lines
2.9 KiB
YAML
# Example kportal configuration
|
|
# Copy this file to your project and customize as needed
|
|
|
|
# Optional: Health check configuration
|
|
# These settings control how kportal monitors connection health and detects stale connections
|
|
healthCheck:
|
|
interval: "3s" # How often to check connection health (default: 3s)
|
|
timeout: "2s" # Timeout for health check operations (default: 2s)
|
|
method: "data-transfer" # Health check method: "tcp-dial" or "data-transfer" (default: data-transfer)
|
|
# - tcp-dial: Simple TCP connection test (fast, less reliable)
|
|
# - data-transfer: Attempts to read data (slower, more reliable)
|
|
maxConnectionAge: "25m" # Maximum connection age before proactive reconnect (default: 25m)
|
|
# Helps avoid Kubernetes API server timeouts (typically 30m)
|
|
maxIdleTime: "10m" # Maximum idle time before marking as stale (default: 10m)
|
|
# Connections with no data transfer are marked stale
|
|
|
|
# Optional: Reliability configuration
|
|
# These settings improve connection stability for long-running transfers
|
|
reliability:
|
|
tcpKeepalive: "30s" # TCP keepalive interval for OS-level connection monitoring (default: 30s)
|
|
dialTimeout: "30s" # Connection dial timeout (default: 30s)
|
|
retryOnStale: true # Automatically reconnect when stale connections detected (default: true)
|
|
watchdogPeriod: "30s" # Goroutine watchdog check interval to detect hung workers (default: 30s)
|
|
|
|
contexts:
|
|
# Production context
|
|
- name: production
|
|
namespaces:
|
|
- name: default
|
|
forwards:
|
|
# Forward to API service
|
|
- resource: service/api
|
|
protocol: tcp
|
|
port: 8080
|
|
localPort: 8080
|
|
alias: prod-api
|
|
httpLog: true # Enable HTTP traffic logging for this forward (press 'l' in the TUI)
|
|
|
|
# Forward to PostgreSQL database
|
|
- resource: service/postgres
|
|
protocol: tcp
|
|
port: 5432
|
|
localPort: 5432
|
|
alias: prod-db
|
|
|
|
- name: monitoring
|
|
forwards:
|
|
# Forward to Prometheus using label selector
|
|
- resource: pod
|
|
selector: app=prometheus
|
|
protocol: tcp
|
|
port: 9090
|
|
localPort: 9090
|
|
alias: prometheus
|
|
|
|
# Staging context
|
|
- name: staging
|
|
namespaces:
|
|
- name: default
|
|
forwards:
|
|
# Forward to staging app (prefix matching handles pod restarts)
|
|
- resource: pod/myapp
|
|
protocol: tcp
|
|
port: 8080
|
|
localPort: 8081
|
|
alias: staging-http
|
|
|
|
# Forward multiple ports from same pod
|
|
- resource: pod/myapp
|
|
protocol: tcp
|
|
port: 9090
|
|
localPort: 9091
|
|
alias: staging-metrics
|