p5

Crates.iop5
lib.rsp5
version0.10.0
created_at2025-03-29 20:46:13.801834+00
updated_at2025-06-15 01:30:05.347842+00
descriptionA tui client for Pulumi
homepagehttps://github.com/rfhold/p5
repositoryhttps://github.com/rfhold/p5
max_upload_size
id1611678
size1,168,517
Robert (rfhold)

documentation

README

P5

Pulumi was too long

A TUI application to help you manage your Pulumi stacks.

Installation

cargo install p5

Demo

Demo usage of p5

Features

  • Contexts
  • Command prompt
  • Select workspace
  • Select stack
  • Show stack information
    • Show stack outputs
    • Show stack settings
  • Show stack resources
    • Edit state json
      • Edit resource json
  • Preview stack changes
    • Operation type colors
    • Detailed Diff
    • Special iconography
      • Protected resources
    • Resources Hierarchy
  • Update stack
  • Destroy stack
  • Refresh stack
  • Cancel Operation
  • Include and Exclude resources
  • Import resources
  • Remove resources
  • List workspaces
    • Select workspace
    • Create workspace
  • List stacks
    • Select stack
    • Create stack
    • Rename stack
    • Delete stack
    • Copy stack
  • Self host config
    • Backend Url
    • Env
      • Authentication hook
      • Static
      • Secret Manager
  • Edit Pulumi config
    • Edit stack config
    • Edit program config
  • Navigation
  • Context Command Palette
    • Keybinds
  • Help
  • Show stack history
  • Event log
    • Show event log
    • Filter event log

Motivation

Pulumi is a great tool, but the CLI is not very user friendly. I wanted to create a TUI application that would make it easier to manage Pulumi stacks and programs. I also wanted to get a better grasp of async rust and TUI development, so this is a great opportunity to do both. With p5 I should be able to rapidly iterate over IaC changes while also assisting in complicated sate manipulation.

Debt

  • pulumi-automation error handling and async cleanup
    • error stream for operations
  • tracing
  • otel
Commit count: 28

cargo fmt