v1beta1

package
v5.16.0 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2025 License: Apache-2.0 Imports: 24 Imported by: 15

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

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

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

Functions

func Gunzip

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

func Gzip

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

func Merge

func Merge(base, overrides interface{}) error

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

Types

type AlertQuery added in v5.7.0

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

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

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

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

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

func (*AlertQuery) DeepCopy added in v5.7.0

func (in *AlertQuery) DeepCopy() *AlertQuery

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

func (*AlertQuery) DeepCopyInto added in v5.7.0

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

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

type AlertRule added in v5.7.0

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

	Condition string `json:"condition"`

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

	// +kubebuilder:validation:Enum=OK;Alerting;Error;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"`

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

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

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

func (*AlertRule) DeepCopy added in v5.7.0

func (in *AlertRule) DeepCopy() *AlertRule

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

func (*AlertRule) DeepCopyInto added in v5.7.0

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

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

type CommonResource added in v5.16.0

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

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

type DashboardSourceType

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

type DeploymentV1

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

func (*DeploymentV1) DeepCopy

func (in *DeploymentV1) DeepCopy() *DeploymentV1

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

func (*DeploymentV1) DeepCopyInto

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

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

type DeploymentV1PodSpec

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

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

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

func (*DeploymentV1PodSpec) DeepCopy

func (in *DeploymentV1PodSpec) DeepCopy() *DeploymentV1PodSpec

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

func (*DeploymentV1PodSpec) DeepCopyInto

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

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

type DeploymentV1PodTemplateSpec

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

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

func (*DeploymentV1PodTemplateSpec) DeepCopy

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

func (*DeploymentV1PodTemplateSpec) DeepCopyInto

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

type DeploymentV1Spec

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

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

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

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

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

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

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

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

func (*DeploymentV1Spec) DeepCopy

func (in *DeploymentV1Spec) DeepCopy() *DeploymentV1Spec

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

func (*DeploymentV1Spec) DeepCopyInto

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

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

type External

type External struct {
	// URL of the external grafana instance you want to manage.
	URL string `json:"url"`
	// The API key to talk to the external grafana instance, you need to define ether apiKey or adminUser/adminPassword.
	ApiKey *v1.SecretKeySelector `json:"apiKey,omitempty"`
	// AdminUser key to talk to the external grafana instance.
	AdminUser *v1.SecretKeySelector `json:"adminUser,omitempty"`
	// AdminPassword key to talk to the external grafana instance.
	AdminPassword *v1.SecretKeySelector `json:"adminPassword,omitempty"`
	// 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,omitempty"`
	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,omitempty"`
	Status GrafanaCommonStatus       `json:"status,omitempty"`
}

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

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.

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 GrafanaComDashboardReference

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

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

func (*GrafanaComDashboardReference) DeepCopy

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

func (*GrafanaComDashboardReference) DeepCopyInto

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

type 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:Format=duration
	// +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,omitempty"`
	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) 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.

type GrafanaContactPointSpec added in v5.9.0

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

	// Manually specify the UID the Contact Point is created with
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	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:Enum=alertmanager;prometheus-alertmanager;dingding;discord;email;googlechat;kafka;line;opsgenie;pagerduty;pushover;sensugo;sensu;slack;teams;telegram;threema;victorops;webex;webhook;wecom;hipchat;oncall
	Type string `json:"type,omitempty"`
}

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 GrafanaDashboard

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

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

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

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) CustomUIDOrUID added in v5.15.0

func (in *GrafanaDashboard) CustomUIDOrUID(dashboardUID string) string

Wrapper around CustomUID, dashboardModelUID or default metadata.uid

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

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

func (*GrafanaDashboard) GetSourceTypes

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

func (*GrafanaDashboard) IsAllowCrossNamespaceImport

func (in *GrafanaDashboard) IsAllowCrossNamespaceImport() bool

func (*GrafanaDashboard) IsUpdatedUID

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

func (*GrafanaDashboard) ResyncPeriodHasElapsed

func (in *GrafanaDashboard) ResyncPeriodHasElapsed() bool

func (*GrafanaDashboard) Unchanged

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

type GrafanaDashboardDatasource

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

func (*GrafanaDashboardDatasource) DeepCopy

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

func (*GrafanaDashboardDatasource) DeepCopyInto

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

type GrafanaDashboardEnv

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

func (*GrafanaDashboardEnv) DeepCopy

func (in *GrafanaDashboardEnv) DeepCopy() *GrafanaDashboardEnv

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

func (*GrafanaDashboardEnv) DeepCopyInto

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

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

type GrafanaDashboardEnvFromSource

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

func (*GrafanaDashboardEnvFromSource) DeepCopy

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

func (*GrafanaDashboardEnvFromSource) DeepCopyInto

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

type GrafanaDashboardList

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

GrafanaDashboardList contains a list of GrafanaDashboard

func (*GrafanaDashboardList) DeepCopy

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

func (*GrafanaDashboardList) DeepCopyInto

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

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

func (*GrafanaDashboardList) DeepCopyObject

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

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

func (*GrafanaDashboardList) Find

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

type GrafanaDashboardSpec

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

	// Manually specify the uid for the dashboard, overwrites uids already present in the json model
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	CustomUID string `json:"uid,omitempty"`

	// dashboard json
	// +optional
	Json string `json:"json,omitempty"`

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

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

	// authorization options for dashboard from url
	// +optional
	UrlAuthorization *GrafanaDashboardUrlAuthorization `json:"urlAuthorization,omitempty"`

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

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

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

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

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

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

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

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

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

GrafanaDashboardSpec defines the desired state of GrafanaDashboard +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"`

	ContentCache     []byte      `json:"contentCache,omitempty"`
	ContentTimestamp metav1.Time `json:"contentTimestamp,omitempty"`
	ContentUrl       string      `json:"contentUrl,omitempty"`
	Hash             string      `json:"hash,omitempty"`
	// The dashboard instanceSelector can't find matching grafana instances
	NoMatchingInstances bool   `json:"NoMatchingInstances,omitempty"`
	UID                 string `json:"uid,omitempty"`
}

GrafanaDashboardStatus defines the observed state of GrafanaDashboard

func (*GrafanaDashboardStatus) DeepCopy

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

func (*GrafanaDashboardStatus) DeepCopyInto

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

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

type GrafanaDashboardUrlAuthorization added in v5.13.0

type GrafanaDashboardUrlAuthorization struct {
	BasicAuth *GrafanaDashboardUrlBasicAuth `json:"basicAuth,omitempty"`
}

func (*GrafanaDashboardUrlAuthorization) DeepCopy added in v5.13.0

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

func (*GrafanaDashboardUrlAuthorization) DeepCopyInto added in v5.13.0

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

type GrafanaDashboardUrlBasicAuth added in v5.13.0

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

func (*GrafanaDashboardUrlBasicAuth) DeepCopy added in v5.13.0

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

func (*GrafanaDashboardUrlBasicAuth) DeepCopyInto added in v5.13.0

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

type GrafanaDatasource

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

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

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

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

func (in *GrafanaDatasource) IsAllowCrossNamespaceImport() bool

func (*GrafanaDatasource) IsUpdatedUID

func (in *GrafanaDatasource) IsUpdatedUID() bool

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
	// +optional
	// +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"`
	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,omitempty"`
	Status GrafanaFolderStatus `json:"status,omitempty"`
}

GrafanaFolder is the Schema for the grafanafolders API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="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) 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
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
	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 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 GrafanaNotificationPolicy added in v5.12.0

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

	Spec   GrafanaNotificationPolicySpec `json:"spec,omitempty"`
	Status GrafanaCommonStatus           `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) 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 (np *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 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 GrafanaNotificationTemplate added in v5.16.0

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

	Spec   GrafanaNotificationTemplateSpec `json:"spec,omitempty"`
	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) 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 (np *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"`
}

GrafanaSpec defines the desired state of Grafana

func (*GrafanaSpec) DeepCopy

func (in *GrafanaSpec) DeepCopy() *GrafanaSpec

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

func (*GrafanaSpec) DeepCopyInto

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

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

type GrafanaStatus

type GrafanaStatus struct {
	Stage       OperatorStageName      `json:"stage,omitempty"`
	StageStatus OperatorStageStatus    `json:"stageStatus,omitempty"`
	LastMessage string                 `json:"lastMessage,omitempty"`
	AdminUrl    string                 `json:"adminUrl,omitempty"`
	Dashboards  NamespacedResourceList `json:"dashboards,omitempty"`
	Datasources NamespacedResourceList `json:"datasources,omitempty"`
	Folders     NamespacedResourceList `json:"folders,omitempty"`
	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       *v1.IngressSpec `json:"spec,omitempty"`
}

func (*IngressNetworkingV1) DeepCopy

func (in *IngressNetworkingV1) DeepCopy() *IngressNetworkingV1

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

func (*IngressNetworkingV1) DeepCopyInto

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

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

type JsonnetConfig

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

func (*JsonnetConfig) DeepCopy

func (in *JsonnetConfig) DeepCopy() *JsonnetConfig

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

func (*JsonnetConfig) DeepCopyInto

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

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

type JsonnetProjectBuild

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

func (*JsonnetProjectBuild) DeepCopy

func (in *JsonnetProjectBuild) DeepCopy() *JsonnetProjectBuild

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

func (*JsonnetProjectBuild) DeepCopyInto

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

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

type 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

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 OperatorReconcileVars

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

	// env var value for installed plugins
	Plugins string
}

temporary values passed between reconciler stages

func (*OperatorReconcileVars) DeepCopy

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

func (*OperatorReconcileVars) DeepCopyInto

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

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

type OperatorStageName

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

type OperatorStageStatus

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

type PersistentVolumeClaimV1

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

func (*PersistentVolumeClaimV1) DeepCopy

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

func (*PersistentVolumeClaimV1) DeepCopyInto

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

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

type PersistentVolumeClaimV1Spec

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

func (*PersistentVolumeClaimV1Spec) DeepCopy

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

func (*PersistentVolumeClaimV1Spec) DeepCopyInto

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

type PluginList

type PluginList []GrafanaPlugin

func (PluginList) DeepCopy

func (in PluginList) DeepCopy() PluginList

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

func (PluginList) DeepCopyInto

func (in PluginList) DeepCopyInto(out *PluginList)

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

func (PluginList) GetInstalledVersionOf

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

GetInstalledVersionOf gets the plugin from the list regardless of the version

func (PluginList) HasExactVersionOf

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

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

func (PluginList) HasNewerVersionOf

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

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

func (PluginList) HasSomeVersionOf

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

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

func (PluginList) Hash

func (l PluginList) Hash() string

func (PluginList) Sanitize

func (l PluginList) Sanitize() PluginList

Sanitize remove duplicates and enforce semver

func (PluginList) String

func (l PluginList) String() string

func (PluginList) Update

func (l PluginList) Update(plugin *GrafanaPlugin)

Update update plugin version

func (PluginList) VersionsOf

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

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

type PluginMap

type PluginMap map[string]PluginList

func (PluginMap) DeepCopy

func (in PluginMap) DeepCopy() PluginMap

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

func (PluginMap) DeepCopyInto

func (in PluginMap) DeepCopyInto(out *PluginMap)

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

type 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
	Receiver string `json:"receiver,omitempty"`

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

	// routes
	// +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) 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 *v12.RouteTargetReference `json:"to,omitempty" protobuf:"bytes,3,opt,name=to"`

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

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

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

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

func (*RouteOpenShiftV1Spec) DeepCopy

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

func (*RouteOpenShiftV1Spec) DeepCopyInto

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

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

type RouteOpenshiftV1

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

func (*RouteOpenshiftV1) DeepCopy

func (in *RouteOpenshiftV1) DeepCopy() *RouteOpenshiftV1

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

func (*RouteOpenshiftV1) DeepCopyInto

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

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

type ServiceAccountV1

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

func (*ServiceAccountV1) DeepCopy

func (in *ServiceAccountV1) DeepCopy() *ServiceAccountV1

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

func (*ServiceAccountV1) DeepCopyInto

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

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

type ServiceV1

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

func (*ServiceV1) DeepCopy

func (in *ServiceV1) DeepCopy() *ServiceV1

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

func (*ServiceV1) DeepCopyInto

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

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

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 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.

Jump to

Keyboard shortcuts

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