Skip to content

OpenSLO v1

API version: openslo/v1.

Property paths use [*] for each array item, .* for each map value, and .*~ for each map key.

Objects

Common metadata

metadata

struct required

Metadata identifies and describes an OpenSLO v1 object.

Validation rules

Rule
property is required

metadata.name

string required

Name identifies the object.

Validation rules

Rule Details Examples
property is required
length must be between 1 and 63
string must match regular expression: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ an RFC-1123 compliant label name must consist of lower case alphanumeric characters or -, and must start and end with an alphanumeric character my-name
123-abc

metadata.displayName

string

DisplayName is the object's human-readable name.

Validation rules

Rule
property is optional
length must be less than or equal to 63

metadata.labels

map[string][]string

Labels contains metadata associated with the object.

Labels maps each metadata key to a set of values. JSON decoding accepts each map value as a string or an array of strings.

Validation rules

Rule
property is optional

metadata.labels.*~

string

Validation rules

Rule
string must match regular expression: ^[a-zA-Z0-9]([-._a-zA-Z0-9]{0,61}[a-zA-Z0-9])?$

metadata.labels.*

[]string

metadata.labels.*[*]

string

metadata.annotations

map[string]string

Annotations contains implementation- or system-specific metadata.

Annotations maps metadata keys to implementation- or system-specific values.

Validation rules

Rule
property is optional

metadata.annotations.*~

string

Validation rules

Rule Examples
string must match regular expression: ^(.{0,253}/)?.{0,63}$
string must match regular expression: ^([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?(\.[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?)*/)?[a-zA-Z0-9]([-._a-zA-Z0-9]{0,61}[a-zA-Z0-9])?$ my-domain.org/my-key
openslo.com/annotation

metadata.annotations.*

string