Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 72 additions & 0 deletions content/blog/registry-usage-insights/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: "Registry usage insights: know which stacks run which versions"
allow_long_title: true
date: 2026-02-13
draft: false
meta_desc: "See which stacks use which package versions at a glance. Filter by adoption status and track version sprawl across your organization."
meta_image: meta.png
authors:
- idp-team
tags:
- idp
- features
- platform-engineering
- pulumi-cloud
---

Platform teams need visibility into package adoption at scale. Responding to security advisories, planning deprecations, and tracking version sprawl all require knowing which stacks run which package versions across your organization.

<!--more-->

## From Individual to Organizational Visibility

Previously, we [introduced the "Used by" tab](/blog/announcing-pulumi-private-registry/) on individual package pages, giving you visibility into which stacks use a specific package. However, navigating package by package doesn't scale when you're managing dozens of packages across hundreds of stacks.

Today, we're extending that visibility to the organization level. You can now see adoption data for all packages at a glance, filter by usage status, and share specific views with your team.

## What You Can See

![Package list showing usage columns](usage-columns.png)

The package list now displays three usage columns for each package:

1. **Stacks on latest**: the number of stacks running the latest version
1. **Not on latest**: the number of stacks running older versions
1. **Total**: all stacks using any version of the package

These numbers update as stacks are deployed, giving you a real-time view of adoption across your organization.

## Find What Matters with Filters

![Filter dropdown](filter-dropdown.png)

Three filters help you find packages that need attention:

- **Used**: packages with at least one stack
- **Unused**: packages with zero usage
- **Not on latest**: packages where stacks are running older versions

Combine filters with search to find specific packages.

## Browse All Packages in One Place

![Registry tab](registry-tab.png)

The new **Registry** tab under Platform shows all packages available to your organization, including public providers and components from [pulumi.com/registry](https://www.pulumi.com/registry/) alongside your organization's private packages. The **Private Components** tab (previously called Components) now includes the same usage columns and filters.

## Share Specific Views

Search queries, filters, and pagination sync to the URL. Copy the URL to share a specific view with your team, or bookmark it for quick access to your regular monitoring workflow.

## Why This Matters

These features are designed for the scenarios platform teams face regularly:

- **Security response**: filter to "Not on latest" to identify stacks running vulnerable versions
- **Deprecation planning**: before retiring a package, check its usage to understand the migration scope
- **Version sprawl**: identify packages where teams are running many different versions and prioritize standardization efforts
- **Adoption tracking**: see which packages are gaining traction and which aren't being adopted

## Get Started

Navigate to **Platform > Registry** in Pulumi Cloud to explore your organization's packages with the new usage columns and filters. For more details on the private registry features, see the [Private Registry documentation](/docs/idp/concepts/private-registry/).
Binary file added content/blog/registry-usage-insights/meta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/docs/idp/concepts/platform-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 29 additions & 13 deletions content/docs/idp/concepts/private-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,32 @@ Pulumi Private Registry is the source of truth for an organization's infrastruct

Developers leverage templates and components in their preferred workflows, whether it be incorporating components into Pulumi programs, scaffolding a low-code program with components and YAML, or using the Pulumi console for [no-code deployments](/docs/idp/concepts/no-code-stacks/). The private registry is also a resource for developers to discover components and templates, browse their APIs, and use READMEs to understand how to use them.

## Registry views

The Platform menu includes two package views:

### Registry

![Platform menu showing Registry tab](/docs/idp/concepts/platform-menu.png)

Browse all packages available to your organization, including public providers and components from [pulumi.com/registry](https://www.pulumi.com/registry/) plus your organization's private packages. Features include:

- View documentation for any version of a package
- See usage data showing how packages are adopted across your organization
- Filter by usage status to find packages that need attention

### Private Components

This tab shows only the component packages published by your organization via `pulumi package publish`.

### Usage tracking

![Package list showing usage columns and filters](/docs/idp/concepts/usage-columns.png)

Both package list views display usage columns for each package: how many stacks are on the latest version, how many are on older versions, and the total number of stacks using the package. You can filter the list to show only used packages, unused packages, or packages where stacks are running older versions.

Each package page also includes a "Used by" tab showing which stacks use that package, including the stack name, project, version in use, and last update timestamp. This helps you assess the impact of changes before updating versions and identify stacks that may need upgrading.

## Component Publishing

[Pulumi Components](/docs/iac/concepts/resources/components/) are a way to encapsulate resources in a reusable manner. Components are also a powerful way for platform teams to integrate security, compliance, and operational requirements into golden paths so that developers don't need to worry about it. Once a component is pushed to GitHub or GitLab, it is published to an organization's private registry using the `publish` CLI command. Pulumi automatically introspects the component schema and generates API docs, which are displayed in the registry.
Expand Down Expand Up @@ -138,27 +164,17 @@ func (f *PetAbstractedOutputs) Annotate(a infer.Annotator) {

{{< /chooser >}}

#### Component usage tracking

Each component in the private registry includes a usage tab that shows which stacks are using that component. This helps platform teams understand component adoption and assess the impact of changes before updating versions.

The usage tab displays:

- Stack name and project
- Component version in use
- Last update timestamp

This information helps you identify stacks that may need updating when releasing new component versions and provides visibility into which teams are adopting standardized components.
## Component Options

#### Specifying an Organization
### Specifying an Organization

If you're part of multiple organizations and do not have a [default organization](/docs/iac/cli/commands/pulumi_org_set-default/) set, you must specify the org by using the `--publisher` flag.

```bash
pulumi package publish github.com/acme/k8s-cluster --publisher ORG_NAME
```

#### Authenticating with Private Repositories
### Authenticating with Private Repositories

If your repository is private, a valid `GITHUB_TOKEN` or `GITLAB_TOKEN` is required for all commands, including `publish`, `get schema`, and when using the component in a program -- `pulumi install`, `pulumi up`, etc.

Expand Down
Binary file added content/docs/idp/concepts/usage-columns.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading