Skip to content

Repository files navigation

P5

A TUI for managing Pulumi stacks.

p5 demo

Install

go install github.com/rfhold/p5/cmd/p5@latest

Usage

p5 # Current directory
p5 -C /path/to/project
p5 -s dev # Specific stack
p5 up # Start with up preview
p5 refresh # Start with refresh preview
p5 destroy # Start with destroy preview

Keybindings

Navigation

KeyAction
j/kUp/down
g/GTop/bottom
PgUp/PgDnPage scroll

Views

KeyAction
sStack selector
wWorkspace selector
hHistory view
DDetails panel
?Help

Preview (lowercase)

KeyAction
uPreview up
rPreview refresh
dPreview destroy

Execute (uppercase)

KeyAction
UExecute up
RExecute refresh

Flags

KeyAction
tTarget
pReplace
xExclude
vVisual select
c/CClear flags

Actions

KeyAction
iImport (preview create ops)
xDelete from state
PProtect/unprotect
oOpen in external tool
y/YCopy JSON
EscBack/cancel
qQuit

Plugins

Extend p5 with authentication, import helpers, and resource openers.

Builtin

  • env: Load environment variables
  • kubernetes: Import suggestions via kubectl
  • k9s: Open resources in k9s
  • grafana: Open resources in browser
  • cloudflare: Import suggestions (stub)

Configuration

# p5.toml
[plugins.env.config]
path = ".env"
# Pulumi.yamlp5:
plugins:
kubernetes:
import_helper: truek9s:
resource_opener: true

See docs/plugins/ for details.

Documentation

Development

go build -o /dev/null ./cmd/p5 && ./scripts/dev.sh -C programs/simple
./scripts/view.sh # View output

See CONTRIBUTING.md for testing and contribution guidelines.

License

LICENSE

About

Pulumi was too long

Resources

Contributing

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages