Status
Accepted on 2026-03-08 by Jan Ivar Beddari.
Context
Dataverket needs a CLI toolchain that operators and developers can use daily. The CLIs must be short to type, easy to remember, and consistent across the suite.
The challenge is mapping the Norwegian service names defined in 001-service-naming.md to commands that still feel natural to an international engineering audience.
Decision Drivers
- The CLI family should feel consistent rather than service-specific and ad hoc.
- Commands should be short enough for daily operational use.
- The naming model should remain guessable for engineers who are more familiar with English infrastructure terminology.
- Authentication should not be implemented separately per CLI.
Considered Options
Shared dv prefix with short English-friendly mnemonics
Use a common prefix for the CLI family, then use short mnemonic suffixes that are recognizable to infrastructure engineers.
Direct Norwegian abbreviations per service
Base CLI names directly on shortened Norwegian service names.
Independent CLI names per service
Allow each service to choose its own CLI name without a common family prefix.
Decision
All CLIs share the dv prefix. After the prefix, the platform uses short English-friendly mnemonics rather than direct Norwegian abbreviations.
The CLI family is:
| CLI | Service name | Purpose | Mnemonic |
|---|---|---|---|
dv | Sentral | Projects, environments, billing, modules | The root orchestrator |
dvid | Identitet | Auth, tokens, identity | id is obvious |
dvce | Maskin | VMs and bare metal | ce for compute engine |
dvke | Plattform | Kubernetes | ke echoes GKE and EKS |
dvapp | Tjeneste | SaaS or app deployment | app is universal |
dvos | Objekt | Object storage | os for object storage |
dvnet | Nett | Datacenter network fabric service | net is obvious |
All CLIs delegate authentication to dvid. A single dvid login flow, implemented through Zitadel, stores a token that the other CLIs consume transparently.
The naming principles are:
| Principle | Application |
|---|---|
| Recognizable | dvke echoes GKE and EKS |
| Consistent | All commands start with dv |
| Short | Use 2-4 characters after the prefix |
| Guessable | An engineer should infer intent from names like dvos |
| English mnemonics | CLI mnemonics stay industry-friendly while service names remain Norwegian |
Consequences
Positive
- The platform gets one coherent CLI family rather than isolated commands.
- The commands remain short and practical for daily use.
- Authentication is centralized through
dvidinstead of duplicated across tools.
Negative
- Some mnemonic choices require explanation because they are not always obvious from the Norwegian service name alone.
- Future naming changes become cross-cutting because CLI names are part of a single family.
Neutral
- New services should follow the pattern
dvplus a short English mnemonic. - The
dvroot command remains responsible for cross-cutting concerns such as projects, environments, and billing. - Shell completions should be provided per CLI.
Decision Outcome
Accepted. Dataverket will expose a unified CLI family built around the dv prefix and short English-friendly mnemonics.
Related Decisions
- 001-service-naming.md defines the underlying service identities used by the CLI family.
Links
- No external links are required for this ADR.
More Information
- Authentication, token handling, and service identity behavior should remain compatible with later identity and access decisions.
Audit
- 2026-03-08: ADR created and accepted.