v1beta1

package
v5.18.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2025 License: Apache-2.0 Imports: 22 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

View Source
const (
	// TLSTerminationEdge terminate encryption at the edge router.
	TLSTerminationEdge TLSTerminationType = "edge"
	// TLSTerminationPassthrough terminate encryption at the destination, the destination is responsible for decrypting traffic
	TLSTerminationPassthrough TLSTerminationType = "passthrough"
	// TLSTerminationReencrypt terminate encryption at the edge router and re-encrypt it with a new certificate supplied by the destination
	TLSTerminationReencrypt TLSTerminationType = "reencrypt"

	// InsecureEdgeTerminationPolicyNone disables insecure connections for an edge-terminated route.
	InsecureEdgeTerminationPolicyNone InsecureEdgeTerminationPolicyType = "None"
	// InsecureEdgeTerminationPolicyAllow allows insecure connections for an edge-terminated route.
	InsecureEdgeTerminationPolicyAllow InsecureEdgeTerminationPolicyType = "Allow"
	// InsecureEdgeTerminationPolicyRedirect redirects insecure connections for an edge-terminated route.
	// As an example, for routers that support HTTP and HTTPS, the
	// insecure HTTP connections will be redirected to use HTTPS.
	InsecureEdgeTerminationPolicyRedirect InsecureEdgeTerminationPolicyType = "Redirect"
)

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 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;KeepLast
	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"`

	NotificationSettings *NotificationSettings `json:"notificationSettings,omitempty"`

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

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

	Record *Record `json:"record,omitempty"`

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

	// UID of the alert rule. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40
	// +kubebuilder:validation:MaxLength=40
	// +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 CommonResource added in v5.16.0

type CommonResource interface {
	client.Object
	MatchLabels() *metav1.LabelSelector
	MatchNamespace() string
	AllowCrossNamespace() bool
	CommonStatus() *GrafanaCommonStatus
}

Common Functions that all CRs should implement, excluding Grafana +kubebuilder:object:generate=false

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 []corev1.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +optional
	InitContainers []corev1.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +optional
	Containers []corev1.Container `json:"containers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	EphemeralContainers []corev1.EphemeralContainer `` /* 128-byte string literal not displayed */
	// +optional
	RestartPolicy corev1.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 corev1.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 *corev1.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 []corev1.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 *corev1.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 []corev1.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 []corev1.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 *corev1.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 []corev1.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 *corev1.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 corev1.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 []corev1.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 *corev1.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 *appsv1.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"`
	// DEPRECATED, use top level `tls` instead.
	// +optional
	TLS *TLSConfig `json:"tls,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"`
	Status            GrafanaStatus `json:"status,omitempty"`
}

Grafana is the Schema for the grafanas API +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.version",description="" +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="" +kubebuilder:resource:categories={grafana-operator}

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"`
	Status GrafanaCommonStatus       `json:"status,omitempty"`
}

GrafanaAlertRuleGroup is the Schema for the grafanaalertrulegroups API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaAlertRuleGroup) AllowCrossNamespace added in v5.18.0

func (in *GrafanaAlertRuleGroup) AllowCrossNamespace() bool

func (*GrafanaAlertRuleGroup) CommonStatus added in v5.18.0

func (in *GrafanaAlertRuleGroup) CommonStatus() *GrafanaCommonStatus

func (*GrafanaAlertRuleGroup) Conditions added in v5.11.0

func (in *GrafanaAlertRuleGroup) Conditions() *[]metav1.Condition

Conditions implements FolderReferencer.

func (*GrafanaAlertRuleGroup) CurrentGeneration added in v5.11.0

func (in *GrafanaAlertRuleGroup) CurrentGeneration() int64

CurrentGeneration implements FolderReferencer.

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.

func (*GrafanaAlertRuleGroup) FolderNamespace added in v5.11.0

func (in *GrafanaAlertRuleGroup) FolderNamespace() string

FolderNamespace implements FolderReferencer.

func (*GrafanaAlertRuleGroup) FolderRef added in v5.11.0

func (in *GrafanaAlertRuleGroup) FolderRef() string

FolderRef implements FolderReferencer.

func (*GrafanaAlertRuleGroup) FolderUID added in v5.11.0

func (in *GrafanaAlertRuleGroup) FolderUID() string

FolderUID implements FolderReferencer.

func (*GrafanaAlertRuleGroup) GroupName added in v5.15.0

func (in *GrafanaAlertRuleGroup) GroupName() string

GroupName returns the name of alert rule group.

func (*GrafanaAlertRuleGroup) MatchLabels added in v5.18.0

func (in *GrafanaAlertRuleGroup) MatchLabels() *metav1.LabelSelector

func (*GrafanaAlertRuleGroup) MatchNamespace added in v5.18.0

func (in *GrafanaAlertRuleGroup) MatchNamespace() string

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 {
	GrafanaCommonSpec `json:",inline"`

	// +optional
	// Name of the alert rule group. If not specified, the resource name will be used.
	Name string `json:"name,omitempty"`

	// 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"`

	// Whether to enable or disable editing of the alert rule group in Grafana UI
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	Editable *bool `json:"editable,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" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable) && has(self.editable)))", message="spec.editable is immutable"

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 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"`
	// TLS Configuration used to talk with the grafana instance.
	// +optional
	TLS *TLSConfig `json:"tls,omitempty"`
	// Custom HTTP headers to use when interacting with this Grafana.
	// +optional
	Headers map[string]string `json:"headers,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 GrafanaComContentReference added in v5.18.0

type GrafanaComContentReference struct {
	ID       int  `json:"id"`
	Revision *int `json:"revision,omitempty"`
}

GrafanaComContentReference is a reference to content hosted on grafana.com

func (*GrafanaComContentReference) DeepCopy added in v5.18.0

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

func (*GrafanaComContentReference) DeepCopyInto added in v5.18.0

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

type GrafanaCommonSpec added in v5.16.0

type GrafanaCommonSpec struct {
	// How often the resource is synced, defaults to 10m0s if not set
	// +optional
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:default="10m0s"
	ResyncPeriod metav1.Duration `json:"resyncPeriod,omitempty"`

	// Selects Grafana instances for import
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.instanceSelector is immutable"
	InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`

	// Allow the Operator to match this resource with Grafanas outside the current namespace
	// +optional
	// +kubebuilder:default=false
	AllowCrossNamespaceImport bool `json:"allowCrossNamespaceImport,omitempty"`
}

Common Options that all CRs should embed, excluding GrafanaSpec Ensure alignment on handling ResyncPeriod, InstanceSelector, and AllowCrossNamespaceImport +kubebuilder:validation:XValidation:rule="!oldSelf.allowCrossNamespaceImport || (oldSelf.allowCrossNamespaceImport && self.allowCrossNamespaceImport)", message="disabling spec.allowCrossNamespaceImport requires a recreate to ensure desired state"

func (*GrafanaCommonSpec) DeepCopy added in v5.16.0

func (in *GrafanaCommonSpec) DeepCopy() *GrafanaCommonSpec

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

func (*GrafanaCommonSpec) DeepCopyInto added in v5.16.0

func (in *GrafanaCommonSpec) DeepCopyInto(out *GrafanaCommonSpec)

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

type GrafanaCommonStatus added in v5.16.0

type GrafanaCommonStatus struct {
	// Results when synchonizing resource with Grafana instances
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// Last time the resource was synchronized with Grafana instances
	LastResync metav1.Time `json:"lastResync,omitempty"`
}

The most recent observed state of a Grafana resource

func (*GrafanaCommonStatus) DeepCopy added in v5.16.0

func (in *GrafanaCommonStatus) DeepCopy() *GrafanaCommonStatus

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

func (*GrafanaCommonStatus) DeepCopyInto added in v5.16.0

func (in *GrafanaCommonStatus) DeepCopyInto(out *GrafanaCommonStatus)

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

type GrafanaContactPoint added in v5.9.0

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

	Spec   GrafanaContactPointSpec `json:"spec"`
	Status GrafanaCommonStatus     `json:"status,omitempty"`
}

GrafanaContactPoint is the Schema for the grafanacontactpoints API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaContactPoint) AllowCrossNamespace added in v5.16.0

func (in *GrafanaContactPoint) AllowCrossNamespace() bool

func (*GrafanaContactPoint) CommonStatus added in v5.18.0

func (in *GrafanaContactPoint) CommonStatus() *GrafanaCommonStatus

func (*GrafanaContactPoint) CustomUIDOrUID added in v5.16.0

func (in *GrafanaContactPoint) CustomUIDOrUID() string

Wrapper around CustomUID or default metadata.uid

func (*GrafanaContactPoint) DeepCopy added in v5.9.0

func (in *GrafanaContactPoint) DeepCopy() *GrafanaContactPoint

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

func (*GrafanaContactPoint) DeepCopyInto added in v5.9.0

func (in *GrafanaContactPoint) DeepCopyInto(out *GrafanaContactPoint)

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

func (*GrafanaContactPoint) DeepCopyObject added in v5.9.0

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

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

func (*GrafanaContactPoint) MatchLabels added in v5.16.0

func (in *GrafanaContactPoint) MatchLabels() *metav1.LabelSelector

func (*GrafanaContactPoint) MatchNamespace added in v5.16.0

func (in *GrafanaContactPoint) MatchNamespace() string

type GrafanaContactPointList added in v5.9.0

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

GrafanaContactPointList contains a list of GrafanaContactPoint

func (*GrafanaContactPointList) DeepCopy added in v5.9.0

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

func (*GrafanaContactPointList) DeepCopyInto added in v5.9.0

func (in *GrafanaContactPointList) DeepCopyInto(out *GrafanaContactPointList)

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

func (*GrafanaContactPointList) DeepCopyObject added in v5.9.0

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

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

func (*GrafanaContactPointList) Find added in v5.18.0

func (in *GrafanaContactPointList) Find(namespace string, name string) *GrafanaContactPoint

type GrafanaContactPointSpec added in v5.9.0

type GrafanaContactPointSpec struct {
	GrafanaCommonSpec `json:",inline"`

	// Manually specify the UID the Contact Point is created with. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	// +kubebuilder:validation:MaxLength=40
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
	CustomUID string `json:"uid,omitempty"`

	// +optional
	DisableResolveMessage bool `json:"disableResolveMessage,omitempty"`

	// +kubebuilder:validation:type=string
	Name string `json:"name"`

	Settings *apiextensions.JSON `json:"settings"`

	// +kubebuilder:validation:MaxItems=99
	ValuesFrom []ValueFrom `json:"valuesFrom,omitempty"`

	// +kubebuilder:validation:MinLength=1
	Type string `json:"type"`
}

GrafanaContactPointSpec defines the desired state of GrafanaContactPoint +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"

func (*GrafanaContactPointSpec) DeepCopy added in v5.9.0

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

func (*GrafanaContactPointSpec) DeepCopyInto added in v5.9.0

func (in *GrafanaContactPointSpec) DeepCopyInto(out *GrafanaContactPointSpec)

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

type GrafanaContentDatasource added in v5.18.0

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

GrafanaResourceDatasource is used to set the datasource name of any templated datasources in content definitions (e.g., dashboard JSON).

func (*GrafanaContentDatasource) DeepCopy added in v5.18.0

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

func (*GrafanaContentDatasource) DeepCopyInto added in v5.18.0

func (in *GrafanaContentDatasource) DeepCopyInto(out *GrafanaContentDatasource)

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

type GrafanaContentEnv added in v5.18.0

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

func (*GrafanaContentEnv) DeepCopy added in v5.18.0

func (in *GrafanaContentEnv) DeepCopy() *GrafanaContentEnv

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

func (*GrafanaContentEnv) DeepCopyInto added in v5.18.0

func (in *GrafanaContentEnv) DeepCopyInto(out *GrafanaContentEnv)

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

type GrafanaContentEnvFromSource added in v5.18.0

type GrafanaContentEnvFromSource 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 (*GrafanaContentEnvFromSource) DeepCopy added in v5.18.0

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

func (*GrafanaContentEnvFromSource) DeepCopyInto added in v5.18.0

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

type GrafanaContentResource added in v5.18.0

type GrafanaContentResource interface {
	client.Object
	GrafanaContentSpec() *GrafanaContentSpec
	GrafanaContentStatus() *GrafanaContentStatus
}

Common interface for any resource that embeds or references Grafana-native model content. +kubebuilder:object:generate=false

type GrafanaContentSpec added in v5.18.0

type GrafanaContentSpec struct {
	// Manually specify the uid, overwrites uids already present in the json model.
	// Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	// +kubebuilder:validation:MaxLength=40
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
	CustomUID string `json:"uid,omitempty"`

	// model json
	// +optional
	JSON string `json:"json,omitempty"`

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

	// model url
	// +optional
	URL string `json:"url,omitempty"`

	// authorization options for model from url
	// +optional
	URLAuthorization *GrafanaContentURLAuthorization `json:"urlAuthorization,omitempty"`

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

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

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

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

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

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

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

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

func (*GrafanaContentSpec) DeepCopy added in v5.18.0

func (in *GrafanaContentSpec) DeepCopy() *GrafanaContentSpec

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

func (*GrafanaContentSpec) DeepCopyInto added in v5.18.0

func (in *GrafanaContentSpec) DeepCopyInto(out *GrafanaContentSpec)

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

type GrafanaContentStatus added in v5.18.0

type GrafanaContentStatus struct {
	ContentCache     []byte      `json:"contentCache,omitempty"`
	ContentTimestamp metav1.Time `json:"contentTimestamp,omitempty"`
	ContentURL       string      `json:"contentUrl,omitempty"`
	Hash             string      `json:"hash,omitempty"`
	UID              string      `json:"uid,omitempty"`
}

func (*GrafanaContentStatus) DeepCopy added in v5.18.0

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

func (*GrafanaContentStatus) DeepCopyInto added in v5.18.0

func (in *GrafanaContentStatus) DeepCopyInto(out *GrafanaContentStatus)

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

type GrafanaContentURLAuthorization added in v5.18.0

type GrafanaContentURLAuthorization struct {
	BasicAuth *GrafanaContentURLBasicAuth `json:"basicAuth,omitempty"`
}

func (*GrafanaContentURLAuthorization) DeepCopy added in v5.18.0

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

func (*GrafanaContentURLAuthorization) DeepCopyInto added in v5.18.0

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

type GrafanaContentURLBasicAuth added in v5.18.0

type GrafanaContentURLBasicAuth struct {
	Username *v1.SecretKeySelector `json:"username,omitempty"`
	Password *v1.SecretKeySelector `json:"password,omitempty"`
}

func (*GrafanaContentURLBasicAuth) DeepCopy added in v5.18.0

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

func (*GrafanaContentURLBasicAuth) DeepCopyInto added in v5.18.0

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"`
	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="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaDashboard) AllowCrossNamespace added in v5.18.0

func (in *GrafanaDashboard) AllowCrossNamespace() bool

func (*GrafanaDashboard) CommonStatus added in v5.18.0

func (in *GrafanaDashboard) CommonStatus() *GrafanaCommonStatus

func (*GrafanaDashboard) Conditions added in v5.11.0

func (in *GrafanaDashboard) Conditions() *[]metav1.Condition

Conditions implements FolderReferencer.

func (*GrafanaDashboard) CurrentGeneration added in v5.11.0

func (in *GrafanaDashboard) CurrentGeneration() int64

CurrentGeneration implements FolderReferencer.

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) FolderNamespace added in v5.11.0

func (in *GrafanaDashboard) FolderNamespace() string

FolderNamespace implements FolderReferencer.

func (*GrafanaDashboard) FolderRef added in v5.11.0

func (in *GrafanaDashboard) FolderRef() string

FolderRef implements FolderReferencer.

func (*GrafanaDashboard) FolderUID added in v5.11.0

func (in *GrafanaDashboard) FolderUID() string

FolderUID implements FolderReferencer.

func (*GrafanaDashboard) GrafanaContentSpec added in v5.18.0

func (in *GrafanaDashboard) GrafanaContentSpec() *GrafanaContentSpec

GrafanaContentSpec implements GrafanaContentResource

func (*GrafanaDashboard) GrafanaContentStatus added in v5.18.0

func (in *GrafanaDashboard) GrafanaContentStatus() *GrafanaContentStatus

GrafanaContentSpec implements GrafanaContentResource

func (*GrafanaDashboard) MatchLabels added in v5.18.0

func (in *GrafanaDashboard) MatchLabels() *metav1.LabelSelector

func (*GrafanaDashboard) MatchNamespace added in v5.18.0

func (in *GrafanaDashboard) MatchNamespace() string

func (*GrafanaDashboard) ResyncPeriodHasElapsed

func (in *GrafanaDashboard) ResyncPeriodHasElapsed() bool

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 {
	GrafanaCommonSpec  `json:",inline"`
	GrafanaContentSpec `json:",inline"`

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

	// UID of the target folder for this dashboard
	// +optional
	FolderUID string `json:"folderUID,omitempty"`

	// Name of a `GrafanaFolder` resource in the same namespace
	// +optional
	FolderRef string `json:"folderRef,omitempty"`

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

GrafanaDashboardSpec defines the desired state of GrafanaDashboard +kubebuilder:validation:XValidation:rule="(has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID))) || !(has(self.folderRef) && (has(self.folderUID)))", message="Only one of folderUID or folderRef can be declared at the same time" +kubebuilder:validation:XValidation:rule="(has(self.folder) && !(has(self.folderRef) || has(self.folderUID))) || !(has(self.folder))", message="folder field cannot be set when folderUID or folderRef is already declared" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"

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 {
	GrafanaCommonStatus  `json:",inline"`
	GrafanaContentStatus `json:",inline"`

	// The dashboard instanceSelector can't find matching grafana instances
	NoMatchingInstances bool `json:"NoMatchingInstances,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"`
	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="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaDatasource) AllowCrossNamespace added in v5.18.0

func (in *GrafanaDatasource) AllowCrossNamespace() bool

func (*GrafanaDatasource) CommonStatus added in v5.18.0

func (in *GrafanaDatasource) CommonStatus() *GrafanaCommonStatus

func (*GrafanaDatasource) CustomUIDOrUID added in v5.16.0

func (in *GrafanaDatasource) CustomUIDOrUID() string

Wrapper around CustomUID, datasourcelUID or default metadata.uid

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) IsUpdatedUID

func (in *GrafanaDatasource) IsUpdatedUID() bool

func (*GrafanaDatasource) MatchLabels added in v5.18.0

func (in *GrafanaDatasource) MatchLabels() *metav1.LabelSelector

func (*GrafanaDatasource) MatchNamespace added in v5.18.0

func (in *GrafanaDatasource) MatchNamespace() string

func (*GrafanaDatasource) ResyncPeriodHasElapsed

func (in *GrafanaDatasource) ResyncPeriodHasElapsed() bool

func (*GrafanaDatasource) Unchanged

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

type GrafanaDatasourceInternal

type GrafanaDatasourceInternal struct {
	// Deprecated field, use spec.uid instead
	// +optional
	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"`
	IsDefault     *bool  `json:"isDefault,omitempty"`
	BasicAuth     *bool  `json:"basicAuth,omitempty"`
	BasicAuthUser string `json:"basicAuthUser,omitempty"`

	// Deprecated field, it has no effect
	OrgID *int64 `json:"orgId,omitempty"`

	// Whether to enable/disable editing of the datasource in Grafana UI
	// +optional
	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 {
	GrafanaCommonSpec `json:",inline"`

	// The UID, for the datasource, fallback to the deprecated spec.datasource.uid
	// and metadata.uid. Can be any string consisting of alphanumeric characters,
	// - and _ with a maximum length of 40 +optional
	// +kubebuilder:validation:MaxLength=40
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	CustomUID string `json:"uid,omitempty"`

	Datasource *GrafanaDatasourceInternal `json:"datasource"`

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

	// environments variables from secrets or config maps
	// +optional
	// +kubebuilder:validation:MaxItems=99
	ValuesFrom []ValueFrom `json:"valuesFrom,omitempty"`
}

GrafanaDatasourceSpec defines the desired state of GrafanaDatasource +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"

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 {
	GrafanaCommonStatus `json:",inline"`

	Hash string `json:"hash,omitempty"`
	// Deprecated: Check status.conditions or operator logs
	LastMessage string `json:"lastMessage,omitempty"`
	// The datasource instanceSelector can't find matching grafana instances
	NoMatchingInstances bool   `json:"NoMatchingInstances,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 GrafanaFolder

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

	Spec   GrafanaFolderSpec   `json:"spec"`
	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="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaFolder) AllowCrossNamespace added in v5.16.0

func (in *GrafanaFolder) AllowCrossNamespace() bool

func (*GrafanaFolder) CommonStatus added in v5.18.0

func (in *GrafanaFolder) CommonStatus() *GrafanaCommonStatus

func (*GrafanaFolder) Conditions added in v5.11.0

func (in *GrafanaFolder) Conditions() *[]metav1.Condition

Conditions implements FolderReferencer.

func (*GrafanaFolder) CurrentGeneration added in v5.11.0

func (in *GrafanaFolder) CurrentGeneration() int64

CurrentGeneration implements FolderReferencer.

func (*GrafanaFolder) CustomUIDOrUID added in v5.15.0

func (in *GrafanaFolder) CustomUIDOrUID() string

Wrapper around CustomUID or default metadata.uid

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) FolderNamespace added in v5.11.0

func (in *GrafanaFolder) FolderNamespace() string

FolderNamespace implements FolderReferencer.

func (*GrafanaFolder) FolderRef added in v5.11.0

func (in *GrafanaFolder) FolderRef() string

FolderRef implements FolderReferencer.

func (*GrafanaFolder) FolderUID added in v5.11.0

func (in *GrafanaFolder) FolderUID() string

FolderUID implements FolderReferencer.

func (*GrafanaFolder) GetTitle

func (in *GrafanaFolder) GetTitle() string

func (*GrafanaFolder) Hash

func (in *GrafanaFolder) Hash() string

func (*GrafanaFolder) MatchLabels added in v5.16.0

func (in *GrafanaFolder) MatchLabels() *metav1.LabelSelector

func (*GrafanaFolder) MatchNamespace added in v5.16.0

func (in *GrafanaFolder) MatchNamespace() string

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 {
	GrafanaCommonSpec `json:",inline"`

	// Manually specify the UID the Folder is created with. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	// +kubebuilder:validation:MaxLength=40
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
	CustomUID string `json:"uid,omitempty"`

	// Display name of the folder in Grafana
	// +optional
	Title string `json:"title,omitempty"`

	// Raw json with folder permissions, potentially exported from Grafana
	// +optional
	Permissions string `json:"permissions,omitempty"`

	// UID of the folder in which the current folder should be created
	// +optional
	ParentFolderUID string `json:"parentFolderUID,omitempty"`

	// Reference to an existing GrafanaFolder CR in the same namespace
	// +optional
	ParentFolderRef string `json:"parentFolderRef,omitempty"`
}

GrafanaFolderSpec defines the desired state of GrafanaFolder +kubebuilder:validation:XValidation:rule="(has(self.parentFolderUID) && !(has(self.parentFolderRef))) || (has(self.parentFolderRef) && !(has(self.parentFolderUID))) || !(has(self.parentFolderRef) && (has(self.parentFolderUID)))", message="Only one of parentFolderUID or parentFolderRef can be set" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"

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 {
	GrafanaCommonStatus `json:",inline"`

	Hash string `json:"hash,omitempty"`
	// The folder instanceSelector can't find matching grafana instances
	NoMatchingInstances bool `json:"NoMatchingInstances,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 GrafanaLibraryPanel added in v5.18.0

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

	Spec   GrafanaLibraryPanelSpec   `json:"spec"`
	Status GrafanaLibraryPanelStatus `json:"status,omitempty"`
}

GrafanaLibraryPanel is the Schema for the grafanalibrarypanels API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaLibraryPanel) AllowCrossNamespace added in v5.18.0

func (in *GrafanaLibraryPanel) AllowCrossNamespace() bool

func (*GrafanaLibraryPanel) CommonStatus added in v5.18.0

func (in *GrafanaLibraryPanel) CommonStatus() *GrafanaCommonStatus

func (*GrafanaLibraryPanel) Conditions added in v5.18.0

func (in *GrafanaLibraryPanel) Conditions() *[]metav1.Condition

Conditions implements FolderReferencer.

func (*GrafanaLibraryPanel) CurrentGeneration added in v5.18.0

func (in *GrafanaLibraryPanel) CurrentGeneration() int64

CurrentGeneration implements FolderReferencer.

func (*GrafanaLibraryPanel) DeepCopy added in v5.18.0

func (in *GrafanaLibraryPanel) DeepCopy() *GrafanaLibraryPanel

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

func (*GrafanaLibraryPanel) DeepCopyInto added in v5.18.0

func (in *GrafanaLibraryPanel) DeepCopyInto(out *GrafanaLibraryPanel)

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

func (*GrafanaLibraryPanel) DeepCopyObject added in v5.18.0

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

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

func (*GrafanaLibraryPanel) FolderNamespace added in v5.18.0

func (in *GrafanaLibraryPanel) FolderNamespace() string

FolderNamespace implements FolderReferencer.

func (*GrafanaLibraryPanel) FolderRef added in v5.18.0

func (in *GrafanaLibraryPanel) FolderRef() string

FolderRef implements FolderReferencer.

func (*GrafanaLibraryPanel) FolderUID added in v5.18.0

func (in *GrafanaLibraryPanel) FolderUID() string

FolderUID implements FolderReferencer.

func (*GrafanaLibraryPanel) GrafanaContentSpec added in v5.18.0

func (in *GrafanaLibraryPanel) GrafanaContentSpec() *GrafanaContentSpec

GrafanaContentSpec implements GrafanaContentResource

func (*GrafanaLibraryPanel) GrafanaContentStatus added in v5.18.0

func (in *GrafanaLibraryPanel) GrafanaContentStatus() *GrafanaContentStatus

GrafanaContentSpec implements GrafanaContentResource

func (*GrafanaLibraryPanel) MatchLabels added in v5.18.0

func (in *GrafanaLibraryPanel) MatchLabels() *metav1.LabelSelector

func (*GrafanaLibraryPanel) MatchNamespace added in v5.18.0

func (in *GrafanaLibraryPanel) MatchNamespace() string

func (*GrafanaLibraryPanel) ResyncPeriodHasElapsed added in v5.18.0

func (in *GrafanaLibraryPanel) ResyncPeriodHasElapsed() bool

type GrafanaLibraryPanelList added in v5.18.0

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

GrafanaLibraryPanelList contains a list of GrafanaLibraryPanel

func (*GrafanaLibraryPanelList) DeepCopy added in v5.18.0

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

func (*GrafanaLibraryPanelList) DeepCopyInto added in v5.18.0

func (in *GrafanaLibraryPanelList) DeepCopyInto(out *GrafanaLibraryPanelList)

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

func (*GrafanaLibraryPanelList) DeepCopyObject added in v5.18.0

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

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

func (*GrafanaLibraryPanelList) Find added in v5.18.0

func (in *GrafanaLibraryPanelList) Find(namespace string, name string) *GrafanaLibraryPanel

type GrafanaLibraryPanelSpec added in v5.18.0

type GrafanaLibraryPanelSpec struct {
	GrafanaCommonSpec  `json:",inline"`
	GrafanaContentSpec `json:",inline"`

	// UID of the target folder for this dashboard
	// +optional
	FolderUID string `json:"folderUID,omitempty"`

	// Name of a `GrafanaFolder` resource in the same namespace
	// +optional
	FolderRef string `json:"folderRef,omitempty"`

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

GrafanaLibraryPanelSpec defines the desired state of GrafanaLibraryPanel +kubebuilder:validation:XValidation:rule="(has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID))) || !(has(self.folderRef) && (has(self.folderUID)))", message="Only one of folderUID or folderRef can be declared at the same time" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"

func (*GrafanaLibraryPanelSpec) DeepCopy added in v5.18.0

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

func (*GrafanaLibraryPanelSpec) DeepCopyInto added in v5.18.0

func (in *GrafanaLibraryPanelSpec) DeepCopyInto(out *GrafanaLibraryPanelSpec)

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

type GrafanaLibraryPanelStatus added in v5.18.0

type GrafanaLibraryPanelStatus struct {
	GrafanaCommonStatus  `json:",inline"`
	GrafanaContentStatus `json:",inline"`
}

GrafanaLibraryPanelStatus defines the observed state of GrafanaLibraryPanel

func (*GrafanaLibraryPanelStatus) DeepCopy added in v5.18.0

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

func (*GrafanaLibraryPanelStatus) DeepCopyInto added in v5.18.0

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 GrafanaMuteTiming added in v5.18.0

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

	Spec   GrafanaMuteTimingSpec `json:"spec"`
	Status GrafanaCommonStatus   `json:"status,omitempty"`
}

GrafanaMuteTiming is the Schema for the GrafanaMuteTiming API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaMuteTiming) AllowCrossNamespace added in v5.18.0

func (in *GrafanaMuteTiming) AllowCrossNamespace() bool

func (*GrafanaMuteTiming) CommonStatus added in v5.18.0

func (in *GrafanaMuteTiming) CommonStatus() *GrafanaCommonStatus

func (*GrafanaMuteTiming) DeepCopy added in v5.18.0

func (in *GrafanaMuteTiming) DeepCopy() *GrafanaMuteTiming

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

func (*GrafanaMuteTiming) DeepCopyInto added in v5.18.0

func (in *GrafanaMuteTiming) DeepCopyInto(out *GrafanaMuteTiming)

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

func (*GrafanaMuteTiming) DeepCopyObject added in v5.18.0

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

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

func (*GrafanaMuteTiming) MatchLabels added in v5.18.0

func (in *GrafanaMuteTiming) MatchLabels() *metav1.LabelSelector

func (*GrafanaMuteTiming) MatchNamespace added in v5.18.0

func (in *GrafanaMuteTiming) MatchNamespace() string

func (*GrafanaMuteTiming) NamespacedResource added in v5.18.0

func (in *GrafanaMuteTiming) NamespacedResource() string

type GrafanaMuteTimingList added in v5.18.0

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

GrafanaMuteTimingList contains a list of GrafanaMuteTiming

func (*GrafanaMuteTimingList) DeepCopy added in v5.18.0

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

func (*GrafanaMuteTimingList) DeepCopyInto added in v5.18.0

func (in *GrafanaMuteTimingList) DeepCopyInto(out *GrafanaMuteTimingList)

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

func (*GrafanaMuteTimingList) DeepCopyObject added in v5.18.0

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

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

type GrafanaMuteTimingSpec added in v5.18.0

type GrafanaMuteTimingSpec struct {
	GrafanaCommonSpec `json:",inline"`

	// A unique name for the mute timing
	Name string `json:"name"`

	// Time intervals for muting
	// +kubebuilder:validation:MinItems=1
	TimeIntervals []*TimeInterval `json:"time_intervals"`

	// Whether to enable or disable editing of the mute timing in Grafana UI
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.editable is immutable"
	// +optional
	// +kubebuilder:default=true
	Editable bool `json:"editable"`
}

GrafanaMuteTimingSpec defines the desired state of GrafanaMuteTiming

func (*GrafanaMuteTimingSpec) DeepCopy added in v5.18.0

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

func (*GrafanaMuteTimingSpec) DeepCopyInto added in v5.18.0

func (in *GrafanaMuteTimingSpec) DeepCopyInto(out *GrafanaMuteTimingSpec)

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

type GrafanaNotificationPolicy added in v5.12.0

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

	Spec   GrafanaNotificationPolicySpec   `json:"spec"`
	Status GrafanaNotificationPolicyStatus `json:"status,omitempty"`
}

GrafanaNotificationPolicy is the Schema for the GrafanaNotificationPolicy API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaNotificationPolicy) AllowCrossNamespace added in v5.16.0

func (in *GrafanaNotificationPolicy) AllowCrossNamespace() bool

func (*GrafanaNotificationPolicy) CommonStatus added in v5.18.0

func (in *GrafanaNotificationPolicy) CommonStatus() *GrafanaCommonStatus

func (*GrafanaNotificationPolicy) DeepCopy added in v5.12.0

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

func (*GrafanaNotificationPolicy) DeepCopyInto added in v5.12.0

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

func (*GrafanaNotificationPolicy) DeepCopyObject added in v5.12.0

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

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

func (*GrafanaNotificationPolicy) MatchLabels added in v5.16.0

func (in *GrafanaNotificationPolicy) MatchLabels() *metav1.LabelSelector

func (*GrafanaNotificationPolicy) MatchNamespace added in v5.16.0

func (in *GrafanaNotificationPolicy) MatchNamespace() string

func (*GrafanaNotificationPolicy) NamespacedResource added in v5.12.0

func (in *GrafanaNotificationPolicy) NamespacedResource() string

type GrafanaNotificationPolicyList added in v5.12.0

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

GrafanaNotificationPolicyList contains a list of GrafanaNotificationPolicy

func (*GrafanaNotificationPolicyList) DeepCopy added in v5.12.0

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

func (*GrafanaNotificationPolicyList) DeepCopyInto added in v5.12.0

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

func (*GrafanaNotificationPolicyList) DeepCopyObject added in v5.12.0

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

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

type GrafanaNotificationPolicyRoute added in v5.18.0

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

	Spec   GrafanaNotificationPolicyRouteSpec `json:"spec"`
	Status GrafanaCommonStatus                `json:"status,omitempty"`
}

GrafanaNotificationPolicyRoute is the Schema for the grafananotificationpolicyroutes API +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaNotificationPolicyRoute) DeepCopy added in v5.18.0

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

func (*GrafanaNotificationPolicyRoute) DeepCopyInto added in v5.18.0

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

func (*GrafanaNotificationPolicyRoute) DeepCopyObject added in v5.18.0

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

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

func (*GrafanaNotificationPolicyRoute) NamespacedResource added in v5.18.0

func (r *GrafanaNotificationPolicyRoute) NamespacedResource() string

type GrafanaNotificationPolicyRouteList added in v5.18.0

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

GrafanaNotificationPolicyRouteList contains a list of GrafanaNotificationPolicyRoute

func (*GrafanaNotificationPolicyRouteList) DeepCopy added in v5.18.0

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

func (*GrafanaNotificationPolicyRouteList) DeepCopyInto added in v5.18.0

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

func (*GrafanaNotificationPolicyRouteList) DeepCopyObject added in v5.18.0

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

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

type GrafanaNotificationPolicyRouteSpec added in v5.18.0

type GrafanaNotificationPolicyRouteSpec struct {

	// Route for alerts to match against
	Route `json:",inline"`
}

GrafanaNotificationPolicyRouteSpec defines the desired state of GrafanaNotificationPolicyRoute

func (*GrafanaNotificationPolicyRouteSpec) DeepCopy added in v5.18.0

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

func (*GrafanaNotificationPolicyRouteSpec) DeepCopyInto added in v5.18.0

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

type GrafanaNotificationPolicySpec added in v5.12.0

type GrafanaNotificationPolicySpec struct {
	GrafanaCommonSpec `json:",inline"`

	// Routes for alerts to match against
	Route *Route `json:"route"`

	// Whether to enable or disable editing of the notification policy in Grafana UI
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	Editable *bool `json:"editable,omitempty"`
}

GrafanaNotificationPolicySpec defines the desired state of GrafanaNotificationPolicy +kubebuilder:validation:XValidation:rule="((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable) && has(self.editable)))", message="spec.editable is immutable"

func (*GrafanaNotificationPolicySpec) DeepCopy added in v5.12.0

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

func (*GrafanaNotificationPolicySpec) DeepCopyInto added in v5.12.0

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

type GrafanaNotificationPolicyStatus added in v5.12.0

type GrafanaNotificationPolicyStatus struct {
	GrafanaCommonStatus `json:",inline"`

	DiscoveredRoutes *[]string `json:"discoveredRoutes,omitempty"`
}

GrafanaNotificationPolicyStatus defines the observed state of GrafanaNotificationPolicy

func (*GrafanaNotificationPolicyStatus) DeepCopy added in v5.12.0

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

func (*GrafanaNotificationPolicyStatus) DeepCopyInto added in v5.12.0

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

type GrafanaNotificationTemplate added in v5.16.0

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

	Spec   GrafanaNotificationTemplateSpec `json:"spec"`
	Status GrafanaCommonStatus             `json:"status,omitempty"`
}

GrafanaNotificationTemplate is the Schema for the GrafanaNotificationTemplate API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}

func (*GrafanaNotificationTemplate) AllowCrossNamespace added in v5.16.0

func (in *GrafanaNotificationTemplate) AllowCrossNamespace() bool

func (*GrafanaNotificationTemplate) CommonStatus added in v5.18.0

func (*GrafanaNotificationTemplate) DeepCopy added in v5.16.0

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

func (*GrafanaNotificationTemplate) DeepCopyInto added in v5.16.0

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

func (*GrafanaNotificationTemplate) DeepCopyObject added in v5.16.0

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

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

func (*GrafanaNotificationTemplate) MatchLabels added in v5.16.0

func (*GrafanaNotificationTemplate) MatchNamespace added in v5.16.0

func (in *GrafanaNotificationTemplate) MatchNamespace() string

func (*GrafanaNotificationTemplate) NamespacedResource added in v5.16.0

func (in *GrafanaNotificationTemplate) NamespacedResource() string

type GrafanaNotificationTemplateList added in v5.16.0

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

GrafanaNotificationTemplateList contains a list of GrafanaNotificationTemplate

func (*GrafanaNotificationTemplateList) DeepCopy added in v5.16.0

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

func (*GrafanaNotificationTemplateList) DeepCopyInto added in v5.16.0

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

func (*GrafanaNotificationTemplateList) DeepCopyObject added in v5.16.0

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

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

type GrafanaNotificationTemplateSpec added in v5.16.0

type GrafanaNotificationTemplateSpec struct {
	GrafanaCommonSpec `json:",inline"`

	// Template name
	Name string `json:"name"`

	// Template content
	Template string `json:"template,omitempty"`

	// Whether to enable or disable editing of the notification template in Grafana UI
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.editable is immutable"
	// +optional
	Editable *bool `json:"editable,omitempty"`
}

GrafanaNotificationTemplateSpec defines the desired state of GrafanaNotificationTemplate +kubebuilder:validation:XValidation:rule="((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable) && has(self.editable)))", message="spec.editable is immutable"

func (*GrafanaNotificationTemplateSpec) DeepCopy added in v5.16.0

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

func (*GrafanaNotificationTemplateSpec) DeepCopyInto added in v5.16.0

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

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"`
	// Version specifies the version of Grafana to use for this deployment. It follows the same format as the docker.io/grafana/grafana tags
	Version string `json:"version,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"`
	// DisableDefaultAdminSecret prevents operator from creating default admin-credentials secret
	DisableDefaultAdminSecret bool `json:"disableDefaultAdminSecret,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"`
	ContactPoints NamespacedResourceList `json:"contactPoints,omitempty"`
	Dashboards    NamespacedResourceList `json:"dashboards,omitempty"`
	Datasources   NamespacedResourceList `json:"datasources,omitempty"`
	Folders       NamespacedResourceList `json:"folders,omitempty"`
	LibraryPanels NamespacedResourceList `json:"libraryPanels,omitempty"`
	Version       string                 `json:"version,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       *networkingv1.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 InsecureEdgeTerminationPolicyType added in v5.18.0

type InsecureEdgeTerminationPolicyType string

InsecureEdgeTerminationPolicyType dictates the behavior of insecure connections to an edge-terminated route.

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 LocalObjectReference added in v5.18.0

type LocalObjectReference struct {
	// name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	// +optional
	Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
}

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. +structType=atomic

func (*LocalObjectReference) DeepCopy added in v5.18.0

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

func (*LocalObjectReference) DeepCopyInto added in v5.18.0

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

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

type Matcher added in v5.12.0

type Matcher struct {
	// is equal
	IsEqual bool `json:"isEqual,omitempty"`

	// is regex
	IsRegex bool `json:"isRegex"`

	// name
	Name *string `json:"name,omitempty"`

	// value
	Value string `json:"value"`
}

func (*Matcher) DeepCopy added in v5.12.0

func (in *Matcher) DeepCopy() *Matcher

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

func (*Matcher) DeepCopyInto added in v5.12.0

func (in *Matcher) DeepCopyInto(out *Matcher)

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

type Matchers added in v5.12.0

type Matchers []*Matcher

func (Matchers) DeepCopy added in v5.12.0

func (in Matchers) DeepCopy() Matchers

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

func (Matchers) DeepCopyInto added in v5.12.0

func (in Matchers) DeepCopyInto(out *Matchers)

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

func (Matchers) ToModelMatchers added in v5.12.0

func (m Matchers) ToModelMatchers() models.Matchers

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 added in v5.18.0

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 NotificationSettings added in v5.9.1

type NotificationSettings struct {
	GroupBy           []string `json:"group_by,omitempty"`
	GroupInterval     string   `json:"group_interval,omitempty"`
	GroupWait         string   `json:"group_wait,omitempty"`
	Receiver          string   `json:"receiver"`
	MuteTimeIntervals []string `json:"mute_time_intervals,omitempty"`
	RepeatInterval    string   `json:"repeat_interval,omitempty"`
}

func (*NotificationSettings) DeepCopy added in v5.9.1

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

func (*NotificationSettings) DeepCopyInto added in v5.9.1

func (in *NotificationSettings) DeepCopyInto(out *NotificationSettings)

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

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 OpenshiftTLSConfig added in v5.18.0

type OpenshiftTLSConfig struct {
	// termination indicates termination type.
	//
	// * edge - TLS termination is done by the router and http is used to communicate with the backend (default)
	// * passthrough - Traffic is sent straight to the destination without the router providing TLS termination
	// * reencrypt - TLS termination is done by the router and https is used to communicate with the backend
	//
	// Note: passthrough termination is incompatible with httpHeader actions
	// +kubebuilder:validation:Enum=edge;reencrypt;passthrough
	Termination TLSTerminationType `json:"termination" protobuf:"bytes,1,opt,name=termination,casttype=TLSTerminationType"`

	// certificate provides certificate contents. This should be a single serving certificate, not a certificate
	// chain. Do not include a CA certificate.
	Certificate string `json:"certificate,omitempty" protobuf:"bytes,2,opt,name=certificate"`

	// key provides key file contents
	Key string `json:"key,omitempty" protobuf:"bytes,3,opt,name=key"`

	// caCertificate provides the cert authority certificate contents
	CACertificate string `json:"caCertificate,omitempty" protobuf:"bytes,4,opt,name=caCertificate"`

	// destinationCACertificate provides the contents of the ca certificate of the final destination.  When using reencrypt
	// termination this file should be provided in order to have routers use it for health checks on the secure connection.
	// If this field is not specified, the router may provide its own destination CA and perform hostname validation using
	// the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically
	// verify.
	DestinationCACertificate string `json:"destinationCACertificate,omitempty" protobuf:"bytes,5,opt,name=destinationCACertificate"`

	// insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While
	// each router may make its own decisions on which ports to expose, this is normally port 80.
	//
	// If a route does not specify insecureEdgeTerminationPolicy, then the default behavior is "None".
	//
	// * Allow - traffic is sent to the server on the insecure port (edge/reencrypt terminations only).
	//
	// * None - no traffic is allowed on the insecure port (default).
	//
	// * Redirect - clients are redirected to the secure port.
	//
	// +kubebuilder:validation:Enum=Allow;None;Redirect;""
	InsecureEdgeTerminationPolicy InsecureEdgeTerminationPolicyType `` /* 147-byte string literal not displayed */

	// externalCertificate provides certificate contents as a secret reference.
	// This should be a single serving certificate, not a certificate
	// chain. Do not include a CA certificate. The secret referenced should
	// be present in the same namespace as that of the Route.
	// Forbidden when `certificate` is set.
	// The router service account needs to be granted with read-only access to this secret,
	// please refer to openshift docs for additional details.
	//
	// +openshift:enable:FeatureGate=RouteExternalCertificate
	// +optional
	ExternalCertificate *LocalObjectReference `json:"externalCertificate,omitempty" protobuf:"bytes,7,opt,name=externalCertificate"`
}

TLSConfig defines config used to secure a route and provide termination

+kubebuilder:validation:XValidation:rule="has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination=='passthrough') && (self.insecureEdgeTerminationPolicy=='Allow')) : true", message="cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow" +openshift:validation:FeatureGateAwareXValidation:featureGate=RouteExternalCertificate,rule="!(has(self.certificate) && has(self.externalCertificate))", message="cannot have both spec.tls.certificate and spec.tls.externalCertificate"

func (*OpenshiftTLSConfig) DeepCopy added in v5.18.0

func (in *OpenshiftTLSConfig) DeepCopy() *OpenshiftTLSConfig

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

func (*OpenshiftTLSConfig) DeepCopyInto added in v5.18.0

func (in *OpenshiftTLSConfig) DeepCopyInto(out *OpenshiftTLSConfig)

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

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 []corev1.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 *corev1.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 *corev1.PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"`
	// +optional
	DataSource *corev1.TypedLocalObjectReference `json:"dataSource,omitempty" protobuf:"bytes,7,opt,name=dataSource"`
	// +optional
	DataSourceRef *corev1.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 Record added in v5.18.0

type Record struct {
	// +kubebuilder:validation:Required
	From string `json:"from"`

	// +kubebuilder:validation:Required
	Metric string `json:"metric"`
}

func (*Record) DeepCopy added in v5.18.0

func (in *Record) DeepCopy() *Record

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

func (*Record) DeepCopyInto added in v5.18.0

func (in *Record) DeepCopyInto(out *Record)

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

type Route added in v5.12.0

type Route struct {
	// continue
	Continue bool `json:"continue,omitempty"`

	// group by
	GroupBy []string `json:"group_by,omitempty"`

	// group interval
	GroupInterval string `json:"group_interval,omitempty"`

	// group wait
	GroupWait string `json:"group_wait,omitempty"`

	// match re
	MatchRe models.MatchRegexps `json:"match_re,omitempty"`

	// matchers
	Matchers Matchers `json:"matchers,omitempty"`

	// mute time intervals
	MuteTimeIntervals []string `json:"mute_time_intervals,omitempty"`

	// object matchers
	ObjectMatchers models.ObjectMatchers `json:"object_matchers,omitempty"`

	// provenance
	Provenance models.Provenance `json:"provenance,omitempty"`

	// receiver
	// +kubebuilder:validation:MinLength=1
	Receiver string `json:"receiver"`

	// repeat interval
	RepeatInterval string `json:"repeat_interval,omitempty"`

	// selects GrafanaNotificationPolicyRoutes to merge in when specified
	// mutually exclusive with Routes
	RouteSelector *metav1.LabelSelector `json:"routeSelector,omitempty"`

	// routes, mutually exclusive with RouteSelector
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Routes []*Route `json:"routes,omitempty"`
}

func (*Route) DeepCopy added in v5.12.0

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto added in v5.12.0

func (in *Route) DeepCopyInto(out *Route)

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

func (*Route) HasRouteSelector added in v5.18.0

func (r *Route) HasRouteSelector() bool

HasRouteSelector checks if the given Route or any of its nested Routes has a RouteSelector

func (*Route) IsRouteSelectorMutuallyExclusive added in v5.18.0

func (r *Route) IsRouteSelectorMutuallyExclusive() bool

IsRouteSelectorMutuallyExclusive returns true when the route and all its sub-routes satisfy the constraint of routes and routeSelector being mutually exclusive

func (*Route) ToModelRoute added in v5.12.0

func (r *Route) ToModelRoute() *models.Route

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 *RouteTargetReference `json:"to,omitempty" protobuf:"bytes,3,opt,name=to"`

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

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

	TLS *OpenshiftTLSConfig `json:"tls,omitempty" protobuf:"bytes,6,opt,name=tls"`

	WildcardPolicy 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 RoutePort added in v5.18.0

type RoutePort struct {
	// The target port on pods selected by the service this route points to.
	// If this is a string, it will be looked up as a named port in the target
	// endpoints port list. Required
	TargetPort intstr.IntOrString `json:"targetPort" protobuf:"bytes,1,opt,name=targetPort"`
}

RoutePort defines a port mapping from a router to an endpoint in the service endpoints.

func (*RoutePort) DeepCopy added in v5.18.0

func (in *RoutePort) DeepCopy() *RoutePort

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

func (*RoutePort) DeepCopyInto added in v5.18.0

func (in *RoutePort) DeepCopyInto(out *RoutePort)

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

type RouteTargetReference added in v5.18.0

type RouteTargetReference struct {
	// The kind of target that the route is referring to. Currently, only 'Service' is allowed
	//
	// +kubebuilder:validation:Enum=Service;""
	// +kubebuilder:default=Service
	Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`

	// name of the service/target that is being referred to. e.g. name of the service
	//
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name" protobuf:"bytes,2,opt,name=name"`

	// weight as an integer between 0 and 256, default 100, that specifies the target's relative weight
	// against other target reference objects. 0 suppresses requests to this backend.
	//
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=256
	// +kubebuilder:default=100
	Weight *int32 `json:"weight" protobuf:"varint,3,opt,name=weight"`
}

RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service' kind is allowed. Use 'weight' field to emphasize one over others.

func (*RouteTargetReference) DeepCopy added in v5.18.0

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

func (*RouteTargetReference) DeepCopyInto added in v5.18.0

func (in *RouteTargetReference) DeepCopyInto(out *RouteTargetReference)

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    []corev1.ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"`
	// +optional
	ImagePullSecrets []corev1.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       *corev1.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.

type TLSConfig added in v5.15.0

type TLSConfig struct {
	// Disable the CA check of the server
	// +optional
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
	// Use a secret as a reference to give TLS Certificate information
	// +optional
	CertSecretRef *v1.SecretReference `json:"certSecretRef,omitempty"`
}

TLSConfig specifies options to use when communicating with the Grafana endpoint +kubebuilder:validation:XValidation:rule="(has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))", message="insecureSkipVerify and certSecretRef cannot be set at the same time"

func (*TLSConfig) DeepCopy added in v5.15.0

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto added in v5.15.0

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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

type TLSTerminationType added in v5.18.0

type TLSTerminationType string

TLSTerminationType dictates where the secure communication will stop TODO: Reconsider this type in v2

type TimeInterval added in v5.18.0

type TimeInterval struct {
	// The date 1-31 of a month. Negative values can also be used to represent days that begin at the end of the month.
	// For example: -1 for the last day of the month.
	// +optional
	DaysOfMonth []string `json:"days_of_month,omitempty"`

	// Depending on the location, the time range is displayed in local time.
	// +optional
	Location string `json:"location,omitempty"`

	// The months of the year in either numerical or the full calendar month.
	// For example: 1, may.
	// +optional
	Months []string `json:"months,omitempty"`

	// The time inclusive of the start and exclusive of the end time (in UTC if no location has been selected, otherwise local time).
	// +optional
	Times []*TimeRange `json:"times,omitempty"`

	// The day or range of days of the week.
	// For example: monday, thursday
	// +optional
	Weekdays []string `json:"weekdays,omitempty"`

	// The year or years for the interval.
	// For example: 2021
	// +optional
	Years []string `json:"years,omitempty"`
}

func (*TimeInterval) DeepCopy added in v5.18.0

func (in *TimeInterval) DeepCopy() *TimeInterval

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

func (*TimeInterval) DeepCopyInto added in v5.18.0

func (in *TimeInterval) DeepCopyInto(out *TimeInterval)

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

type TimeRange added in v5.18.0

type TimeRange struct {
	// start time
	StartTime string `json:"start_time"`

	// end time
	EndTime string `json:"end_time"`
}

func (*TimeRange) DeepCopy added in v5.18.0

func (in *TimeRange) DeepCopy() *TimeRange

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

func (*TimeRange) DeepCopyInto added in v5.18.0

func (in *TimeRange) DeepCopyInto(out *TimeRange)

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

type ValueFrom added in v5.14.0

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

func (*ValueFrom) DeepCopy added in v5.14.0

func (in *ValueFrom) DeepCopy() *ValueFrom

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

func (*ValueFrom) DeepCopyInto added in v5.14.0

func (in *ValueFrom) DeepCopyInto(out *ValueFrom)

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

type ValueFromSource added in v5.14.0

type ValueFromSource 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"`
}

+kubebuilder:validation:XValidation:rule="(has(self.configMapKeyRef) && !has(self.secretKeyRef)) || (!has(self.configMapKeyRef) && has(self.secretKeyRef))", message="Either configMapKeyRef or secretKeyRef must be set"

func (*ValueFromSource) DeepCopy added in v5.14.0

func (in *ValueFromSource) DeepCopy() *ValueFromSource

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

func (*ValueFromSource) DeepCopyInto added in v5.14.0

func (in *ValueFromSource) DeepCopyInto(out *ValueFromSource)

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

type WildcardPolicyType added in v5.18.0

type WildcardPolicyType string

WildcardPolicyType indicates the type of wildcard support needed by routes.

const (
	// WildcardPolicyNone indicates no wildcard support is needed.
	WildcardPolicyNone WildcardPolicyType = "None"

	// WildcardPolicySubdomain indicates the host needs wildcard support for the subdomain.
	// Example: For host = "www.acme.test", indicates that the router
	//          should support requests for *.acme.test
	//          Note that this will not match acme.test only *.acme.test
	WildcardPolicySubdomain WildcardPolicyType = "Subdomain"
)

Jump to

Keyboard shortcuts

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