v1beta1

package
v5.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2024 License: Apache-2.0 Imports: 23 Imported by: 10

Documentation

Overview

Package v1beta1 contains API Schema definitions for the grafana v1beta1 API group +kubebuilder:object:generate=true +groupName=grafana.integreatly.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "grafana.integreatly.org", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Gunzip

func Gunzip(compressed []byte) ([]byte, error)

func Gzip

func Gzip(content []byte) ([]byte, error)

func Merge

func Merge(base, overrides interface{}) error

Merge merges `overrides` into `base` using the SMP (structural merge patch) approach. - It intentionally does not remove fields present in base but missing from overrides - It merges slices only if the `patchStrategy:"merge"` tag is present and the `patchMergeKey` identifies the unique field

Types

type AlertQuery added in v5.7.0

type AlertQuery struct {
	// Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation.
	DatasourceUID string `json:"datasourceUid,omitempty"`

	// JSON is the raw JSON query and includes the above properties as well as custom properties.
	Model *apiextensions.JSON `json:"model,omitempty"`

	// QueryType is an optional identifier for the type of query.
	// It can be used to distinguish different types of queries.
	QueryType string `json:"queryType,omitempty"`

	// RefID is the unique identifier of the query, set by the frontend call.
	RefID string `json:"refId,omitempty"`

	// relative time range
	RelativeTimeRange *models.RelativeTimeRange `json:"relativeTimeRange,omitempty"`
}

func (*AlertQuery) DeepCopy added in v5.7.0

func (in *AlertQuery) DeepCopy() *AlertQuery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertQuery.

func (*AlertQuery) DeepCopyInto added in v5.7.0

func (in *AlertQuery) DeepCopyInto(out *AlertQuery)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AlertRule added in v5.7.0

type AlertRule struct {
	Annotations map[string]string `json:"annotations,omitempty"`

	Condition string `json:"condition"`

	// +kubebuilder:validation:Required
	Data []*AlertQuery `json:"data"`

	// +kubebuilder:validation:Enum=OK;Alerting;Error
	ExecErrState string `json:"execErrState"`

	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Required
	For *metav1.Duration `json:"for"`

	IsPaused bool `json:"isPaused,omitempty"`

	Labels map[string]string `json:"labels,omitempty"`

	// +kubebuilder:validation:Enum=Alerting;NoData;OK
	NoDataState *string `json:"noDataState"`

	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=190
	// +kubebuilder:example="Always firing"
	Title string `json:"title"`

	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
	UID string `json:"uid"`
}

AlertRule defines a specific rule to be evaluated. It is based on the upstream model with some k8s specific type mappings

func (*AlertRule) DeepCopy added in v5.7.0

func (in *AlertRule) DeepCopy() *AlertRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertRule.

func (*AlertRule) DeepCopyInto added in v5.7.0

func (in *AlertRule) DeepCopyInto(out *AlertRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DashboardSourceType

type DashboardSourceType string
const (
	DashboardSourceTypeRawJson    DashboardSourceType = "json"
	DashboardSourceTypeGzipJson   DashboardSourceType = "gzipJson"
	DashboardSourceJsonnetProject DashboardSourceType = "jsonnetProjectWithRuntimeRaw"
	DashboardSourceTypeUrl        DashboardSourceType = "url"
	DashboardSourceTypeJsonnet    DashboardSourceType = "jsonnet"
	DashboardSourceTypeGrafanaCom DashboardSourceType = "grafana"
	DashboardSourceConfigMap      DashboardSourceType = "configmap"
	DefaultResyncPeriod                               = "5m"
)

type DeploymentV1

type DeploymentV1 struct {
	ObjectMeta ObjectMeta       `json:"metadata,omitempty"`
	Spec       DeploymentV1Spec `json:"spec,omitempty"`
}

func (*DeploymentV1) DeepCopy

func (in *DeploymentV1) DeepCopy() *DeploymentV1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1.

func (*DeploymentV1) DeepCopyInto

func (in *DeploymentV1) DeepCopyInto(out *DeploymentV1)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentV1PodSpec

type DeploymentV1PodSpec struct {
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Volumes []v14.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +optional
	InitContainers []v14.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +optional
	Containers []v14.Container `json:"containers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	EphemeralContainers []v14.EphemeralContainer `` /* 128-byte string literal not displayed */
	// +optional
	RestartPolicy v14.RestartPolicy `json:"restartPolicy,omitempty" protobuf:"bytes,3,opt,name=restartPolicy,casttype=RestartPolicy"`
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,4,opt,name=terminationGracePeriodSeconds"`
	// +optional
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,5,opt,name=activeDeadlineSeconds"`
	// +optional
	DNSPolicy v14.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	// +optional
	// +mapType=atomic
	NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`

	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"`
	// DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
	// Deprecated: Use serviceAccountName instead.
	// +k8s:conversion-gen=false
	// +optional
	DeprecatedServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,9,opt,name=serviceAccount"`
	// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
	// +optional
	AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,21,opt,name=automountServiceAccountToken"`

	// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
	// the scheduler simply schedules this pod onto that node, assuming that it fits resource
	// requirements.
	// +optional
	NodeName string `json:"nodeName,omitempty" protobuf:"bytes,10,opt,name=nodeName"`
	// Host networking requested for this pod. Use the host's network namespace.
	// If this option is set, the ports that will be used must be specified.
	// Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
	// Use the host's pid namespace.
	// Optional: Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"`
	// Use the host's ipc namespace.
	// Optional: Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"`
	// Share a single process namespace between all of the containers in a pod.
	// When this is set containers will be able to view and signal processes from other containers
	// in the same pod, and the first process in each container will not be assigned PID 1.
	// HostPID and ShareProcessNamespace cannot both be set.
	// Optional: Default to false.
	// +k8s:conversion-gen=false
	// +optional
	ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
	// SecurityContext holds pod-level security attributes and common container settings.
	// Optional: Defaults to empty.  See type description for default values of each field.
	// +optional
	SecurityContext *v14.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"`
	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	ImagePullSecrets []v14.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"`
	// Specifies the hostname of the Pod
	// If not specified, the pod's hostname will be set to a system-defined value.
	// +optional
	Hostname string `json:"hostname,omitempty" protobuf:"bytes,16,opt,name=hostname"`
	// If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
	// If not specified, the pod will not have a domainname at all.
	// +optional
	Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,17,opt,name=subdomain"`
	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *v14.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"`
	// If specified, the pod will be dispatched by specified scheduler.
	// If not specified, the pod will be dispatched by default scheduler.
	// +optional
	SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []v14.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
	// file if specified. This is only valid for non-hostNetwork pods.
	// +optional
	// +patchMergeKey=ip
	// +patchStrategy=merge
	HostAliases []v14.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"`
	// If specified, indicates the pod's priority. "system-node-critical" and
	// "system-cluster-critical" are two special keywords which indicate the
	// highest priorities with the former being the highest priority. Any other
	// name must be defined by creating a PriorityClass object with that name.
	// If not specified, the pod priority will be default or zero if there is no
	// default.
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"`
	// The priority value. Various system components use this field to find the
	// priority of the pod. When Priority Admission Controller is enabled, it
	// prevents users from setting this field. The admission controller populates
	// this field from PriorityClassName.
	// The higher the value, the higher the priority.
	// +optional
	Priority *int32 `json:"priority,omitempty" protobuf:"bytes,25,opt,name=priority"`
	// Specifies the DNS parameters of a pod.
	// Parameters specified here will be merged to the generated DNS
	// configuration based on DNSPolicy.
	// +optional
	DNSConfig *v14.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
	// If specified, all readiness gates will be evaluated for pod readiness.
	// A pod is ready when all its containers are ready AND
	// all conditions specified in the readiness gates have status equal to "True"
	// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
	// +optional
	ReadinessGates []v14.PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
	// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
	// to run this pod.  If no RuntimeClass resource matches the named class, the pod will not be run.
	// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
	// empty definition that uses the default runtime handler.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
	// +optional
	RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
	// EnableServiceLinks indicates whether information about services should be injected into pod's
	// environment variables, matching the syntax of Docker links.
	// Optional: Defaults to true.
	// +optional
	EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
	// PreemptionPolicy is the Policy for preempting pods with lower priority.
	// One of Never, PreemptLowerPriority.
	// Defaults to PreemptLowerPriority if unset.
	// +optional
	PreemptionPolicy *v14.PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
	// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
	// This field will be autopopulated at admission time by the RuntimeClass admission controller. If
	// the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.
	// The RuntimeClass admission controller will reject Pod create requests which have the overhead already
	// set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value
	// defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
	// +optional
	Overhead v14.ResourceList `json:"overhead,omitempty" protobuf:"bytes,32,opt,name=overhead"`
	// TopologySpreadConstraints describes how a group of pods ought to spread across topology
	// domains. Scheduler will schedule pods in a way which abides by the constraints.
	// All topologySpreadConstraints are ANDed.
	// +optional
	// +patchMergeKey=topologyKey
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=topologyKey
	// +listMapKey=whenUnsatisfiable
	TopologySpreadConstraints []v14.TopologySpreadConstraint `` /* 147-byte string literal not displayed */
	// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
	// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
	// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
	// If a pod does not have FQDN, this has no effect.
	// Default to false.
	// +optional
	SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty" protobuf:"varint,35,opt,name=setHostnameAsFQDN"`
	// Specifies the OS of the containers in the pod.
	// Some pod and container fields are restricted if this is set.
	//
	// If the OS field is set to linux, the following fields must be unset:
	// -securityContext.windowsOptions
	//
	// If the OS field is set to windows, following fields must be unset:
	// - spec.hostPID
	// - spec.hostIPC
	// - spec.hostUsers
	// - spec.securityContext.seLinuxOptions
	// - spec.securityContext.seccompProfile
	// - spec.securityContext.fsGroup
	// - spec.securityContext.fsGroupChangePolicy
	// - spec.securityContext.sysctls
	// - spec.shareProcessNamespace
	// - spec.securityContext.runAsUser
	// - spec.securityContext.runAsGroup
	// - spec.securityContext.supplementalGroups
	// - spec.containers[*].securityContext.seLinuxOptions
	// - spec.containers[*].securityContext.seccompProfile
	// - spec.containers[*].securityContext.capabilities
	// - spec.containers[*].securityContext.readOnlyRootFilesystem
	// - spec.containers[*].securityContext.privileged
	// - spec.containers[*].securityContext.allowPrivilegeEscalation
	// - spec.containers[*].securityContext.procMount
	// - spec.containers[*].securityContext.runAsUser
	// - spec.containers[*].securityContext.runAsGroup
	// +optional
	OS *v14.PodOS `json:"os,omitempty" protobuf:"bytes,36,opt,name=os"`
	// Use the host's user namespace.
	// Optional: Default to true.
	// If set to true or not present, the pod will be run in the host user namespace, useful
	// for when the pod needs a feature only available to the host user namespace, such as
	// loading a kernel module with CAP_SYS_MODULE.
	// When set to false, a new userns is created for the pod. Setting false is useful for
	// mitigating container breakout vulnerabilities even allowing users to run their
	// containers as root without actually having root privileges on the host.
	// This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
	// +k8s:conversion-gen=false
	// +optional
	HostUsers *bool `json:"hostUsers,omitempty" protobuf:"bytes,37,opt,name=hostUsers"`
}

func (*DeploymentV1PodSpec) DeepCopy

func (in *DeploymentV1PodSpec) DeepCopy() *DeploymentV1PodSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1PodSpec.

func (*DeploymentV1PodSpec) DeepCopyInto

func (in *DeploymentV1PodSpec) DeepCopyInto(out *DeploymentV1PodSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentV1PodTemplateSpec

type DeploymentV1PodTemplateSpec struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// Specification of the desired behavior of the pod.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec *DeploymentV1PodSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}

func (*DeploymentV1PodTemplateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1PodTemplateSpec.

func (*DeploymentV1PodTemplateSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentV1Spec

type DeploymentV1Spec struct {
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`

	Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`

	Template *DeploymentV1PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,3,opt,name=template"`

	// +optional
	// +patchStrategy=retainKeys
	Strategy *v13.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys" protobuf:"bytes,4,opt,name=strategy"`

	// +optional
	MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"`

	// +optional
	RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,6,opt,name=revisionHistoryLimit"`

	// +optional
	Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"`

	ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}

func (*DeploymentV1Spec) DeepCopy

func (in *DeploymentV1Spec) DeepCopy() *DeploymentV1Spec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1Spec.

func (*DeploymentV1Spec) DeepCopyInto

func (in *DeploymentV1Spec) DeepCopyInto(out *DeploymentV1Spec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type External

type External struct {
	// URL of the external grafana instance you want to manage.
	URL string `json:"url"`
	// The API key to talk to the external grafana instance, you need to define ether apiKey or adminUser/adminPassword.
	ApiKey *v1.SecretKeySelector `json:"apiKey,omitempty"`
	// AdminUser key to talk to the external grafana instance.
	AdminUser *v1.SecretKeySelector `json:"adminUser,omitempty"`
	// AdminPassword key to talk to the external grafana instance.
	AdminPassword *v1.SecretKeySelector `json:"adminPassword,omitempty"`
}

func (*External) DeepCopy

func (in *External) DeepCopy() *External

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new External.

func (*External) DeepCopyInto

func (in *External) DeepCopyInto(out *External)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Grafana

type Grafana struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GrafanaSpec   `json:"spec,omitempty"`
	Status            GrafanaStatus `json:"status,omitempty"`
}

Grafana is the Schema for the grafanas API +kubebuilder:printcolumn:name="Stage",type="string",JSONPath=".status.stage",description="" +kubebuilder:printcolumn:name="Stage status",type="string",JSONPath=".status.stageStatus",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""

func (*Grafana) DeepCopy

func (in *Grafana) DeepCopy() *Grafana

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Grafana.

func (*Grafana) DeepCopyInto

func (in *Grafana) DeepCopyInto(out *Grafana)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Grafana) DeepCopyObject

func (in *Grafana) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Grafana) IsExternal

func (in *Grafana) IsExternal() bool

func (*Grafana) IsInternal

func (in *Grafana) IsInternal() bool

func (*Grafana) PreferIngress

func (in *Grafana) PreferIngress() bool

type GrafanaAlertRuleGroup added in v5.7.0

type GrafanaAlertRuleGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GrafanaAlertRuleGroupSpec   `json:"spec,omitempty"`
	Status GrafanaAlertRuleGroupStatus `json:"status,omitempty"`
}

GrafanaAlertRuleGroup is the Schema for the grafanaalertrulegroups API

func (*GrafanaAlertRuleGroup) DeepCopy added in v5.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroup.

func (*GrafanaAlertRuleGroup) DeepCopyInto added in v5.7.0

func (in *GrafanaAlertRuleGroup) DeepCopyInto(out *GrafanaAlertRuleGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaAlertRuleGroup) DeepCopyObject added in v5.7.0

func (in *GrafanaAlertRuleGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GrafanaAlertRuleGroupList added in v5.7.0

type GrafanaAlertRuleGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GrafanaAlertRuleGroup `json:"items"`
}

GrafanaAlertRuleGroupList contains a list of GrafanaAlertRuleGroup

func (*GrafanaAlertRuleGroupList) DeepCopy added in v5.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroupList.

func (*GrafanaAlertRuleGroupList) DeepCopyInto added in v5.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaAlertRuleGroupList) DeepCopyObject added in v5.7.0

func (in *GrafanaAlertRuleGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GrafanaAlertRuleGroupSpec added in v5.7.0

type GrafanaAlertRuleGroupSpec struct {
	// +optional
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:default="10m"
	ResyncPeriod metav1.Duration `json:"resyncPeriod,omitempty"`

	// selects Grafanas for import
	InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`

	// UID of the folder containing this rule group
	// Overrides the FolderSelector
	FolderUID string `json:"folderUID,omitempty"`

	// Match GrafanaFolders CRs to infer the uid
	FolderRef string `json:"folderRef,omitempty"`

	Rules []AlertRule `json:"rules"`

	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Required
	Interval metav1.Duration `json:"interval"`

	// +optional
	AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`
}

GrafanaAlertRuleGroupSpec defines the desired state of GrafanaAlertRuleGroup +kubebuilder:validation:XValidation:rule="(has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID)))", message="Only one of FolderUID or FolderRef can be set"

func (*GrafanaAlertRuleGroupSpec) DeepCopy added in v5.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroupSpec.

func (*GrafanaAlertRuleGroupSpec) DeepCopyInto added in v5.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaAlertRuleGroupStatus added in v5.7.0

type GrafanaAlertRuleGroupStatus struct {
	Conditions []metav1.Condition `json:"conditions"`
}

GrafanaAlertRuleGroupStatus defines the observed state of GrafanaAlertRuleGroup

func (*GrafanaAlertRuleGroupStatus) DeepCopy added in v5.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroupStatus.

func (*GrafanaAlertRuleGroupStatus) DeepCopyInto added in v5.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaClient

type GrafanaClient struct {
	// +nullable
	TimeoutSeconds *int `json:"timeout,omitempty"`
	// +nullable
	// If the operator should send it's request through the grafana instances ingress object instead of through the service.
	PreferIngress *bool `json:"preferIngress,omitempty"`
}

GrafanaClient contains the Grafana API client settings

func (*GrafanaClient) DeepCopy

func (in *GrafanaClient) DeepCopy() *GrafanaClient

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaClient.

func (*GrafanaClient) DeepCopyInto

func (in *GrafanaClient) DeepCopyInto(out *GrafanaClient)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaComDashboardReference

type GrafanaComDashboardReference struct {
	Id       int  `json:"id"`
	Revision *int `json:"revision,omitempty"`
}

GrafanaComDashbooardReference is a reference to a dashboard on grafana.com/dashboards

func (*GrafanaComDashboardReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaComDashboardReference.

func (*GrafanaComDashboardReference) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDashboard

type GrafanaDashboard struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GrafanaDashboardSpec   `json:"spec,omitempty"`
	Status GrafanaDashboardStatus `json:"status,omitempty"`
}

GrafanaDashboard is the Schema for the grafanadashboards API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""

func (*GrafanaDashboard) DeepCopy

func (in *GrafanaDashboard) DeepCopy() *GrafanaDashboard

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboard.

func (*GrafanaDashboard) DeepCopyInto

func (in *GrafanaDashboard) DeepCopyInto(out *GrafanaDashboard)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaDashboard) DeepCopyObject

func (in *GrafanaDashboard) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GrafanaDashboard) GetContentCache

func (in *GrafanaDashboard) GetContentCache() []byte

func (*GrafanaDashboard) GetResyncPeriod

func (in *GrafanaDashboard) GetResyncPeriod() time.Duration

func (*GrafanaDashboard) GetSourceTypes

func (in *GrafanaDashboard) GetSourceTypes() []DashboardSourceType

func (*GrafanaDashboard) IsAllowCrossNamespaceImport

func (in *GrafanaDashboard) IsAllowCrossNamespaceImport() bool

func (*GrafanaDashboard) IsUpdatedUID

func (in *GrafanaDashboard) IsUpdatedUID(uid string) bool

func (*GrafanaDashboard) ResyncPeriodHasElapsed

func (in *GrafanaDashboard) ResyncPeriodHasElapsed() bool

func (*GrafanaDashboard) Unchanged

func (in *GrafanaDashboard) Unchanged(hash string) bool

type GrafanaDashboardDatasource

type GrafanaDashboardDatasource struct {
	InputName      string `json:"inputName"`
	DatasourceName string `json:"datasourceName"`
}

func (*GrafanaDashboardDatasource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardDatasource.

func (*GrafanaDashboardDatasource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDashboardEnv

type GrafanaDashboardEnv struct {
	Name string `json:"name"`
	// Inline evn value
	// +optional
	Value string `json:"value,omitempty"`
	// Reference on value source, might be the reference on a secret or config map
	// +optional
	ValueFrom GrafanaDashboardEnvFromSource `json:"valueFrom,omitempty"`
}

func (*GrafanaDashboardEnv) DeepCopy

func (in *GrafanaDashboardEnv) DeepCopy() *GrafanaDashboardEnv

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardEnv.

func (*GrafanaDashboardEnv) DeepCopyInto

func (in *GrafanaDashboardEnv) DeepCopyInto(out *GrafanaDashboardEnv)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDashboardEnvFromSource

type GrafanaDashboardEnvFromSource struct {
	// Selects a key of a ConfigMap.
	// +optional
	ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	// Selects a key of a Secret.
	// +optional
	SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

func (*GrafanaDashboardEnvFromSource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardEnvFromSource.

func (*GrafanaDashboardEnvFromSource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDashboardList

type GrafanaDashboardList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GrafanaDashboard `json:"items"`
}

GrafanaDashboardList contains a list of GrafanaDashboard

func (*GrafanaDashboardList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardList.

func (*GrafanaDashboardList) DeepCopyInto

func (in *GrafanaDashboardList) DeepCopyInto(out *GrafanaDashboardList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaDashboardList) DeepCopyObject

func (in *GrafanaDashboardList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GrafanaDashboardList) Find

func (in *GrafanaDashboardList) Find(namespace string, name string) *GrafanaDashboard

type GrafanaDashboardSpec

type GrafanaDashboardSpec struct {
	// dashboard json
	// +optional
	Json string `json:"json,omitempty"`

	// GzipJson the dashboard's JSON compressed with Gzip. Base64-encoded when in YAML.
	// +optional
	GzipJson []byte `json:"gzipJson,omitempty"`

	// dashboard url
	// +optional
	Url string `json:"url,omitempty"`

	// Jsonnet
	// +optional
	Jsonnet string `json:"jsonnet,omitempty"`

	// Jsonnet project build
	JsonnetProjectBuild *JsonnetProjectBuild `json:"jsonnetLib,omitempty"`

	// grafana.com/dashboards
	// +optional
	GrafanaCom *GrafanaComDashboardReference `json:"grafanaCom,omitempty"`

	// dashboard from configmap
	// +optional
	ConfigMapRef *v1.ConfigMapKeySelector `json:"configMapRef,omitempty"`

	// selects Grafanas for import
	InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`

	// folder assignment for dashboard
	// +optional
	FolderTitle string `json:"folder,omitempty"`

	// plugins
	// +optional
	Plugins PluginList `json:"plugins,omitempty"`

	// Cache duration for dashboards fetched from URLs
	// +optional
	ContentCacheDuration metav1.Duration `json:"contentCacheDuration,omitempty"`

	// how often the dashboard is refreshed, defaults to 5m if not set
	// +optional
	ResyncPeriod string `json:"resyncPeriod,omitempty"`

	// maps required data sources to existing ones
	// +optional
	Datasources []GrafanaDashboardDatasource `json:"datasources,omitempty"`

	// allow to import this resources from an operator in a different namespace
	// +optional
	AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`

	// environments variables as a map
	// +optional
	Envs []GrafanaDashboardEnv `json:"envs,omitempty"`

	// environments variables from secrets or config maps
	// +optional
	EnvsFrom []GrafanaDashboardEnvFromSource `json:"envFrom,omitempty"`
}

GrafanaDashboardSpec defines the desired state of GrafanaDashboard

func (*GrafanaDashboardSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardSpec.

func (*GrafanaDashboardSpec) DeepCopyInto

func (in *GrafanaDashboardSpec) DeepCopyInto(out *GrafanaDashboardSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDashboardStatus

type GrafanaDashboardStatus struct {
	ContentCache     []byte      `json:"contentCache,omitempty"`
	ContentTimestamp metav1.Time `json:"contentTimestamp,omitempty"`
	ContentUrl       string      `json:"contentUrl,omitempty"`
	Hash             string      `json:"hash,omitempty"`
	// The dashboard instanceSelector can't find matching grafana instances
	NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
	// Last time the dashboard was resynced
	LastResync metav1.Time `json:"lastResync,omitempty"`
	UID        string      `json:"uid,omitempty"`
}

GrafanaDashboardStatus defines the observed state of GrafanaDashboard

func (*GrafanaDashboardStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardStatus.

func (*GrafanaDashboardStatus) DeepCopyInto

func (in *GrafanaDashboardStatus) DeepCopyInto(out *GrafanaDashboardStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDatasource

type GrafanaDatasource struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GrafanaDatasourceSpec   `json:"spec,omitempty"`
	Status GrafanaDatasourceStatus `json:"status,omitempty"`
}

GrafanaDatasource is the Schema for the grafanadatasources API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""

func (*GrafanaDatasource) DeepCopy

func (in *GrafanaDatasource) DeepCopy() *GrafanaDatasource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasource.

func (*GrafanaDatasource) DeepCopyInto

func (in *GrafanaDatasource) DeepCopyInto(out *GrafanaDatasource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaDatasource) DeepCopyObject

func (in *GrafanaDatasource) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GrafanaDatasource) ExpandVariables

func (in *GrafanaDatasource) ExpandVariables(variables map[string][]byte) ([]byte, error)

func (*GrafanaDatasource) GetResyncPeriod

func (in *GrafanaDatasource) GetResyncPeriod() time.Duration

func (*GrafanaDatasource) IsAllowCrossNamespaceImport

func (in *GrafanaDatasource) IsAllowCrossNamespaceImport() bool

func (*GrafanaDatasource) IsUpdatedUID

func (in *GrafanaDatasource) IsUpdatedUID(uid string) bool

func (*GrafanaDatasource) ResyncPeriodHasElapsed

func (in *GrafanaDatasource) ResyncPeriodHasElapsed() bool

func (*GrafanaDatasource) Unchanged

func (in *GrafanaDatasource) Unchanged(hash string) bool

type GrafanaDatasourceInternal

type GrafanaDatasourceInternal struct {
	UID           string `json:"uid,omitempty"`
	Name          string `json:"name,omitempty"`
	Type          string `json:"type,omitempty"`
	URL           string `json:"url,omitempty"`
	Access        string `json:"access,omitempty"`
	Database      string `json:"database,omitempty"`
	User          string `json:"user,omitempty"`
	OrgID         *int64 `json:"orgId,omitempty"`
	IsDefault     *bool  `json:"isDefault,omitempty"`
	BasicAuth     *bool  `json:"basicAuth,omitempty"`
	BasicAuthUser string `json:"basicAuthUser,omitempty"`
	Editable      *bool  `json:"editable,omitempty"`

	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	// +optional
	JSONData json.RawMessage `json:"jsonData,omitempty"`

	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	// +optional
	SecureJSONData json.RawMessage `json:"secureJsonData,omitempty"`
}

func (*GrafanaDatasourceInternal) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceInternal.

func (*GrafanaDatasourceInternal) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDatasourceList

type GrafanaDatasourceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GrafanaDatasource `json:"items"`
}

GrafanaDatasourceList contains a list of GrafanaDatasource

func (*GrafanaDatasourceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceList.

func (*GrafanaDatasourceList) DeepCopyInto

func (in *GrafanaDatasourceList) DeepCopyInto(out *GrafanaDatasourceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaDatasourceList) DeepCopyObject

func (in *GrafanaDatasourceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GrafanaDatasourceList) Find

func (in *GrafanaDatasourceList) Find(namespace string, name string) *GrafanaDatasource

type GrafanaDatasourceSpec

type GrafanaDatasourceSpec struct {
	Datasource *GrafanaDatasourceInternal `json:"datasource"`

	// selects Grafana instances for import
	InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`

	// plugins
	// +optional
	Plugins PluginList `json:"plugins,omitempty"`

	// environments variables from secrets or config maps
	// +optional
	ValuesFrom []GrafanaDatasourceValueFrom `json:"valuesFrom,omitempty"`

	// how often the datasource is refreshed, defaults to 5m if not set
	// +optional
	ResyncPeriod string `json:"resyncPeriod,omitempty"`

	// allow to import this resources from an operator in a different namespace
	// +optional
	AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`
}

GrafanaDatasourceSpec defines the desired state of GrafanaDatasource

func (*GrafanaDatasourceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceSpec.

func (*GrafanaDatasourceSpec) DeepCopyInto

func (in *GrafanaDatasourceSpec) DeepCopyInto(out *GrafanaDatasourceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDatasourceStatus

type GrafanaDatasourceStatus struct {
	Hash        string `json:"hash,omitempty"`
	LastMessage string `json:"lastMessage,omitempty"`
	// The datasource instanceSelector can't find matching grafana instances
	NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
	// Last time the datasource was resynced
	LastResync metav1.Time `json:"lastResync,omitempty"`
	UID        string      `json:"uid,omitempty"`
}

GrafanaDatasourceStatus defines the observed state of GrafanaDatasource

func (*GrafanaDatasourceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceStatus.

func (*GrafanaDatasourceStatus) DeepCopyInto

func (in *GrafanaDatasourceStatus) DeepCopyInto(out *GrafanaDatasourceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDatasourceValueFrom

type GrafanaDatasourceValueFrom struct {
	TargetPath string                           `json:"targetPath"`
	ValueFrom  GrafanaDatasourceValueFromSource `json:"valueFrom"`
}

func (*GrafanaDatasourceValueFrom) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceValueFrom.

func (*GrafanaDatasourceValueFrom) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaDatasourceValueFromSource

type GrafanaDatasourceValueFromSource struct {
	// Selects a key of a ConfigMap.
	// +optional
	ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	// Selects a key of a Secret.
	// +optional
	SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

func (*GrafanaDatasourceValueFromSource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceValueFromSource.

func (*GrafanaDatasourceValueFromSource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaFolder

type GrafanaFolder struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GrafanaFolderSpec   `json:"spec,omitempty"`
	Status GrafanaFolderStatus `json:"status,omitempty"`
}

GrafanaFolder is the Schema for the grafanafolders API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""

func (*GrafanaFolder) DeepCopy

func (in *GrafanaFolder) DeepCopy() *GrafanaFolder

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolder.

func (*GrafanaFolder) DeepCopyInto

func (in *GrafanaFolder) DeepCopyInto(out *GrafanaFolder)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaFolder) DeepCopyObject

func (in *GrafanaFolder) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GrafanaFolder) GetResyncPeriod

func (in *GrafanaFolder) GetResyncPeriod() time.Duration

func (*GrafanaFolder) GetTitle

func (in *GrafanaFolder) GetTitle() string

func (*GrafanaFolder) Hash

func (in *GrafanaFolder) Hash() string

func (*GrafanaFolder) IsAllowCrossNamespaceImport

func (in *GrafanaFolder) IsAllowCrossNamespaceImport() bool

func (*GrafanaFolder) ResyncPeriodHasElapsed

func (in *GrafanaFolder) ResyncPeriodHasElapsed() bool

func (*GrafanaFolder) Unchanged

func (in *GrafanaFolder) Unchanged() bool

type GrafanaFolderList

type GrafanaFolderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GrafanaFolder `json:"items"`
}

GrafanaFolderList contains a list of GrafanaFolder

func (*GrafanaFolderList) DeepCopy

func (in *GrafanaFolderList) DeepCopy() *GrafanaFolderList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderList.

func (*GrafanaFolderList) DeepCopyInto

func (in *GrafanaFolderList) DeepCopyInto(out *GrafanaFolderList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaFolderList) DeepCopyObject

func (in *GrafanaFolderList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GrafanaFolderList) Find

func (in *GrafanaFolderList) Find(namespace string, name string) *GrafanaFolder

type GrafanaFolderSpec

type GrafanaFolderSpec struct {
	// +optional
	Title string `json:"title,omitempty"`

	// raw json with folder permissions
	// +optional
	Permissions string `json:"permissions,omitempty"`

	// selects Grafanas for import
	InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`

	// allow to import this resources from an operator in a different namespace
	// +optional
	AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`

	// how often the folder is synced, defaults to 5m if not set
	// +optional
	ResyncPeriod string `json:"resyncPeriod,omitempty"`
}

GrafanaFolderSpec defines the desired state of GrafanaFolder

func (*GrafanaFolderSpec) DeepCopy

func (in *GrafanaFolderSpec) DeepCopy() *GrafanaFolderSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderSpec.

func (*GrafanaFolderSpec) DeepCopyInto

func (in *GrafanaFolderSpec) DeepCopyInto(out *GrafanaFolderSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaFolderStatus

type GrafanaFolderStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Hash string `json:"hash,omitempty"`
	// The folder instanceSelector can't find matching grafana instances
	NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
	// Last time the folder was resynced
	LastResync metav1.Time `json:"lastResync,omitempty"`
}

GrafanaFolderStatus defines the observed state of GrafanaFolder

func (*GrafanaFolderStatus) DeepCopy

func (in *GrafanaFolderStatus) DeepCopy() *GrafanaFolderStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderStatus.

func (*GrafanaFolderStatus) DeepCopyInto

func (in *GrafanaFolderStatus) DeepCopyInto(out *GrafanaFolderStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaList

type GrafanaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Grafana `json:"items"`
}

GrafanaList contains a list of Grafana

func (*GrafanaList) DeepCopy

func (in *GrafanaList) DeepCopy() *GrafanaList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaList.

func (*GrafanaList) DeepCopyInto

func (in *GrafanaList) DeepCopyInto(out *GrafanaList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GrafanaList) DeepCopyObject

func (in *GrafanaList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GrafanaPlugin

type GrafanaPlugin struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

func (*GrafanaPlugin) DeepCopy

func (in *GrafanaPlugin) DeepCopy() *GrafanaPlugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaPlugin.

func (*GrafanaPlugin) DeepCopyInto

func (in *GrafanaPlugin) DeepCopyInto(out *GrafanaPlugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaPreferences

type GrafanaPreferences struct {
	HomeDashboardUID string `json:"homeDashboardUid,omitempty"`
}

GrafanaPreferences holds Grafana preferences API settings

func (*GrafanaPreferences) DeepCopy

func (in *GrafanaPreferences) DeepCopy() *GrafanaPreferences

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaPreferences.

func (*GrafanaPreferences) DeepCopyInto

func (in *GrafanaPreferences) DeepCopyInto(out *GrafanaPreferences)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaSpec

type GrafanaSpec struct {
	// +kubebuilder:pruning:PreserveUnknownFields
	// Config defines how your grafana ini file should looks like.
	Config map[string]map[string]string `json:"config,omitempty"`
	// Ingress sets how the ingress object should look like with your grafana instance.
	Ingress *IngressNetworkingV1 `json:"ingress,omitempty"`
	// Route sets how the ingress object should look like with your grafana instance, this only works in Openshift.
	Route *RouteOpenshiftV1 `json:"route,omitempty"`
	// Service sets how the service object should look like with your grafana instance, contains a number of defaults.
	Service *ServiceV1 `json:"service,omitempty"`
	// Deployment sets how the deployment object should look like with your grafana instance, contains a number of defaults.
	Deployment *DeploymentV1 `json:"deployment,omitempty"`
	// PersistentVolumeClaim creates a PVC if you need to attach one to your grafana instance.
	PersistentVolumeClaim *PersistentVolumeClaimV1 `json:"persistentVolumeClaim,omitempty"`
	// ServiceAccount sets how the ServiceAccount object should look like with your grafana instance, contains a number of defaults.
	ServiceAccount *ServiceAccountV1 `json:"serviceAccount,omitempty"`
	// Client defines how the grafana-operator talks to the grafana instance.
	Client  *GrafanaClient `json:"client,omitempty"`
	Jsonnet *JsonnetConfig `json:"jsonnet,omitempty"`
	// External enables you to configure external grafana instances that is not managed by the operator.
	External *External `json:"external,omitempty"`
	// Preferences holds the Grafana Preferences settings
	Preferences *GrafanaPreferences `json:"preferences,omitempty"`
}

GrafanaSpec defines the desired state of Grafana

func (*GrafanaSpec) DeepCopy

func (in *GrafanaSpec) DeepCopy() *GrafanaSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaSpec.

func (*GrafanaSpec) DeepCopyInto

func (in *GrafanaSpec) DeepCopyInto(out *GrafanaSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaStatus

type GrafanaStatus struct {
	Stage       OperatorStageName      `json:"stage,omitempty"`
	StageStatus OperatorStageStatus    `json:"stageStatus,omitempty"`
	LastMessage string                 `json:"lastMessage,omitempty"`
	AdminUrl    string                 `json:"adminUrl,omitempty"`
	Dashboards  NamespacedResourceList `json:"dashboards,omitempty"`
	Datasources NamespacedResourceList `json:"datasources,omitempty"`
	Folders     NamespacedResourceList `json:"folders,omitempty"`
}

GrafanaStatus defines the observed state of Grafana

func (*GrafanaStatus) DeepCopy

func (in *GrafanaStatus) DeepCopy() *GrafanaStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaStatus.

func (*GrafanaStatus) DeepCopyInto

func (in *GrafanaStatus) DeepCopyInto(out *GrafanaStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressNetworkingV1

type IngressNetworkingV1 struct {
	ObjectMeta ObjectMeta      `json:"metadata,omitempty"`
	Spec       *v1.IngressSpec `json:"spec,omitempty"`
}

func (*IngressNetworkingV1) DeepCopy

func (in *IngressNetworkingV1) DeepCopy() *IngressNetworkingV1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressNetworkingV1.

func (*IngressNetworkingV1) DeepCopyInto

func (in *IngressNetworkingV1) DeepCopyInto(out *IngressNetworkingV1)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JsonnetConfig

type JsonnetConfig struct {
	LibraryLabelSelector *metav1.LabelSelector `json:"libraryLabelSelector,omitempty"`
}

func (*JsonnetConfig) DeepCopy

func (in *JsonnetConfig) DeepCopy() *JsonnetConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonnetConfig.

func (*JsonnetConfig) DeepCopyInto

func (in *JsonnetConfig) DeepCopyInto(out *JsonnetConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JsonnetProjectBuild

type JsonnetProjectBuild struct {
	JPath              []string `json:"jPath,omitempty"`
	FileName           string   `json:"fileName"`
	GzipJsonnetProject []byte   `json:"gzipJsonnetProject"`
}

func (*JsonnetProjectBuild) DeepCopy

func (in *JsonnetProjectBuild) DeepCopy() *JsonnetProjectBuild

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonnetProjectBuild.

func (*JsonnetProjectBuild) DeepCopyInto

func (in *JsonnetProjectBuild) DeepCopyInto(out *JsonnetProjectBuild)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamespacedResource

type NamespacedResource string

func (NamespacedResource) Name

func (in NamespacedResource) Name() string

func (NamespacedResource) Namespace

func (in NamespacedResource) Namespace() string

func (NamespacedResource) Split

func (in NamespacedResource) Split() (string, string, string)

func (NamespacedResource) Uid

func (in NamespacedResource) Uid() string

type NamespacedResourceList

type NamespacedResourceList []NamespacedResource

func (NamespacedResourceList) Add

func (in NamespacedResourceList) Add(namespace string, name string, uid string) NamespacedResourceList

func (NamespacedResourceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedResourceList.

func (NamespacedResourceList) DeepCopyInto

func (in NamespacedResourceList) DeepCopyInto(out *NamespacedResourceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NamespacedResourceList) Find

func (in NamespacedResourceList) Find(namespace string, name string) (bool, *string)

func (NamespacedResourceList) ForNamespace

func (in NamespacedResourceList) ForNamespace(namespace string) NamespacedResourceList

func (NamespacedResourceList) Remove

func (in NamespacedResourceList) Remove(namespace string, name string) NamespacedResourceList

type ObjectMeta

type ObjectMeta struct {
	Annotations map[string]string `json:"annotations,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`
}

ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMeta.

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ObjectMeta) Merge

func (override *ObjectMeta) Merge(meta metav1.ObjectMeta) metav1.ObjectMeta

Merge merges it's receivers values into the incoming ObjectMeta by overwriting values for existing keys and adding new ones.

type OperatorReconcileVars

type OperatorReconcileVars struct {
	// used to restart the Grafana container when the config changes
	ConfigHash string

	// env var value for installed plugins
	Plugins string
}

temporary values passed between reconciler stages

func (*OperatorReconcileVars) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorReconcileVars.

func (*OperatorReconcileVars) DeepCopyInto

func (in *OperatorReconcileVars) DeepCopyInto(out *OperatorReconcileVars)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OperatorStageName

type OperatorStageName string
const (
	OperatorStageGrafanaConfig  OperatorStageName = "config"
	OperatorStageAdminUser      OperatorStageName = "admin user"
	OperatorStagePvc            OperatorStageName = "pvc"
	OperatorStageServiceAccount OperatorStageName = "service account"
	OperatorStageService        OperatorStageName = "service"
	OperatorStageIngress        OperatorStageName = "ingress"
	OperatorStagePlugins        OperatorStageName = "plugins"
	OperatorStageDeployment     OperatorStageName = "deployment"
	OperatorStageComplete       OperatorStageName = "complete"
)

type OperatorStageStatus

type OperatorStageStatus string
const (
	OperatorStageResultSuccess    OperatorStageStatus = "success"
	OperatorStageResultFailed     OperatorStageStatus = "failed"
	OperatorStageResultInProgress OperatorStageStatus = "in progress"
)

type PersistentVolumeClaimV1

type PersistentVolumeClaimV1 struct {
	ObjectMeta ObjectMeta                   `json:"metadata,omitempty"`
	Spec       *PersistentVolumeClaimV1Spec `json:"spec,omitempty"`
}

func (*PersistentVolumeClaimV1) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimV1.

func (*PersistentVolumeClaimV1) DeepCopyInto

func (in *PersistentVolumeClaimV1) DeepCopyInto(out *PersistentVolumeClaimV1)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PersistentVolumeClaimV1Spec

type PersistentVolumeClaimV1Spec struct {
	// +optional
	AccessModes []v14.PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,1,rep,name=accessModes,casttype=PersistentVolumeAccessMode"`
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
	// +optional
	Resources *v14.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,2,opt,name=resources"`
	// VolumeName is the binding reference to the PersistentVolume backing this claim.
	// +optional
	VolumeName string `json:"volumeName,omitempty" protobuf:"bytes,3,opt,name=volumeName"`
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty" protobuf:"bytes,5,opt,name=storageClassName"`
	// +optional
	VolumeMode *v14.PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"`
	// +optional
	DataSource *v14.TypedLocalObjectReference `json:"dataSource,omitempty" protobuf:"bytes,7,opt,name=dataSource"`
	// +optional
	DataSourceRef *v14.TypedLocalObjectReference `json:"dataSourceRef,omitempty" protobuf:"bytes,8,opt,name=dataSourceRef"`
}

func (*PersistentVolumeClaimV1Spec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimV1Spec.

func (*PersistentVolumeClaimV1Spec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PluginList

type PluginList []GrafanaPlugin

func (PluginList) DeepCopy

func (in PluginList) DeepCopy() PluginList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginList.

func (PluginList) DeepCopyInto

func (in PluginList) DeepCopyInto(out *PluginList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PluginList) GetInstalledVersionOf

func (l PluginList) GetInstalledVersionOf(plugin *GrafanaPlugin) *GrafanaPlugin

GetInstalledVersionOf gets the plugin from the list regardless of the version

func (PluginList) HasExactVersionOf

func (l PluginList) HasExactVersionOf(plugin *GrafanaPlugin) bool

HasExactVersionOf returns true if the list contains the same plugin in the same version

func (PluginList) HasNewerVersionOf

func (l PluginList) HasNewerVersionOf(plugin *GrafanaPlugin) (bool, error)

HasNewerVersionOf returns true if the list contains the same plugin but in a newer version

func (PluginList) HasSomeVersionOf

func (l PluginList) HasSomeVersionOf(plugin *GrafanaPlugin) bool

HasSomeVersionOf returns true if the list contains the same plugin in the exact or a different version

func (PluginList) Hash

func (l PluginList) Hash() string

func (PluginList) Sanitize

func (l PluginList) Sanitize() PluginList

Sanitize remove duplicates and enforce semver

func (PluginList) String

func (l PluginList) String() string

func (PluginList) Update

func (l PluginList) Update(plugin *GrafanaPlugin)

Update update plugin version

func (PluginList) VersionsOf

func (l PluginList) VersionsOf(plugin *GrafanaPlugin) int

VersionsOf returns the number of different versions of a given plugin in the list

type PluginMap

type PluginMap map[string]PluginList

func (PluginMap) DeepCopy

func (in PluginMap) DeepCopy() PluginMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginMap.

func (PluginMap) DeepCopyInto

func (in PluginMap) DeepCopyInto(out *PluginMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteOpenShiftV1Spec

type RouteOpenShiftV1Spec struct {
	Host string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"`

	To *v12.RouteTargetReference `json:"to,omitempty" protobuf:"bytes,3,opt,name=to"`

	AlternateBackends []v12.RouteTargetReference `json:"alternateBackends,omitempty" protobuf:"bytes,4,rep,name=alternateBackends"`

	Port *v12.RoutePort `json:"port,omitempty" protobuf:"bytes,5,opt,name=port"`

	TLS *v12.TLSConfig `json:"tls,omitempty" protobuf:"bytes,6,opt,name=tls"`

	WildcardPolicy v12.WildcardPolicyType `json:"wildcardPolicy,omitempty" protobuf:"bytes,7,opt,name=wildcardPolicy"`
}

func (*RouteOpenShiftV1Spec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteOpenShiftV1Spec.

func (*RouteOpenShiftV1Spec) DeepCopyInto

func (in *RouteOpenShiftV1Spec) DeepCopyInto(out *RouteOpenShiftV1Spec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteOpenshiftV1

type RouteOpenshiftV1 struct {
	ObjectMeta ObjectMeta            `json:"metadata,omitempty"`
	Spec       *RouteOpenShiftV1Spec `json:"spec,omitempty"`
}

func (*RouteOpenshiftV1) DeepCopy

func (in *RouteOpenshiftV1) DeepCopy() *RouteOpenshiftV1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteOpenshiftV1.

func (*RouteOpenshiftV1) DeepCopyInto

func (in *RouteOpenshiftV1) DeepCopyInto(out *RouteOpenshiftV1)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountV1

type ServiceAccountV1 struct {
	ObjectMeta ObjectMeta            `json:"metadata,omitempty"`
	Secrets    []v14.ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"`
	// +optional
	ImagePullSecrets []v14.LocalObjectReference `json:"imagePullSecrets,omitempty" protobuf:"bytes,3,rep,name=imagePullSecrets"`
	// +optional
	AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,4,opt,name=automountServiceAccountToken"`
}

func (*ServiceAccountV1) DeepCopy

func (in *ServiceAccountV1) DeepCopy() *ServiceAccountV1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountV1.

func (*ServiceAccountV1) DeepCopyInto

func (in *ServiceAccountV1) DeepCopyInto(out *ServiceAccountV1)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceV1

type ServiceV1 struct {
	ObjectMeta ObjectMeta       `json:"metadata,omitempty"`
	Spec       *v14.ServiceSpec `json:"spec,omitempty"`
}

func (*ServiceV1) DeepCopy

func (in *ServiceV1) DeepCopy() *ServiceV1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceV1.

func (*ServiceV1) DeepCopyInto

func (in *ServiceV1) DeepCopyInto(out *ServiceV1)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL