Skip to content

cub resource list

cub resource list

List resources

Synopsis

List the resources contained in your units' configuration data, in a space or across all spaces.

Resources can be filtered by their metadata (ResourceType, ResourceName, ToolchainType, UnitID, SpaceID, TargetID) and by their configuration data. Data paths use dot notation, and a literal dot within a key is escaped as ~1 (for example Data.metadata.labels.app~1kubernetes~1io/name).

TargetID mirrors the containing unit's, so it selects resources by where they will be applied. Resources of units with no target have no TargetID.

Attributes of the containing unit and space are addressed with a prefix -- Unit.Labels.App, Unit.Slug, Space.Labels.Environment -- and can be combined with resource and data predicates. Only the fields a filter names are fetched for those entities, so filtering on a unit label does not drag the unit's configuration data along.

Data paths use the same syntax as --where-data on units, including array indexes (containers.0), wildcards (containers.*), associative matching (containers.?name=nginx), and split paths (.|). A path selecting several values matches when any of them satisfies the comparison. Embedded accessors (#accessor) and parameter bindings (@key:name) are the exceptions; use "cub unit list --where-data" for those.

Examples:

  # List all resources in a space
  cub resource list --space my-space

  # List every Deployment in the organization
  cub resource list --space "*" --where "ResourceType = 'apps/v1/Deployment'"

  # List everything headed for one target, across all spaces
  cub resource list --space "*" --where "TargetID = '<target-uuid>'"

  # Find resources that are not bound to any target yet
  cub resource list --space "*" --where "TargetID IS NULL"

  # Filter by a label on the containing unit or its space
  cub resource list --space "*" --where "Unit.Labels.App = 'checkout'"
  cub resource list --space "*" --where "Space.Labels.Environment = 'prod' AND ResourceType = 'v1/Service'"

  # Find Deployments running more than one replica
  cub resource list --space "*" --where "ResourceType = 'apps/v1/Deployment' AND Data.spec.replicas > 1"

  # Find a named container's image, wherever it sits in the containers array
  cub resource list --space "*" --where "Data.spec.template.spec.containers.?name=nginx.image LIKE 'nginx:1.%'"

  # Any container running an image from a given registry
  cub resource list --space "*" --where "Data.spec.template.spec.containers.*.image LIKE 'ghcr.io/%'"

  # Find resources by name
  cub resource list --space "*" --where "ResourceName LIKE '%/checkout%'"

  # Find resources whose data has a top-level key
  cub resource list --space my-space --where "Data ? 'spec'"

  # List resources without headers for scripting
  cub resource list --space my-space --no-headers

  # Include the configuration data, which is omitted from the default output
  cub resource list --space my-space --select "ResourceType,ResourceName,Data" -o json
cub resource list [flags]

Options

      --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
      --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 list
      --no-headers        Don't print headers for table output
  -o, --output string     Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
      --quiet             No default output.
      --raw-data          include each resource's configuration in its original form (YAML for Kubernetes), as RawData in --json output
      --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
      --view string       view slug or UUID whose columns to display; DataPath columns are read from the stored configuration
      --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. Examples: "Slug LIKE 'app-%'", "DisplayName ILIKE '%backend%'", "Slug ~ '^[a-z]+-[0-9]+$'"

Options inherited from parent commands

      --context string   The context to use for this command
      --debug            Debug output
      --space string     space ID to perform command on

SEE ALSO