cub unit tree
Display units in a tree view
Synopsis
Display units in a tree view showing relationships between units.
The tree view shows the hierarchical relationships between units based on the specified edge type.
Supports two types of relationships:
- 'clone': Units connected via UpstreamUnit (configuration inheritance)
- 'link': Units connected via Link relationships (dependency/producer-consumer)
The tree can display either unit names or space names as nodes:
- 'unit' (default): Shows unit names as tree nodes, with space names in a second column
- 'space': Shows space names as tree nodes, with unit names in a second column
By default the tree is shown on the left, complementary info in the second column, and
columns on the right: UpgradeNeeded, UnreleasedChanges and Unit.ValidationErrors. --columns
replaces those columns, and -q shows the tree alone.
Examples:
# Show simple clone tree for all units in a space (clone is default)
cub unit tree --space my-space
# Show link-based tree showing dependency relationships
cub unit tree --space my-space --edge link
# Show tree with space names as nodes
cub unit tree --space my-space --node space
# Show hybrid view with custom columns for link relationships
cub unit tree --space my-space --edge link --columns UpgradeNeeded,UnreleasedChanges,Unit.Labels.Environment
# Show clone tree for specific units
cub unit tree --space my-space --where "Labels.environment = 'production'"
# Show link tree for specific units
cub unit tree --space my-space --edge link --where "Labels.tier = 'web'"
# Show tree across all spaces in the organization (no --space)
cub unit tree
# Show link tree across all spaces with custom columns
cub unit tree --edge link --columns Space.Slug,UnreleasedChanges
# Show space-based tree across all spaces
cub unit tree --node space --columns UnreleasedChanges
# Explicitly specify clone edge type
cub unit tree --space my-space --edge clone
```
cub unit tree [flags]
--columns strings columns to display; can be repeated or comma-separated (e.g., Slug,Labels.Environment)
--contains string Free text search for entities containing the specified text. Searches across string fields (like Slug, DisplayName) and map fields (like Labels, Annotations). Case-insensitive matching. Can be combined with --where using AND logic. Example: "backend" to find entities with backend in any searchable field
--edge string Edge type for tree relationships (clone, link) (default "clone")
--filter string Filter entity to apply to the list. Specify as 'space/filter' for cross-space filters or just 'filter' for current space. Supports both slugs and UUIDs. The filter will be combined with any --where clause using AND logic. Examples: "production-filters/security-check", "my-filter-uuid", "validation-rules"
-h, --help help for tree
--include-hidden string[="
"] Also select hidden entities, to list or to act on: those hidden for the given HiddenReasons, comma-separated, as in --include-hidden=BackingUnit, or for any reason when given no value or "". ConfigHub/YAML Units, which hold the configuration of other entities, are hidden with the reason BackingUnit. A --where naming entities by Slug or ID selects them whether hidden or not
--no-headers Don't print headers for table output
--node string Node type for tree display (unit, space) (default "unit")
-o, --output string Output format. One of: json, yaml, name, wide, mutations, jq=
, yq=, custom-columns=
--quiet No default output.
--resource-type string resource-type filter
--select string Comma-separated list of fields to retrieve and display. Entity IDs and Slug are always included. Example: "DisplayName,CreatedAt,Labels"
--verbose Detailed output, additive with default output
--where string Filter expression using SQL-inspired syntax. Supports conjunctions with AND. String operators: =, !=, <, >, <=, >=, LIKE, NOT LIKE, ILIKE, ~~, !~~, ~, ~, !~, !~. Pattern matching with LIKE/ILIKE uses % and _ wildcards. Regex operators (~, ~, !~, !~) support POSIX regular expressions. A related entity is referenced by prefix, as in "UpstreamUnit.Slug = 'base'"; when the reference names a list, a * segment matches any element, as in "FromLink..Slug = 'upgrade-app'". Examples: "Slug LIKE 'app-%'", "DisplayName ILIKE '%backend%'", "Slug ~ '^[a-z]+-[0-9]+$'"
--where-data string where data filter
### Options inherited from parent commands
--component string the Component of --variant, when that names the variant alone; --variant / says the same in one flag
--context string The context to use for this command
--debug Debug output
--space string space to operate in, by slug or UUID. Omitted, a list or bulk operation spans the organization and a single entity is named as /; "" means the same as omitting it
--variant string variant to operate in, as /, or as with --component: the space naming that Component whose Variant label is . The same scope as --space, named by what it is rather than by the space's slug; the two cannot be combined
```
SEE ALSO