cub mutation list
cub mutation list
List mutations
Synopsis
List mutations for a unit in a space. Mutations track the history of detailed mutations made to a unit's configuration.
The default output identifies each mutation and shows what produced it: the Link, Trigger or Invocation behind it and the function it ran. -o wide adds the timestamp, the Subgroup, and the replay outcome -- what a merge did with the mutation, which is what says whether a function re-ran downstream or the merge patched its result across instead.
Examples:
# List all mutations for a unit
cub mutation list --space my-space my-ns
# List mutations without headers
cub mutation list --space my-space --no-headers my-ns
# List mutations in JSON format
cub mutation list --space my-space -o json my-ns
# List mutations of a unit named by its ID instead of its slug
cub mutation list --space my-space 61f26b06-3c34-4363-8b9d-7d0a7c2b5f1c
# List mutations with custom JQ filter
cub mutation list --space my-space -o jq='.[].MutationNum' my-ns
# List mutations with specific criteria
cub mutation list --space my-space --where 'MutationNum > 1' my-ns
# List mutations that set a particular image. The function invoked is a FunctionInvocation
# object in the response, and --where names it the same way.
cub mutation list --space my-space --where "FunctionInvocation.FunctionName = 'set-container-image' AND FunctionInvocation.Arguments.?ParameterName=container-image.Value LIKE 'nginx%'" my-ns
# List mutations whose function took a given value as any argument
cub mutation list --space my-space --where "FunctionInvocation.Arguments.*.Value = 'production'" my-ns
# List mutations whose invocation stated a reason for what it wrote
cub mutation list --space my-space --where "FunctionInvocation.Guards.owner = 'platform-trigger'" my-ns
cub mutation list <unit> [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
--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
--limit int Return at most this many entities; 0 returns all of them. They are read from the server in pages of at most 1000
--no-headers Don't print headers for table output
--order-by string Order the entities by these fields, as comma-separated 'ASC:Field', 'DESC:Field' or 'Field' terms, such as "DESC:CreatedAt". Entities with equal values are ordered by ID. With --limit, this decides which entities are returned
-o, --output string Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
--quiet No default 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, by slug or UUID, whose columns to display. The View's Filter, if it has one, selects the entities as --filter does
--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]+$'"
Options inherited from parent commands
--component string the Component of --variant, when that names the variant alone; --variant <component>/<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 <space>/<slug>; "*" means the same as omitting it
--variant string variant to operate in, as <component>/<variant>, or as <variant> with --component: the space naming that Component whose Variant label is <variant>. The same scope as --space, named by what it is rather than by the space's slug; the two cannot be combined
SEE ALSO
- cub mutation - Mutation commands