https://github.com/fcrozetta/kubeforward
CLI to forward kubectl services to local
https://github.com/fcrozetta/kubeforward
Last synced: 4 months ago
JSON representation
CLI to forward kubectl services to local
- Host: GitHub
- URL: https://github.com/fcrozetta/kubeforward
- Owner: fcrozetta
- License: apache-2.0
- Created: 2026-01-26T11:40:12.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-26T17:47:33.000Z (4 months ago)
- Last Synced: 2026-02-26T23:51:39.759Z (4 months ago)
- Language: C++
- Size: 75.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: agents.md
Awesome Lists containing this project
README
# kubeforward
Kubeforward is a macOS-first CLI for config-driven Kubernetes port-forward workflows.
Current implementation status: config loading/validation, `plan`, `up`, and `down` are implemented.
## Quick Start
```bash
brew install fcrozetta/tools/kubeforward
kubeforward help
kubeforward plan --file kubeforward.yaml
kubeforward up --file kubeforward.yaml --env dev --daemon
kubeforward down --file kubeforward.yaml --env dev
```
- `help` shows global command usage.
- `plan` validates config and renders a normalized environment/forward summary.
- `up` starts all forwards in the selected environment.
- `down` stops tracked forwards for one environment or all environments.
## Minimal Config
Create `kubeforward.yaml` at repo root:
```yaml
version: 1
metadata:
project: demo-project
defaults:
namespace: default
bindAddress: 127.0.0.1
environments:
dev:
forwards:
- name: api
resource:
kind: deployment
name: api
ports:
- local: 7000
remote: 7000
```
Then run:
```bash
kubeforward plan --env dev
```
## Command Reference
- `kubeforward help`
- `kubeforward --version`
- `kubeforward plan [-f|--file ] [-e|--env ] [-v|--verbose]`
- `kubeforward up [-f|--file ] [-e|--env ] [-d|--daemon] [-v|--verbose]`
- `kubeforward down [-f|--file ] [-e|--env ] [-d|--daemon] [-v|--verbose]`
Notes:
- Unknown environments fail fast.
- Schema errors are reported with contextual paths.
- Duplicate local ports within an environment are rejected.
- `up` without `--daemon` stays attached in the foreground until a forward exits or the user stops it.
## Config Reference
Full schema and validation details: [`docs/config-schema.md`](docs/config-schema.md)
## Maintainer Docs
Build/test/release/maintenance workflows live in [`docs/maintainer.md`](docs/maintainer.md).