Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Item ¶
type Item struct { // Title is an unused property -- it will be removed in the future Title *string `json:"title,omitempty"` // Type of the item. Type ItemType `json:"type"` // Value depends on type and describes the playlist item. // // - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This // is not portable as the numerical identifier is non-deterministic between different instances. // Will be replaced by dashboard_by_uid in the future. (deprecated) // - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All // dashboards behind the tag will be added to the playlist. // - dashboard_by_uid: The value is the dashboard UID Value string `json:"value"` }
Item defines model for Item.
type K8sResource ¶
type K8sResource = kinds.GrafanaResource[Spec, Status]
Resource is the kubernetes style representation of Playlist. (TODO be better)
func NewK8sResource ¶
func NewK8sResource(name string, s *Spec) K8sResource
NewResource creates a new instance of the resource with a given name (UID)
type Kind ¶
TODO standard generated docs
func (*Kind) ConvergentLineage ¶
func (k *Kind) ConvergentLineage() thema.ConvergentLineage[*Resource]
ConvergentLineage returns the same thema.Lineage as Lineage, but bound (see thema.BindType) to the the Playlist Resource type generated from the current schema, v0.0.
func (*Kind) JSONValueMux ¶
JSONValueMux is a version multiplexer that maps a []byte containing JSON data at any schematized dashboard version to an instance of Playlist Resource.
Validation and translation errors emitted from this func will identify the input bytes as "dashboard.json".
This is a thin wrapper around Thema's vmux.ValueMux.
type KubeObjectMetadata ¶
type KubeObjectMetadata struct { CreationTimestamp time.Time `json:"creationTimestamp"` DeletionTimestamp *time.Time `json:"deletionTimestamp,omitempty"` Finalizers []string `json:"finalizers"` Labels map[string]string `json:"labels"` ResourceVersion string `json:"resourceVersion"` Uid string `json:"uid"` }
_kubeObjectMetadata is metadata found in a kubernetes object's metadata field. It is not exhaustive and only includes fields which may be relevant to a kind's implementation, As it is also intended to be generic enough to function with any API Server.
type Metadata ¶
type Metadata struct { CreatedBy string `json:"createdBy"` CreationTimestamp time.Time `json:"creationTimestamp"` DeletionTimestamp *time.Time `json:"deletionTimestamp,omitempty"` // extraFields is reserved for any fields that are pulled from the API server metadata but do not have concrete fields in the CUE metadata ExtraFields map[string]any `json:"extraFields"` Finalizers []string `json:"finalizers"` Labels map[string]string `json:"labels"` ResourceVersion string `json:"resourceVersion"` Uid string `json:"uid"` UpdateTimestamp time.Time `json:"updateTimestamp"` UpdatedBy string `json:"updatedBy"` }
Metadata defines model for Metadata.
type OperatorState ¶
type OperatorState struct { // descriptiveState is an optional more descriptive state field which has no requirements on format DescriptiveState *string `json:"descriptiveState,omitempty"` // details contains any extra information that is operator-specific Details map[string]any `json:"details,omitempty"` // lastEvaluation is the ResourceVersion last evaluated LastEvaluation string `json:"lastEvaluation"` // state describes the state of the lastEvaluation. // It is limited to three possible states for machine evaluation. State OperatorStateState `json:"state"` }
OperatorState defines model for OperatorState.
type OperatorStateState ¶
type OperatorStateState string
OperatorStateState state describes the state of the lastEvaluation. It is limited to three possible states for machine evaluation.
const ( OperatorStateStateFailed OperatorStateState = "failed" OperatorStateStateInProgress OperatorStateState = "in_progress" OperatorStateStateSuccess OperatorStateState = "success" )
Defines values for OperatorStateState.
type Resource ¶
type Resource struct { Metadata Metadata `json:"metadata"` Spec Spec `json:"spec"` Status Status `json:"status"` }
Resource is the wire representation of Playlist. It currently will soon be merged into the k8s flavor (TODO be better)
type Spec ¶
type Spec struct { // Interval sets the time between switching views in a playlist. // FIXME: Is this based on a standardized format or what options are available? Can datemath be used? Interval string `json:"interval"` // The ordered list of items that the playlist will iterate over. // FIXME! This should not be optional, but changing it makes the godegen awkward Items []Item `json:"items,omitempty"` // Name of the playlist. Name string `json:"name"` // Unique playlist identifier. Generated on creation, either by the // creator of the playlist of by the application. Uid string `json:"uid"` }
Spec defines model for Spec.
type Status ¶
type Status struct { // additionalFields is reserved for future use AdditionalFields map[string]any `json:"additionalFields,omitempty"` // operatorStates is a map of operator ID to operator state evaluations. // Any operator which consumes this kind SHOULD add its state evaluation information to this field. OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"` }
Status defines model for Status.
type StatusOperatorState ¶
type StatusOperatorState struct { // descriptiveState is an optional more descriptive state field which has no requirements on format DescriptiveState *string `json:"descriptiveState,omitempty"` // details contains any extra information that is operator-specific Details map[string]any `json:"details,omitempty"` // lastEvaluation is the ResourceVersion last evaluated LastEvaluation string `json:"lastEvaluation"` // state describes the state of the lastEvaluation. // It is limited to three possible states for machine evaluation. State StatusOperatorStateState `json:"state"` }
StatusOperatorState defines model for status.#OperatorState.
type StatusOperatorStateState ¶
type StatusOperatorStateState string
StatusOperatorStateState state describes the state of the lastEvaluation. It is limited to three possible states for machine evaluation.
const ( StatusOperatorStateStateFailed StatusOperatorStateState = "failed" StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress" StatusOperatorStateStateSuccess StatusOperatorStateState = "success" )
Defines values for StatusOperatorStateState.