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, tests, 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.2.0-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pulumi_ui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for pulumi_ui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64c6d48d4015025e5b51ee56ac88245945e3691a817d5899ae78f7f8ef0bed82
MD5 72dc1cdcea5d07900a188591c78f0c8e
BLAKE2b-256 a278be80fc5b9eeff3a092a3e0849a04941c0f571bd2e2e3172317ae7c618e9f

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