A TUI for managing Pulumi stacks.

go install github.com/rfhold/p5/cmd/p5@latest
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
| Key | Action |
|---|
j/k | Up/down |
g/G | Top/bottom |
PgUp/PgDn | Page scroll |
| Key | Action |
|---|
s | Stack selector |
w | Workspace selector |
h | History view |
D | Details panel |
? | Help |
| Key | Action |
|---|
u | Preview up |
r | Preview refresh |
d | Preview destroy |
| Key | Action |
|---|
U | Execute up |
R | Execute refresh |
| Key | Action |
|---|
t | Target |
p | Replace |
x | Exclude |
v | Visual select |
c/C | Clear flags |
| Key | Action |
|---|
i | Import (preview create ops) |
x | Delete from state |
P | Protect/unprotect |
o | Open in external tool |
y/Y | Copy JSON |
Esc | Back/cancel |
q | Quit |
Extend p5 with authentication, import helpers, and resource openers.
- env: Load environment variables
- kubernetes: Import suggestions via kubectl
- k9s: Open resources in k9s
- grafana: Open resources in browser
- cloudflare: Import suggestions (stub)
# p5.toml
[plugins.env.config]
path = ".env"
# Pulumi.yamlp5:
plugins:
kubernetes:
import_helper: truek9s:
resource_opener: true
See docs/plugins/ for details.
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