Documentation ¶
Index ¶
- type BuiltinRoleRef
- type BuiltinRoleRefKind
- type BuiltinRoleRefName
- type CustomRoleRef
- type CustomRoleRefKind
- type K8sResource
- type Kind
- type KubeObjectMetadata
- type Metadata
- type OperatorState
- type OperatorStateState
- type Resource
- type Spec
- type Status
- type StatusOperatorState
- type StatusOperatorStateState
- type Subject
- type SubjectKind
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuiltinRoleRef ¶
type BuiltinRoleRef struct { Kind BuiltinRoleRefKind `json:"kind"` Name BuiltinRoleRefName `json:"name"` }
BuiltinRoleRef defines model for BuiltinRoleRef.
type BuiltinRoleRefKind ¶
type BuiltinRoleRefKind string
BuiltinRoleRefKind defines model for BuiltinRoleRef.Kind.
const (
BuiltinRoleRefKindBuiltinRole BuiltinRoleRefKind = "BuiltinRole"
)
Defines values for BuiltinRoleRefKind.
type BuiltinRoleRefName ¶
type BuiltinRoleRefName string
BuiltinRoleRefName defines model for BuiltinRoleRef.Name.
const ( BuiltinRoleRefNameAdmin BuiltinRoleRefName = "admin" BuiltinRoleRefNameEditor BuiltinRoleRefName = "editor" BuiltinRoleRefNameViewer BuiltinRoleRefName = "viewer" )
Defines values for BuiltinRoleRefName.
type CustomRoleRef ¶
type CustomRoleRef struct { Kind CustomRoleRefKind `json:"kind"` Name string `json:"name"` }
CustomRoleRef defines model for CustomRoleRef.
type CustomRoleRefKind ¶
type CustomRoleRefKind string
CustomRoleRefKind defines model for CustomRoleRef.Kind.
const (
CustomRoleRefKindRole CustomRoleRefKind = "Role"
)
Defines values for CustomRoleRefKind.
type K8sResource ¶
type K8sResource = kinds.GrafanaResource[Spec, Status]
Resource is the kubernetes style representation of RoleBinding. (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 RoleBinding 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 RoleBinding 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 RoleBinding. It currently will soon be merged into the k8s flavor (TODO be better)
type Spec ¶
type Spec struct { // The role we are discussing Role any `json:"role"` Subject Subject `json:"subject"` }
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.
type Subject ¶
type Subject struct { Kind SubjectKind `json:"kind"` // The team/user identifier name Name string `json:"name"` }
Subject defines model for Subject.
type SubjectKind ¶
type SubjectKind string
SubjectKind defines model for Subject.Kind.
const ( SubjectKindTeam SubjectKind = "Team" SubjectKindUser SubjectKind = "User" )
Defines values for SubjectKind.