Skip to content

domain

Top-level area of activity that the model describes. See Concepts: Domain.

Schema

type: object
properties:
    apiVersion:
        const: schema.esdm.io/core/v1
    kind:
        const: domain
    name:
        type: string
        pattern: "^[a-z][a-z0-9-]*$"
    description:
        type: string
    metadata:
        type: object
        properties:
            labels:
                type: object
                additionalProperties:
                    type: string
            annotations:
                type: object
                additionalProperties:
                    type: string
        additionalProperties: false
required: [apiVersion, kind, name]
unevaluatedProperties: false

Anatomy

A Domain document is the common top-level shape with no kind-specific fields added. apiVersion is exactly schema.esdm.io/core/v1, kind is domain, and name is the Domain's natural identifier in the kebab-case name pattern. The required set is apiVersion, kind, and name. description and metadata are optional in the usual way: free-form prose for the former, non-semantic labels and annotations for the latter. unevaluatedProperties: false keeps unknown top-level keys from sneaking in.

There is no scope, no state, no behavioral fields. Subdomains and other artifacts scope back to a Domain by name; the Domain itself is a label that other kinds anchor to.