# Functions
CopyObject is an implementation of the receiver method `Copy()` required for implementing Object.
GetGrafanaAnnotationField sanitizes the field name and prepends it with the grafana prefix.
NewJSONCodec returns a pointer to a new JSONCodec instance.
NewSimpleSchema returns a new SimpleSchema.
NewSimpleSchemaGroup returns a new SimpleSchemaGroup Deprecated: Kinds are now favored over Schemas for usage.
NewSimpleStore creates a new SimpleStore for the provided Schema.
NewStore creates a new SchemaStore, optionally initially registering all Schemas in the provided SchemaGroups.
NewTypedStore creates a new TypedStore.
ReadGrafanaAnnotation derives a annotation key by sanitizing `field` and prepending the grafana annotation prefix, then reads the value of the key in the provided annotations map and attempts to unmarshal it into the provided type parameter type.
SanitizeAnnotationFieldName removes all non-allowed characters for an annotation name segment.
WithKind returns a SimpleSchemaOption that sets the SimpleSchema's Kind to the provided string TODO: still unsure on whether kind should be optional? It feels non-idiomatic to grab the kind from the reflected type name.
WithLabel sets a specific key in the labels of an ObjectMetadata.
WithLabels sets the labels of an ObjectMetadata.
WithPlural returns a SimpleSchemaOption that sets the SimpleSchema's Plural to the provided string.
WithResourceVersion sets the ResourceVersion to the supplied resourceVersion.
WithScope returns a SimpleSchemaOption that sets the SimpleSchema's Scope to the provided SchemaScope.
WithSelectableFields returns a SimpleSchemaOption that sets the SimpleSchema's SelectableFields to the provided selectableFields.
WriteGrafanaAnnotation sanitizes the value of `field` and prepends the grafana annotation prefix, then writes the value of the annotation to the provided annotations map, based on the underlying type.
# 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
Annotation name constants which are used by the Typed and Untyped Objects for converting non-kubernetes metadata into CommonMetadata attributes.
AnnotationPrefix is the prefix used for grafana app platform metadata keys in annotations.
Annotation name constants which are used by the Typed and Untyped Objects for converting non-kubernetes metadata into CommonMetadata attributes.
Annotation name constants which are used by the Typed and Untyped Objects for converting non-kubernetes metadata into CommonMetadata attributes.
No description provided by the author
KindEncoding constants which reflect the string used for a Content-Type header.
KindEncoding constants which reflect the string used for a Content-Type header.
KindEncoding constants which reflect the string used for a Content-Type header.
No description provided by the author
No description provided by the author
RFC6902 PatchOp value.
RFC6902 PatchOp value.
RFC6902 PatchOp value.
RFC6902 PatchOp value.
RFC6902 PatchOp value.
RFC6902 PatchOp value.
Subresource object names.
Subresource object names.
WireFormatJSON is a JSON message wire format, which should be handle-able by the `json` package.
WireFormatUnknown is an unknown message wire format.
# Variables
ErrAnnotationMissing indicates that the provided annotation key is missing from the annotation map.
# Structs
AdmissionRequest contains information from a kubernetes Admission request and decoded object(s).
AdmissionUserInfo contains user information for an admission request.
CommonMetadata is the generic common metadata for a resource.Object TODO: should this be in kindsys, based on the CUE type (once kindsys changes are in effect)?.
CreateOptions are the options passed to a Client.Create call.
FullIdentifier is a globally-unique identifier, consisting of Schema identity information (Group, Version, Kind, Plural) and within-schema identity information (Namespace, Name).
Identifier is a unique-within-a-schema identifier, consisting of a Namespace and Name.
JSONCodec is a Codec-implementing struct that reads and writes kubernetes-formatted JSON bytes.
Kind is a struct which encapsulates Schema information and Codecs for reading/writing Objects which are instances of the contained Schema.
ListOptions are the options passed to a Client.List call.
MutatingResponse is the mutation to perform on a request.
PatchOperation represents a single patch operation.
PatchOptions are the options passed to a Client.Patch call.
PatchRequest represents a JSON patch request, which can contain multiple operations.
RegisterSchemaOptions are the options passed to a Manager.RegisterSchema call.
SelectableField is a struct which represents the FieldSelector string and function to retrieve the value of that FieldSelector from an Object.
SimpleMutatingAdmissionController is a simple MutatingAdmissionController which has an exported MutateFunc which is called on the Mutate() method.
SimpleSchema is a simple implementation of Schema.
SimpleSchemaGroup collects schemas with the same group and version Deprecated: Kinds are now favored over Schemas for usage.
SimpleStore provides an easy key/value store interface for a specific Schema, allowing the user to work with the actual type in the Schema Object's spec, without casting in and out of the Object interface.
SimpleValidatingAdmissionController is a simple ValidatingAdmissionController which has an exported ValidateFunc which is called on the Validate() method.
StaticMetadata consists of all non-mutable metadata for an object.
Store presents Schema's resource Objects as a simple Key-Value store, abstracting the need to track clients or issue requests.
No description provided by the author
No description provided by the author
TypedObject is an implementation of Object which has a typed Spec, and an arbitrary set of typed subresources governed by top-level exported fields of the SubresourceCatalog type.
TypedSpecObject is an implementation of Object which has a typed Spec, and arbitrary untyped subresources, similar to UntypedObject.
TypedSpecStatusObject is an implementation of Object which has a typed Spec and Status subresource.
TypedStore is a single-Schema store where returned Objects from the underlying client are assumed to be of ObjectType.
No description provided by the author
UntypedObject implements Object and represents a generic implementation of an instance of any kubernetes Kind.
UpdateOptions are the options passed to a Client.Update call.
WatchEvent is an event returned from a watch request.
WatchOptions are the options passed to a Client.Watch call.
# Interfaces
AdmissionError is an interface which extends error to add more details for admission request rejections.
No description provided by the author
Client is any object which interfaces with schema Objects.
ClientGenerator is used for creating clients to interface with given schemas.
Codec is an interface which describes any object which can read and write Object implementations to/from bytes.
No description provided by the author
ListObject represents a list of Object-implementing objects with list metadata.
Manager is an interface allowing in-code management of Schemas.
MutatingAdmissionController is an interface that describes any object which should mutate a request to manipulate a resource.Object.
Object implements kubernetes' runtime.Object and meta/v1.Object, as well as some additional methods useful for the app-sdk.
Schema is an interface which represents an object schema for a particular group, version, and kind.
SchemaGroup represents a group of Schemas.
SchemalessClient is a Schema-agnostic version of the Client interface.
SimpleStoreMetadata is a representation of the Metadata used in the TypedObject returned by SimpleStore, and is used for the ObjectMetadataOption argument.
ValidatingAdmissionController is an interface that describes any object which should validate admission of a request to manipulate a resource.Object.
WatchResponse is an interface describing the response to a Client.Watch call.
# Type aliases
No description provided by the author
KindEncoding is the wire encoding of the Kind objects.
No description provided by the author
ObjectMetadataOption is a function which updates an ObjectMetadata.
PatchOp represents an RFC6902 Patch "op" value.
No description provided by the author
SimpleSchemaOption is an options function that can be passed to NewSimpleSchema to modify the resulting output.
SubresourceName is a string wrapper type for CRD subresource names.
WireFormat enumerates values for possible message wire formats.