Skip to content

mgh3326/kpod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kpod

A CLI tool that manages Kubernetes Pods as personal remote development environments.

Install

go install github.com/mgh3326/kpod@latest

Or build from source:

git clone https://github.com/mgh3326/kpod.git
cd kpod
go build -o kpod .

Quick Start

# 1. Initialize config
kpod init

# 2. Add app config
# Edit ~/.kpod/apps/<name>.yaml (see apps.example.yaml)

# 3. Create Pod
kpod create

# 4. Bootstrap environment
kpod install

# 5. Setup app
kpod setup <app>

# 6. Connect
kpod console

Commands

Command Description
kpod init Interactive config setup
kpod create Create Pod, wait for readiness
kpod delete Delete Pod
kpod status Show Pod status
kpod console Interactive shell into Pod
kpod console -- <cmd> Run command on Pod
kpod install Bootstrap packages and dotfiles
kpod setup <app> Clone and setup an app
kpod sync [app] Sync local code to Pod
kpod cp <src> <dest> Copy files (prefix pod: for remote)
kpod tunnel [local:]remote Port-forward
kpod history backup Backup bash_history
kpod history restore Restore bash_history

Configuration

All config lives in ~/.kpod/ (never committed to the repo).

~/.kpod/
├── config.yaml       # Global config (context, namespace, image, etc.)
├── apps/
│   └── <name>.yaml   # Per-app config (repo, env, ports, etc.)
├── dotfiles/         # Dotfiles uploaded on `kpod install`
│   ├── bashrc
│   ├── gitconfig
│   └── screenrc
└── bash_history      # Backed up history

See config.example.yaml and apps.example.yaml for config format.

Secret Management

Secrets are stored in Kubernetes Secrets and injected via envFrom.secretRef. No secrets are stored in config files or in this repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors