Skip to main content

UI for visualizing self-hosted Pulumi state.

Project description

pulumi-ui

A UI to visualize Pulumi stacks in a self-hosted state backend.

Apache 2.0 License Pulumi Docs Commit activity


Overview

TL;DR The goal of this project is to make free self-hosting Pulumi at scale more viable for teams that do not need all of Pulumi Cloud's features.

The philosophical scope of this project includes tools, guides, or any resources that can help teams get the most advanced, production-level experience possible when self-hosting Pulumi--and to make this simple.

alt text

Quick start

Launch the UI

Launch the UI using your Pulumi state backend.

These examples assume your state is located in ~/.pulumi which is the default location used when you run pulumi login --local.

With pip

pip install pulumi-ui
pulumi-ui up --state-uri file://~

With uvx

uvx pulumi-ui up --state-uri file://~

With pipx

pipx run pulumi-ui up --state-uri file://~

With uv

uv add pulumi-ui
pulumi-ui up --state-uri file://~

Use a remote state backend

AWS S3 Bucket

pulumi-ui can pick up credentials from the environment, e.g. AWS profiles, IAM roles, etc.

Assuming you normally run pulumi login s3://my-pulumi-state-bucket to connect to your state backend, then run:

AWS_PROFILE=xxx pulumi-ui up --state-uri s3://my-pulumi-state-bucket

Google Cloud Storage

Assuming you normally run pulumi login gs://my-pulumi-state-bucket to connect to your state backend, then run:

GOOGLE_APPLICATION_CREDENTIALS=xxx pulumi-ui up --state-uri gs://my-pulumi-state-bucket

Azure Blob Storage

Assuming you normally run pulumi login az://my-pulumi-state-account/my-pulumi-state-container to connect to your state backend, then run:

AZURE_STORAGE_CONNECTION_STRING=xxx pulumi-ui up --state-uri az://my-pulumi-state-account/my-pulumi-state-container

Why does this project exist?

Pulumi is a great IaC tool.

It's open source. It uses real code unlike Terraform and CloudFormation. It can deploy resources across multiple clouds, unlike AWS CDK.

However, coming from "free" IaC tools like CloudFormation and AWS CDK, Pulumi Cloud's pricing of $1.10/resource/mo for teams larger than 10 people can be a tough pill to swallow.

We support the company behind Pulumi. Pulumi leads the way in IaC innovation, and it takes money to do that.

We hope for this project to increase the size and passion of the Pulumi community, bringing them more contributors and customers.

If engineers can use this tool to find initial success self-hosting Pulumi, they will be better equipped to get approval from their procurement departments to buy Pulumi Cloud. Sometimes that initial win requires more than 10 collaborators, more than 200 resources, more than a few-week "POC period", etc.

Contributing

We would LOVE to have you contribute!

Guides, docs, examples, features, hype, IaC to help folks deploy this themselves. All of it.

See CONTRIBUTING.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pulumi_ui-0.0.4-py3-none-any.whl (530.4 kB view details)

Uploaded Python 3

File details

Details for the file pulumi_ui-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pulumi_ui-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 530.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pulumi_ui-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 217f1d8848952cc9d05f7de6a0d2843012bf8842ad37f1b4aa8c46d7089a442c
MD5 272bb4e2317935a9c231986ca34e915e
BLAKE2b-256 0033ea5340a2b301fde80589f4a7998f3dc369ea64c699c6aa4352d2afbe0b14

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page