Skip to content

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