CLI naming and structure DATAVERKET 002

Accepted Architecture Naming CLI Tooling

Defines the Dataverket CLI naming scheme and command family structure across services.

Author
Jan Ivar Beddari
Updated

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:

CLIService namePurposeMnemonic
dvSentralProjects, environments, billing, modulesThe root orchestrator
dvidIdentitetAuth, tokens, identityid is obvious
dvceMaskinVMs and bare metalce for compute engine
dvkePlattformKuberneteske echoes GKE and EKS
dvappTjenesteSaaS or app deploymentapp is universal
dvosObjektObject storageos for object storage
dvnetNettDatacenter network fabric servicenet 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:

PrincipleApplication
Recognizabledvke echoes GKE and EKS
ConsistentAll commands start with dv
ShortUse 2-4 characters after the prefix
GuessableAn engineer should infer intent from names like dvos
English mnemonicsCLI 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 dvid instead 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 dv plus a short English mnemonic.
  • The dv root 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.

  • 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.