Categorygithub.com/grafana/kindsys
modulepackage
0.0.0-20230926104744-988ea4c8a739
Repository: https://github.com/grafana/kindsys.git
Documentation: pkg.go.dev

# README

kindsys

a kind system for schematizing objects

# Packages

No description provided by the author
No description provided by the author

# Functions

TODO docs.
TODO docs.
TODO docs.
BindCustom creates a Custom-implementing type from a def, runtime, and opts nolint:lll.
TODO docs.
No description provided by the author
CopyResource is an implementation of the receiver method `Copy()` required for implementing Resource.
CUEFramework returns a cue.Value representing all the kindsys framework raw CUE files.
No description provided by the author
LoadInstance returns a build.Instance populated with the CueSchemaFS at the root and an optional overlay filesystem.
Ptr returns a pointer to a value of an arbitrary type.
SchemaInterfaces returns a map of all [SchemaInterface]s defined by the given framework.
ToDef takes a cue.Value expected to represent a kind of the category specified by the type parameter and populates a Def from the CUE value.
ToKindProps takes a cue.Value expected to represent a kind of the category specified by the type parameter and populates the Go type from the cue.Value.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
WireFormatJSON is a JSON message wire format, which should be handle-able by the `json` package.
WireFormatUnknown is an unknown message wire format.

# Variables

CueSchemaFS embeds all CUE files in the Kindsys project.
ErrInvalidCUE indicates that the CUE representing the kind is invalid.
ErrValueNotAKind indicates that a provided CUE value is not any variety of Kind.
ErrValueNotExist indicates that a necessary CUE value did not exist.

# Structs

BasicMetadataObject is a composable base struct to attach Metadata, and its associated functions, to another struct.
CommonMetadata is the system-defined common metadata associated with a [Resource].
CommonProperties contains the metadata common to all categories of kinds.
ComposableProperties represents the static properties in the definition of a Composable kind that are representable with basic Go types.
CoreProperties represents the static properties in the definition of a Core kind that are representable with basic Go types.
CustomProperties represents the static properties in the definition of a Custom kind that are representable with basic Go types.
Def represents a single kind definition, having been loaded and validated by a func such as [LoadCoreKindDef].
FullIdentifier is a globally-unique identifier, consisting of Schema identity information (Group, Version, Kind, Plural) and within-schema identity information (Namespace, Name).
No description provided by the author
ListMetadata is metadata for a list of objects.
SchemaInterface represents one of Grafana's named schema interfaces.
SomeDef represents a single kind definition, having been loaded and validated by a func such as [LoadCoreKindDef].
StaticMetadata consists of all non-mutable metadata for an object.
UnmarshalConfig is the config used for unmarshaling Resources.
UnstructuredResource is an untyped representation of [Resource].

# Interfaces

Composable is the untyped runtime representation of a Grafana core kind definition.
Core is the dynamically typed runtime representation of a Grafana core kind definition.
Custom is the dynamically typed runtime representation of a Grafana custom kind definition.
CustomMetadata is an interface describing a kindsys.Resource's kind-specific metadata.
Decoder takes a []byte representing a serialized resource and decodes it into the intermediate [encoding.GrafanaShapeBytes] form.
No description provided by the author
Kind is a runtime representation of a Grafana kind definition.
KindProperties is a type parameter that comprises the base possible set of kind metadata configurations.
ListResource represents a List of Resource-implementing objects with list metadata.
A Resource is a single instance of a Grafana [Kind], either [Core] or [Custom].
ResourceKind represents a kind that defines a root object, or Kubernetish resource.
SomeKindProperties is an interface type to abstract over the different kind property struct types: [CoreProperties], [CustomProperties], [ComposableProperties].
TypedCore is the statically typed runtime representation of a Grafana core kind definition.
TypedCustom is the statically typed runtime representation of a Grafana core kind definition.

# Type aliases

TODO docs.
SimpleCustomMetadata is an implementation of CustomMetadata.
WireFormat enumerates values for possible message wire formats.