Lenses
Most fleet queries get run more than once: what's not ready in production, or which of the platform team's resources changed today. A lens saves the search, filters, sort order, and columns behind a view, so you can return to it in one click, and so your team starts from the same view instead of rebuilding it each time.

What you can do
- Return to a view in one click. Pick a lens instead of re-entering filters each time you open the Resources, Definitions, or Packages page.
- Give your team a shared starting point. Share a lens so everyone triaging an incident looks at the same set of resources.
- Send someone a temporary view. Copy a link that opens the page with your filters applied, without codifying it into a shared lens.
- Start from Upbound's lenses. Hub includes lenses for the most common queries, such as Crossplane resources that aren't ready.
How lenses work
A lens is a saved view of one list: Resources, Definitions, or Packages. It stores what you'd otherwise set by hand:
- A search term, a set of filters, or both. A lens needs at least one.
- A sort order.
- The columns and layout the Console shows.
Each time you open a lens, Hub runs its search and filters against the current data. A lens runs with the permissions of the user who opens it, so two people who open the same lens could see different resources. See Access-scoped results.
Who can see and change a lens
Every lens has an owner and a visibility:
| Lens | Who sees it | Who can change or delete it |
|---|---|---|
| Private | Only its owner. | Its owner. |
| Shared | Everyone who signs in to Hub. | Its owner. |
| Built-in | Everyone who signs in to Hub. | No one. |
New lenses start private. Sharing a lens doesn't let others change it. To build on someone else's lens, duplicate it as your own.
Lenses belong to Hub as a whole rather than to a realm, so a shared lens is available in every realm.
Built-in lenses
Hub includes two lenses, which Upbound maintains:
| Lens | Shows |
|---|---|
| Not-ready Crossplane resources | Composite resources, claims, and composed resources whose Ready condition is False. |
| Unhealthy Crossplane packages | Providers, configurations, functions, and add-ons whose Healthy condition is False. |
Both lenses target the Resources list.
Limits
- A lens's filter expression can be at most 2048 bytes.
- Only the owner can change a lens. Another user gets a permission error, even an administrator.