cub space create
cub space create
Create a space
Synopsis
Create a new space as a collaborative context for a project or team. A space that is a variant of a Component names it with --component; a space whose Units are released names the Target its Releases are for with --release-target, which its Units then take.
Single space creation examples:
# Create a new space named "my-space" with verbose output, reading configuration from stdin
# Verbose output prints the details of the created entity
cub space create --verbose -o json --from-stdin my-space
# Create a new space with minimal output
cub space create my-space
# Create a space in the "website" Component, with the well-known Space labels, as shown by "cub space list"
cub space create website-canary --component website --variant canary --stage Canary \
--environment Prod --region us-east1
# Create a space whose Releases are for the Target prod-cluster in the infra space
cub space create website-prod --component website --variant prod --release-target infra/prod-cluster
Bulk creation examples:
# Bulk create spaces by cloning existing spaces with name prefixes
cub space create --where "Slug IN ('prod', 'staging')" --name-prefix "backup-,test-"
# Clone specific spaces by identifier with prefixes
cub space create --space "space1,space2" --name-prefix "new-"
cub space create [space] [flags]
Options
--allow-exists Allow creation of resources that already exist
--annotation strings annotations in key=value format; can separate by commas and/or use multiple instances of the flag
--attribute-filter string Filter slug or UUID to identify Attributes that should be registered for functions run on Units within this Space (use '-' to clear)
--backing-unit-space string space, by slug or UUID, for the backing Units --with-backing-units creates; required with it, since a Space is in no space of its own
--component string slug or ID of the Component the Space is a Variant of
--delete-gate strings delete gates in key[=true] format; can separate by commas and/or use multiple instances of the flag
--display-name string friendly name for the entity, which need not be unique or URL-safe; an entity without one is shown by its slug
--dry-run report what the command would write, and write nothing
--environment string value for the well-known "Environment" Space label (e.g. Prod); shorthand for --label Environment=<value>
--filename string Read the ConfigHub entity's fields, as YAML or JSON, from file, URL (https://), or stdin (-), as --from-stdin does; mutually exclusive with --from-stdin
--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"
--filter-unit string filter, by slug or UUID, over Units selecting those to create from, with --from-backing-units
--from-backing-units create a Space from each ConfigHub/YAML Unit --where-unit, --filter-unit and --space select that describes one, in the Unit's space, with the Unit as its backing Unit
--from-stdin Read the ConfigHub entity's fields, as YAML or JSON, from stdin; merged with command arguments on create, and merged with command arguments and existing entity on update. A field the entity does not have, or one only the server sets, is refused; cub <entity> explain lists the fields
-h, --help help for create
--hidden-reason string hide the entity, giving the reason as a name such as Archived: lists and bulk operations leave it out unless --include-hidden names the reason (use '-' to clear, which shows the entity again)
--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
--label strings labels in key=value format; can separate by commas and/or use multiple instances of the flag
--layer string value for the well-known "Layer" Space label (e.g. App); shorthand for --label Layer=<value>
--name-pattern string a pattern string for name generation of clones, prefix 'template:' to use a Go template with .SourceEntitySlug to access the original Space and .Labels to access variant labels, example: 'template:{{.SourceEntitySlug}}-{{.Labels.env}}'
--name-prefix strings name prefixes for bulk create (can be repeated or comma-separated)
-o, --output string Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
--owner string value for the well-known "Owner" Space label (e.g. Engineering); shorthand for --label Owner=<value>
--patch-existing with --from-backing-units, patch a Space a selected Unit already backs with what the Unit holds that it has not taken yet, rather than report that the Unit backs it
--permission strings permission in format Action:UserIDOrUsername, Action:group:GroupSlugOrID for a group you belong to, or Action:serviceaccount:ServiceAccountSlugOrID (e.g., Manage:user@example.com, View:group:platform, View:serviceaccount:deploy-bot, can be repeated)
--quiet No default output.
--region string value for the well-known "Region" Space label (e.g. us-east1); shorthand for --label Region=<value>
--release-target string Target to use as the default release Target for Units in this Space, addressed as <target-space>/<target-slug> (a bare <target-slug> resolves in --space; a Target ID is also accepted)
--set stringArray set a field of the Space by its path, as <path>=<value> (repeatable). A path is field names separated by dots; a list element is addressed as ?<key>=<value> or by position, as in Stages.?Name=prod.WhereSpace, and is added if it is not there. A list of plain values separates them with ';'; an object or a list of objects is given as YAML or JSON. A reference is given as it is elsewhere, by slug, <space>/<slug> or ID. With --patch, only a path with no list element in it
--space strings target specific spaces by slug or UUID for bulk create (can be repeated or comma-separated)
--stage string value for the well-known "Stage" Space label (e.g. Canary); shorthand for --label Stage=<value>
--trigger-filter string Filter slug or UUID to identify Triggers that should be invoked on Units within this Space (use '-' to clear)
--unset stringArray clear a field of the Space by its path, or remove the list element the path ends at (repeatable)
--variant string value for the well-known "Variant" Space label (e.g. prod); shorthand for --label Variant=<value>
--variant-labels strings labels for bulk create in the format of key1=value1|value2,key2=value1|value2|value3
--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-attribute string filter expression to identify Attributes that should be registered for functions run on Units within this Space; with neither it nor an attribute filter, the Attributes in the Space are (use '-' to clear)
--where-trigger string filter expression to identify Triggers that should be invoked on Units within this Space; with neither it nor a trigger filter, the Triggers in the Space are (use '-' to clear)
--where-unit string where expression over Units selecting those to create from, with --from-backing-units
--with-backing-units give each Space the bulk operation writes a backing Unit if it has none: a ConfigHub/YAML Unit holding its configuration, kept in step with it
Options inherited from parent commands
--context string The context to use for this command
--debug Debug output
SEE ALSO
- cub space - Space commands