Imperative create

kubectl-style generators that build a canonical object from flags and apply it.

Alongside the minimal rl <kind> create <name> that every kind carries, a few kinds have a rich generator: rl <kind> create builds a canonical object from flags and applies it. There is no bespoke server endpoint. Add --dry-run -o yaml to print the generated object instead of applying it (handy for turning a quick command into a manifest).

rl namespace create <name>

Create a Namespace. Alias: ns.

rl namespace create dev
rl ns create dev -l team=platform
rl ns create dev --dry-run -o yaml
FlagDescription
-l, --labels <name=value>Labels (repeatable or comma-separated).
--dry-runPrint the generated object instead of applying it.
-o, --output <format>With --dry-run, output format (yaml).
--as <subject>Impersonate a subject.
--home <dir>Data directory.

rl secret create <name>

Create a Secret. Values are never printed unmasked, and a Secret is broadcast to every origin of its namespace.

rl secret create db \
  --from-string password=s3cret \
  --from-file ca.crt=./ca.pem \
  -n dev
FlagDescription
--from-string <name=value>Literal data (repeatable).
--from-file <name=path>File content as data (repeatable).
-l, --labels <name=value>Labels (repeatable or comma-separated).
--dry-runPrint the generated object instead of applying it.
-o, --output <format>With --dry-run, output format (yaml).
-n, --namespace <ns>Namespace.
--as <subject>Impersonate a subject.
--home <dir>Data directory.

Note

--from-file reads the file content client-side and stores it as Secret data, so secret material never lands on disk in a manifest.

rl workstation create <name>

Create a Workstation. Alias: ws.

rl workstation create my-box
rl ws create my-box --config ide --provider gcp -l tier=dev
rl ws create my-box --dry-run -o yaml   # print, don't apply
FlagDescription
--config <name>WorkstationConfig to apply (repeatable).
--provider <name>Pin a provider (adds a provider:<x> requirement; omit for automatic placement).
--image <distribution>Base image distribution (e.g. debian).
-l, --labels <name=value>Labels (repeatable or comma-separated).
--dry-runPrint the generated object instead of applying it.
-o, --output <format>With --dry-run, output format (yaml).
-n, --namespace <ns>Namespace.
--as <subject>Impersonate a subject.
--home <dir>Data directory.