Overview
Thedorgu persona command group manages ApplicationPersona custom resources. An ApplicationPersona is a Kubernetes CRD that captures the operational identity of your application as a declarative, version-controlled resource. It records resource requirements, scaling behavior, health characteristics, and deployment preferences.
Dorgu only watches workloads that have a persona. You create them from the Deployments already running on your cluster with persona import, then inspect them with persona list and persona status.
CLI
v0.13.0 removed persona generate and persona apply, which built a persona from local source. persona import reads the live Deployment instead and needs no source tree. See the CLI migration guide.persona import
Requires CLI v0.9.0 or newer.
Synopsis
ApplicationPersona for each from what is already in the spec: resources, probes, replicas, ports, image, and ownership labels.
This is how you onboard apps. It needs no local source, no Dockerfile, and no relabelling of your workloads. Dorgu only watches workloads that have a persona, so until one exists a broken app raises no incident and gets no proposed fix.
It prints the YAML by default so you can read it before anything reaches the cluster. --apply creates the personas; -o writes them to a file.
Flags
Exactly one of
--all or --name is required, and they are mutually exclusive. --apply and --dry-run are mutually exclusive.
Examples
> personas.yaml is safe. Only the rendered YAML goes to stdout; every diagnostic, warning, and summary line goes to stderr. Redirecting stdout gives you a clean multi-document manifest you can commit to Git, and you still see the warnings on your terminal.What gets inferred, and why it matters
Import reads the Deployment and invents as little as possible. Anything it does invent, it says out loud on stderr. Other things import reports rather than guesses at silently:How the persona is named
metadata.name is the Deployment’s name. spec.name is chosen so the operator’s discovery chain resolves it back to that same Deployment and no other: candidates are tried in chain order (app.kubernetes.io/name label, app label, then the Deployment name) and each is kept only if it resolves uniquely across the whole namespace.
Where no candidate works, because another Deployment carries a label that outranks this one’s name match, the CLI says so rather than pointing Dorgu at the wrong workload:
After importing
Active means the operator resolved the persona to its Deployment. Phase Pending means it did not: check the Ready condition for NoDeployment or AmbiguousDeployment and see troubleshooting.
The full walkthrough, from install through breaking an imported app and healing it, is the brownfield quickstart.
persona list
Synopsis
ApplicationPersona resources on the cluster with their phase, health, and age. Defaults to every namespace.
Flags
Example output
Examples
dorgu persona import. If the CRD is missing entirely, it reports that the operator is not installed rather than reporting an empty list.
persona status
Synopsis
ApplicationPersona by name. Requires exactly one argument: the persona name.
Flags
Examples
Status fields
Thepersona status command reports the following fields from the ApplicationPersona resource:
Requires the Dorgu Operator installed on the cluster with the
ApplicationPersona CRD registered. See the Operator installation guide for setup instructions.