Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the grafana v1beta1 API group +kubebuilder:object:generate=true +groupName=grafana.integreatly.org
Index ¶
- Constants
- Variables
- func GetPluginConfigMapKey(prefix string, m metav1.Object) string
- func Merge(base, overrides any) error
- type AlertQuery
- type AlertRule
- type CommonResource
- type DeploymentV1
- type DeploymentV1PodSpec
- type DeploymentV1PodTemplateSpec
- type DeploymentV1Spec
- type External
- type Grafana
- func (in *Grafana) AddNamespacedResource(ctx context.Context, cl client.Client, cr client.Object, r NamespacedResource) error
- func (in *Grafana) DeepCopy() *Grafana
- func (in *Grafana) DeepCopyInto(out *Grafana)
- func (in *Grafana) DeepCopyObject() runtime.Object
- func (in *Grafana) GetConfigSection(name string) map[string]string
- func (in *Grafana) GetConfigSectionValue(name, key string) string
- func (in *Grafana) IsExternal() bool
- func (in *Grafana) IsInternal() bool
- func (in *Grafana) PreferIngress() bool
- func (in *Grafana) RemoveNamespacedResource(ctx context.Context, cl client.Client, cr client.Object) error
- type GrafanaAlertRuleGroup
- func (in *GrafanaAlertRuleGroup) AllowCrossNamespace() bool
- func (in *GrafanaAlertRuleGroup) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaAlertRuleGroup) Conditions() *[]metav1.Condition
- func (in *GrafanaAlertRuleGroup) CurrentGeneration() int64
- func (in *GrafanaAlertRuleGroup) DeepCopy() *GrafanaAlertRuleGroup
- func (in *GrafanaAlertRuleGroup) DeepCopyInto(out *GrafanaAlertRuleGroup)
- func (in *GrafanaAlertRuleGroup) DeepCopyObject() runtime.Object
- func (in *GrafanaAlertRuleGroup) FolderNamespace() string
- func (in *GrafanaAlertRuleGroup) FolderRef() string
- func (in *GrafanaAlertRuleGroup) FolderUID() string
- func (in *GrafanaAlertRuleGroup) GroupName() string
- func (in *GrafanaAlertRuleGroup) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaAlertRuleGroup) MatchNamespace() string
- func (in *GrafanaAlertRuleGroup) Metadata() metav1.ObjectMeta
- func (in *GrafanaAlertRuleGroup) NamespacedResource() NamespacedResource
- type GrafanaAlertRuleGroupList
- type GrafanaAlertRuleGroupSpec
- type GrafanaClient
- type GrafanaComContentReference
- type GrafanaCommonSpec
- type GrafanaCommonStatus
- type GrafanaContactPoint
- func (in *GrafanaContactPoint) AllowCrossNamespace() bool
- func (in *GrafanaContactPoint) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaContactPoint) CustomUIDOrUID() string
- func (in *GrafanaContactPoint) DeepCopy() *GrafanaContactPoint
- func (in *GrafanaContactPoint) DeepCopyInto(out *GrafanaContactPoint)
- func (in *GrafanaContactPoint) DeepCopyObject() runtime.Object
- func (in *GrafanaContactPoint) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaContactPoint) MatchNamespace() string
- func (in *GrafanaContactPoint) Metadata() metav1.ObjectMeta
- func (in *GrafanaContactPoint) NamespacedResource() NamespacedResource
- type GrafanaContactPointList
- type GrafanaContactPointSpec
- type GrafanaContentDatasource
- type GrafanaContentEnv
- type GrafanaContentEnvFromSource
- type GrafanaContentResource
- type GrafanaContentSpec
- type GrafanaContentStatus
- type GrafanaContentURLAuthorization
- type GrafanaContentURLBasicAuth
- type GrafanaDashboard
- func (in *GrafanaDashboard) AllowCrossNamespace() bool
- func (in *GrafanaDashboard) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaDashboard) Conditions() *[]metav1.Condition
- func (in *GrafanaDashboard) CurrentGeneration() int64
- func (in *GrafanaDashboard) DeepCopy() *GrafanaDashboard
- func (in *GrafanaDashboard) DeepCopyInto(out *GrafanaDashboard)
- func (in *GrafanaDashboard) DeepCopyObject() runtime.Object
- func (in *GrafanaDashboard) FolderNamespace() string
- func (in *GrafanaDashboard) FolderRef() string
- func (in *GrafanaDashboard) FolderUID() string
- func (in *GrafanaDashboard) GetPluginConfigMapDeprecatedKey() string
- func (in *GrafanaDashboard) GetPluginConfigMapKey() string
- func (in *GrafanaDashboard) GrafanaContentSpec() *GrafanaContentSpec
- func (in *GrafanaDashboard) GrafanaContentStatus() *GrafanaContentStatus
- func (in *GrafanaDashboard) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaDashboard) MatchNamespace() string
- func (in *GrafanaDashboard) Metadata() metav1.ObjectMeta
- func (in *GrafanaDashboard) NamespacedResource(uid string) NamespacedResource
- type GrafanaDashboardList
- type GrafanaDashboardSpec
- type GrafanaDashboardStatus
- type GrafanaDatasource
- func (in *GrafanaDatasource) AllowCrossNamespace() bool
- func (in *GrafanaDatasource) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaDatasource) CustomUIDOrUID() string
- func (in *GrafanaDatasource) DeepCopy() *GrafanaDatasource
- func (in *GrafanaDatasource) DeepCopyInto(out *GrafanaDatasource)
- func (in *GrafanaDatasource) DeepCopyObject() runtime.Object
- func (in *GrafanaDatasource) GetPluginConfigMapDeprecatedKey() string
- func (in *GrafanaDatasource) GetPluginConfigMapKey() string
- func (in *GrafanaDatasource) IsUpdatedUID() bool
- func (in *GrafanaDatasource) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaDatasource) MatchNamespace() string
- func (in *GrafanaDatasource) Metadata() metav1.ObjectMeta
- func (in *GrafanaDatasource) NamespacedResource() NamespacedResource
- func (in *GrafanaDatasource) Unchanged(hash string) bool
- type GrafanaDatasourceInternal
- type GrafanaDatasourceList
- type GrafanaDatasourceSpec
- type GrafanaDatasourceStatus
- type GrafanaFolder
- func (in *GrafanaFolder) AllowCrossNamespace() bool
- func (in *GrafanaFolder) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaFolder) Conditions() *[]metav1.Condition
- func (in *GrafanaFolder) CurrentGeneration() int64
- func (in *GrafanaFolder) CustomUIDOrUID() string
- func (in *GrafanaFolder) DeepCopy() *GrafanaFolder
- func (in *GrafanaFolder) DeepCopyInto(out *GrafanaFolder)
- func (in *GrafanaFolder) DeepCopyObject() runtime.Object
- func (in *GrafanaFolder) FolderNamespace() string
- func (in *GrafanaFolder) FolderRef() string
- func (in *GrafanaFolder) FolderUID() string
- func (in *GrafanaFolder) GetTitle() string
- func (in *GrafanaFolder) Hash() string
- func (in *GrafanaFolder) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaFolder) MatchNamespace() string
- func (in *GrafanaFolder) Metadata() metav1.ObjectMeta
- func (in *GrafanaFolder) NamespacedResource(uid string) NamespacedResource
- func (in *GrafanaFolder) Unchanged() bool
- type GrafanaFolderList
- type GrafanaFolderSpec
- type GrafanaFolderStatus
- type GrafanaLibraryPanel
- func (in *GrafanaLibraryPanel) AllowCrossNamespace() bool
- func (in *GrafanaLibraryPanel) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaLibraryPanel) Conditions() *[]metav1.Condition
- func (in *GrafanaLibraryPanel) CurrentGeneration() int64
- func (in *GrafanaLibraryPanel) DeepCopy() *GrafanaLibraryPanel
- func (in *GrafanaLibraryPanel) DeepCopyInto(out *GrafanaLibraryPanel)
- func (in *GrafanaLibraryPanel) DeepCopyObject() runtime.Object
- func (in *GrafanaLibraryPanel) FolderNamespace() string
- func (in *GrafanaLibraryPanel) FolderRef() string
- func (in *GrafanaLibraryPanel) FolderUID() string
- func (in *GrafanaLibraryPanel) GetPluginConfigMapDeprecatedKey() string
- func (in *GrafanaLibraryPanel) GetPluginConfigMapKey() string
- func (in *GrafanaLibraryPanel) GrafanaContentSpec() *GrafanaContentSpec
- func (in *GrafanaLibraryPanel) GrafanaContentStatus() *GrafanaContentStatus
- func (in *GrafanaLibraryPanel) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaLibraryPanel) MatchNamespace() string
- func (in *GrafanaLibraryPanel) Metadata() metav1.ObjectMeta
- func (in *GrafanaLibraryPanel) NamespacedResource(uid string) NamespacedResource
- type GrafanaLibraryPanelList
- type GrafanaLibraryPanelSpec
- type GrafanaLibraryPanelStatus
- type GrafanaList
- type GrafanaMuteTiming
- func (in *GrafanaMuteTiming) AllowCrossNamespace() bool
- func (in *GrafanaMuteTiming) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaMuteTiming) DeepCopy() *GrafanaMuteTiming
- func (in *GrafanaMuteTiming) DeepCopyInto(out *GrafanaMuteTiming)
- func (in *GrafanaMuteTiming) DeepCopyObject() runtime.Object
- func (in *GrafanaMuteTiming) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaMuteTiming) MatchNamespace() string
- func (in *GrafanaMuteTiming) Metadata() metav1.ObjectMeta
- func (in *GrafanaMuteTiming) NamespacedResource() NamespacedResource
- type GrafanaMuteTimingList
- type GrafanaMuteTimingSpec
- type GrafanaNotificationPolicy
- func (in *GrafanaNotificationPolicy) AllowCrossNamespace() bool
- func (in *GrafanaNotificationPolicy) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaNotificationPolicy) DeepCopy() *GrafanaNotificationPolicy
- func (in *GrafanaNotificationPolicy) DeepCopyInto(out *GrafanaNotificationPolicy)
- func (in *GrafanaNotificationPolicy) DeepCopyObject() runtime.Object
- func (in *GrafanaNotificationPolicy) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaNotificationPolicy) MatchNamespace() string
- func (in *GrafanaNotificationPolicy) Metadata() metav1.ObjectMeta
- func (in *GrafanaNotificationPolicy) NamespacedResource() string
- type GrafanaNotificationPolicyList
- type GrafanaNotificationPolicyRoute
- func (in *GrafanaNotificationPolicyRoute) DeepCopy() *GrafanaNotificationPolicyRoute
- func (in *GrafanaNotificationPolicyRoute) DeepCopyInto(out *GrafanaNotificationPolicyRoute)
- func (in *GrafanaNotificationPolicyRoute) DeepCopyObject() runtime.Object
- func (r *GrafanaNotificationPolicyRoute) NamespacedResource() string
- type GrafanaNotificationPolicyRouteList
- type GrafanaNotificationPolicyRouteSpec
- type GrafanaNotificationPolicySpec
- type GrafanaNotificationPolicyStatus
- type GrafanaNotificationTemplate
- func (in *GrafanaNotificationTemplate) AllowCrossNamespace() bool
- func (in *GrafanaNotificationTemplate) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaNotificationTemplate) DeepCopy() *GrafanaNotificationTemplate
- func (in *GrafanaNotificationTemplate) DeepCopyInto(out *GrafanaNotificationTemplate)
- func (in *GrafanaNotificationTemplate) DeepCopyObject() runtime.Object
- func (in *GrafanaNotificationTemplate) MatchLabels() *metav1.LabelSelector
- func (in *GrafanaNotificationTemplate) MatchNamespace() string
- func (in *GrafanaNotificationTemplate) Metadata() metav1.ObjectMeta
- func (in *GrafanaNotificationTemplate) NamespacedResource() NamespacedResource
- type GrafanaNotificationTemplateList
- func (in *GrafanaNotificationTemplateList) DeepCopy() *GrafanaNotificationTemplateList
- func (in *GrafanaNotificationTemplateList) DeepCopyInto(out *GrafanaNotificationTemplateList)
- func (in *GrafanaNotificationTemplateList) DeepCopyObject() runtime.Object
- func (in *GrafanaNotificationTemplateList) Exists(namespace, name string) bool
- type GrafanaNotificationTemplateSpec
- type GrafanaPlugin
- type GrafanaPreferences
- type GrafanaServiceAccount
- func (in *GrafanaServiceAccount) AllowCrossNamespace() bool
- func (in *GrafanaServiceAccount) CommonStatus() *GrafanaCommonStatus
- func (in *GrafanaServiceAccount) DeepCopy() *GrafanaServiceAccount
- func (in *GrafanaServiceAccount) DeepCopyInto(out *GrafanaServiceAccount)
- func (in *GrafanaServiceAccount) DeepCopyObject() runtime.Object
- func (in *GrafanaServiceAccount) MatchNamespace() string
- type GrafanaServiceAccountInfo
- type GrafanaServiceAccountList
- func (in *GrafanaServiceAccountList) DeepCopy() *GrafanaServiceAccountList
- func (in *GrafanaServiceAccountList) DeepCopyInto(out *GrafanaServiceAccountList)
- func (in *GrafanaServiceAccountList) DeepCopyObject() runtime.Object
- func (in *GrafanaServiceAccountList) Find(namespace, name string) *GrafanaServiceAccount
- type GrafanaServiceAccountSecretStatus
- type GrafanaServiceAccountSpec
- type GrafanaServiceAccountStatus
- type GrafanaServiceAccountTokenSpec
- type GrafanaServiceAccountTokenStatus
- type GrafanaSpec
- type GrafanaStatus
- type IngressNetworkingV1
- type InsecureEdgeTerminationPolicyType
- type JsonnetConfig
- type JsonnetProjectBuild
- type LocalObjectReference
- type Matcher
- type Matchers
- type NamespacedResource
- type NamespacedResourceImpl
- type NamespacedResourceList
- func (in NamespacedResourceList) DeepCopy() NamespacedResourceList
- func (in NamespacedResourceList) DeepCopyInto(out *NamespacedResourceList)
- func (in NamespacedResourceList) Find(namespace string, name string) (found bool, identifier *string)
- func (in NamespacedResourceList) IndexOf(namespace string, name string) int
- func (in NamespacedResourceList) RemoveEntries(toRemove *NamespacedResourceList) NamespacedResourceList
- type NotificationSettings
- type ObjectMeta
- type OpenshiftTLSConfig
- type OperatorReconcileVars
- type OperatorStageName
- type OperatorStageStatus
- type PersistentVolumeClaimV1
- type PersistentVolumeClaimV1Spec
- type PluginList
- type PluginMap
- type Record
- type Route
- type RouteOpenShiftV1Spec
- type RouteOpenshiftV1
- type RoutePort
- type RouteTargetReference
- type ServiceAccountV1
- type ServiceV1
- type TLSConfig
- type TLSTerminationType
- type TimeInterval
- type TimeRange
- type ValueFrom
- type ValueFromSource
- type WildcardPolicyType
Constants ¶
const ( // TLSTerminationEdge terminate encryption at the edge router. TLSTerminationEdge TLSTerminationType = "edge" // TLSTerminationPassthrough terminate encryption at the destination, the destination is responsible for decrypting traffic TLSTerminationPassthrough TLSTerminationType = "passthrough" // TLSTerminationReencrypt terminate encryption at the edge router and re-encrypt it with a new certificate supplied by the destination TLSTerminationReencrypt TLSTerminationType = "reencrypt" // InsecureEdgeTerminationPolicyNone disables insecure connections for an edge-terminated route. InsecureEdgeTerminationPolicyNone InsecureEdgeTerminationPolicyType = "None" // InsecureEdgeTerminationPolicyAllow allows insecure connections for an edge-terminated route. InsecureEdgeTerminationPolicyAllow InsecureEdgeTerminationPolicyType = "Allow" // InsecureEdgeTerminationPolicyRedirect redirects insecure connections for an edge-terminated route. // As an example, for routers that support HTTP and HTTPS, the // insecure HTTP connections will be redirected to use HTTPS. InsecureEdgeTerminationPolicyRedirect InsecureEdgeTerminationPolicyType = "Redirect" )
const (
PluginVersionLatest string = "latest"
)
Variables ¶
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 GetPluginConfigMapKey ¶ added in v5.20.0
func Merge ¶
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:default="0s"
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"`
// The number of missing series evaluations that must occur before the rule is considered to be resolved.
MissingSeriesEvalsToResolve *int64 `json:"missingSeriesEvalsToResolve,omitempty"`
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Format=duration
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
KeepFiringFor *metav1.Duration `json:"keepFiringFor,omitempty"`
Record *Record `json:"record,omitempty"`
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=190
// +kubebuilder:example="Always firing"
Title string `json:"title"`
// UID of the alert rule. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40
// +kubebuilder:validation:MaxLength=40
// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
UID string `json:"uid"`
}
AlertRule defines a specific rule to be evaluated. It is based on the upstream model with some k8s specific type mappings
func (*AlertRule) DeepCopy ¶ added in v5.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertRule.
func (*AlertRule) DeepCopyInto ¶ added in v5.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonResource ¶ added in v5.16.0
type CommonResource interface {
client.Object
MatchLabels() *metav1.LabelSelector
MatchNamespace() string
Metadata() metav1.ObjectMeta
AllowCrossNamespace() bool
CommonStatus() *GrafanaCommonStatus
}
Common Functions that all CRs should implement, excluding Grafana +kubebuilder:object:generate=false
type DeploymentV1 ¶
type DeploymentV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec DeploymentV1Spec `json:"spec,omitempty"`
}
func (*DeploymentV1) DeepCopy ¶
func (in *DeploymentV1) DeepCopy() *DeploymentV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1.
func (*DeploymentV1) DeepCopyInto ¶
func (in *DeploymentV1) DeepCopyInto(out *DeploymentV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentV1PodSpec ¶
type DeploymentV1PodSpec struct {
// +optional
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
Volumes []corev1.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
// +patchMergeKey=name
// +patchStrategy=merge
// +optional
InitContainers []corev1.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
// +patchMergeKey=name
// +patchStrategy=merge
// +optional
Containers []corev1.Container `json:"containers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
EphemeralContainers []corev1.EphemeralContainer `` /* 128-byte string literal not displayed */
// +optional
RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty" protobuf:"bytes,3,opt,name=restartPolicy,casttype=RestartPolicy"`
// +optional
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,4,opt,name=terminationGracePeriodSeconds"`
// +optional
ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,5,opt,name=activeDeadlineSeconds"`
// +optional
DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
// NodeSelector is a selector which must be true for the pod to fit on a node.
// Selector which must match a node's labels for the pod to be scheduled on that node.
// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +optional
// +mapType=atomic
NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`
// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"`
// DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
// Deprecated: Use serviceAccountName instead.
// +k8s:conversion-gen=false
// +optional
DeprecatedServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,9,opt,name=serviceAccount"`
// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,21,opt,name=automountServiceAccountToken"`
// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
// the scheduler simply schedules this pod onto that node, assuming that it fits resource
// requirements.
// +optional
NodeName string `json:"nodeName,omitempty" protobuf:"bytes,10,opt,name=nodeName"`
// Host networking requested for this pod. Use the host's network namespace.
// If this option is set, the ports that will be used must be specified.
// Default to false.
// +k8s:conversion-gen=false
// +optional
HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
// Use the host's pid namespace.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"`
// Use the host's ipc namespace.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"`
// When this is set containers will be able to view and signal processes from other containers
// in the same pod, and the first process in each container will not be assigned PID 1.
// HostPID and ShareProcessNamespace cannot both be set.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
// SecurityContext holds pod-level security attributes and common container settings.
// Optional: Defaults to empty. See type description for default values of each field.
// +optional
SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"`
// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
// If specified, these secrets will be passed to individual puller implementations for them to use.
// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"`
// Specifies the hostname of the Pod
// If not specified, the pod's hostname will be set to a system-defined value.
// +optional
Hostname string `json:"hostname,omitempty" protobuf:"bytes,16,opt,name=hostname"`
// If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
// If not specified, the pod will not have a domainname at all.
// +optional
Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,17,opt,name=subdomain"`
// If specified, the pod's scheduling constraints
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"`
// If specified, the pod will be dispatched by specified scheduler.
// If not specified, the pod will be dispatched by default scheduler.
// +optional
SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"`
// If specified, the pod's tolerations.
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
// file if specified. This is only valid for non-hostNetwork pods.
// +optional
// +patchMergeKey=ip
// +patchStrategy=merge
HostAliases []corev1.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"`
// If specified, indicates the pod's priority. "system-node-critical" and
// "system-cluster-critical" are two special keywords which indicate the
// highest priorities with the former being the highest priority. Any other
// name must be defined by creating a PriorityClass object with that name.
// If not specified, the pod priority will be default or zero if there is no
// default.
// +optional
PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"`
// The priority value. Various system components use this field to find the
// priority of the pod. When Priority Admission Controller is enabled, it
// prevents users from setting this field. The admission controller populates
// this field from PriorityClassName.
// The higher the value, the higher the priority.
// +optional
Priority *int32 `json:"priority,omitempty" protobuf:"bytes,25,opt,name=priority"`
// Specifies the DNS parameters of a pod.
// Parameters specified here will be merged to the generated DNS
// configuration based on DNSPolicy.
// +optional
DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
// If specified, all readiness gates will be evaluated for pod readiness.
// A pod is ready when all its containers are ready AND
// all conditions specified in the readiness gates have status equal to "True"
// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
// +optional
ReadinessGates []corev1.PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
// empty definition that uses the default runtime handler.
// More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
// +optional
RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
// EnableServiceLinks indicates whether information about services should be injected into pod's
// environment variables, matching the syntax of Docker links.
// Optional: Defaults to true.
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
// PreemptionPolicy is the Policy for preempting pods with lower priority.
// One of Never, PreemptLowerPriority.
// Defaults to PreemptLowerPriority if unset.
// +optional
PreemptionPolicy *corev1.PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
// This field will be autopopulated at admission time by the RuntimeClass admission controller. If
// the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.
// The RuntimeClass admission controller will reject Pod create requests which have the overhead already
// set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value
// defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.
// More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
// +optional
Overhead corev1.ResourceList `json:"overhead,omitempty" protobuf:"bytes,32,opt,name=overhead"`
// TopologySpreadConstraints describes how a group of pods ought to spread across topology
// domains. Scheduler will schedule pods in a way which abides by the constraints.
// All topologySpreadConstraints are ANDed.
// +optional
// +patchMergeKey=topologyKey
// +patchStrategy=merge
// +listType=map
// +listMapKey=topologyKey
// +listMapKey=whenUnsatisfiable
TopologySpreadConstraints []corev1.TopologySpreadConstraint `` /* 147-byte string literal not displayed */
// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
// If a pod does not have FQDN, this has no effect.
// Default to false.
// +optional
SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty" protobuf:"varint,35,opt,name=setHostnameAsFQDN"`
// Specifies the OS of the containers in the pod.
// Some pod and container fields are restricted if this is set.
//
// If the OS field is set to linux, the following fields must be unset:
// -securityContext.windowsOptions
//
// If the OS field is set to windows, following fields must be unset:
// - spec.hostPID
// - spec.hostIPC
// - spec.hostUsers
// - spec.securityContext.seLinuxOptions
// - spec.securityContext.seccompProfile
// - spec.securityContext.fsGroup
// - spec.securityContext.fsGroupChangePolicy
// - spec.securityContext.sysctls
// - spec.shareProcessNamespace
// - spec.securityContext.runAsUser
// - spec.securityContext.runAsGroup
// - spec.securityContext.supplementalGroups
// - spec.containers[*].securityContext.seLinuxOptions
// - spec.containers[*].securityContext.seccompProfile
// - spec.containers[*].securityContext.capabilities
// - spec.containers[*].securityContext.readOnlyRootFilesystem
// - spec.containers[*].securityContext.privileged
// - spec.containers[*].securityContext.allowPrivilegeEscalation
// - spec.containers[*].securityContext.procMount
// - spec.containers[*].securityContext.runAsUser
// - spec.containers[*].securityContext.runAsGroup
// +optional
OS *corev1.PodOS `json:"os,omitempty" protobuf:"bytes,36,opt,name=os"`
// Use the host's user namespace.
// Optional: Default to true.
// If set to true or not present, the pod will be run in the host user namespace, useful
// for when the pod needs a feature only available to the host user namespace, such as
// loading a kernel module with CAP_SYS_MODULE.
// When set to false, a new userns is created for the pod. Setting false is useful for
// mitigating container breakout vulnerabilities even allowing users to run their
// containers as root without actually having root privileges on the host.
// This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
// +k8s:conversion-gen=false
// +optional
HostUsers *bool `json:"hostUsers,omitempty" protobuf:"bytes,37,opt,name=hostUsers"`
}
func (*DeploymentV1PodSpec) DeepCopy ¶
func (in *DeploymentV1PodSpec) DeepCopy() *DeploymentV1PodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1PodSpec.
func (*DeploymentV1PodSpec) DeepCopyInto ¶
func (in *DeploymentV1PodSpec) DeepCopyInto(out *DeploymentV1PodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentV1PodTemplateSpec ¶
type DeploymentV1PodTemplateSpec struct {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the pod.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Spec *DeploymentV1PodSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
func (*DeploymentV1PodTemplateSpec) DeepCopy ¶
func (in *DeploymentV1PodTemplateSpec) DeepCopy() *DeploymentV1PodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1PodTemplateSpec.
func (*DeploymentV1PodTemplateSpec) DeepCopyInto ¶
func (in *DeploymentV1PodTemplateSpec) DeepCopyInto(out *DeploymentV1PodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentV1Spec ¶
type DeploymentV1Spec struct {
// +optional
Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`
Template *DeploymentV1PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,3,opt,name=template"`
// +optional
// +patchStrategy=retainKeys
Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys" protobuf:"bytes,4,opt,name=strategy"`
// +optional
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"`
// +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,6,opt,name=revisionHistoryLimit"`
// +optional
Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"`
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}
func (*DeploymentV1Spec) DeepCopy ¶
func (in *DeploymentV1Spec) DeepCopy() *DeploymentV1Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1Spec.
func (*DeploymentV1Spec) DeepCopyInto ¶
func (in *DeploymentV1Spec) DeepCopyInto(out *DeploymentV1Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type External ¶
type External struct {
// URL of the external grafana instance you want to manage.
URL string `json:"url"`
// The API key to talk to the external grafana instance, you need to define ether apiKey or adminUser/adminPassword.
APIKey *v1.SecretKeySelector `json:"apiKey,omitempty"`
// AdminUser key to talk to the external grafana instance.
AdminUser *v1.SecretKeySelector `json:"adminUser,omitempty"`
// AdminPassword key to talk to the external grafana instance.
AdminPassword *v1.SecretKeySelector `json:"adminPassword,omitempty"`
// DEPRECATED, use top level `tls` instead.
// +optional
TLS *TLSConfig `json:"tls,omitempty"`
}
func (*External) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new External.
func (*External) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Grafana ¶
type Grafana struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaSpec `json:"spec"`
Status GrafanaStatus `json:"status,omitempty"`
}
Grafana is the Schema for the grafanas API +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.version",description="" +kubebuilder:printcolumn:name="Stage",type="string",JSONPath=".status.stage",description="" +kubebuilder:printcolumn:name="Stage status",type="string",JSONPath=".status.stageStatus",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*Grafana) AddNamespacedResource ¶ added in v5.19.0
func (in *Grafana) AddNamespacedResource(ctx context.Context, cl client.Client, cr client.Object, r NamespacedResource) error
Adds a resource to the end of the Grafana status list matching 'kind'
func (*Grafana) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Grafana.
func (*Grafana) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Grafana) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Grafana) GetConfigSection ¶ added in v5.19.0
func (*Grafana) GetConfigSectionValue ¶ added in v5.19.0
func (*Grafana) IsExternal ¶
func (*Grafana) IsInternal ¶
func (*Grafana) PreferIngress ¶
type GrafanaAlertRuleGroup ¶ added in v5.7.0
type GrafanaAlertRuleGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaAlertRuleGroupSpec `json:"spec"`
Status GrafanaCommonStatus `json:"status,omitempty"`
}
GrafanaAlertRuleGroup is the Schema for the grafanaalertrulegroups API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaAlertRuleGroup) AllowCrossNamespace ¶ added in v5.18.0
func (in *GrafanaAlertRuleGroup) AllowCrossNamespace() bool
func (*GrafanaAlertRuleGroup) CommonStatus ¶ added in v5.18.0
func (in *GrafanaAlertRuleGroup) CommonStatus() *GrafanaCommonStatus
func (*GrafanaAlertRuleGroup) Conditions ¶ added in v5.11.0
func (in *GrafanaAlertRuleGroup) Conditions() *[]metav1.Condition
Conditions implements FolderReferencer.
func (*GrafanaAlertRuleGroup) CurrentGeneration ¶ added in v5.11.0
func (in *GrafanaAlertRuleGroup) CurrentGeneration() int64
CurrentGeneration implements FolderReferencer.
func (*GrafanaAlertRuleGroup) DeepCopy ¶ added in v5.7.0
func (in *GrafanaAlertRuleGroup) DeepCopy() *GrafanaAlertRuleGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroup.
func (*GrafanaAlertRuleGroup) DeepCopyInto ¶ added in v5.7.0
func (in *GrafanaAlertRuleGroup) DeepCopyInto(out *GrafanaAlertRuleGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaAlertRuleGroup) DeepCopyObject ¶ added in v5.7.0
func (in *GrafanaAlertRuleGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaAlertRuleGroup) FolderNamespace ¶ added in v5.11.0
func (in *GrafanaAlertRuleGroup) FolderNamespace() string
FolderNamespace implements FolderReferencer.
func (*GrafanaAlertRuleGroup) FolderRef ¶ added in v5.11.0
func (in *GrafanaAlertRuleGroup) FolderRef() string
FolderRef implements FolderReferencer.
func (*GrafanaAlertRuleGroup) FolderUID ¶ added in v5.11.0
func (in *GrafanaAlertRuleGroup) FolderUID() string
FolderUID implements FolderReferencer.
func (*GrafanaAlertRuleGroup) GroupName ¶ added in v5.15.0
func (in *GrafanaAlertRuleGroup) GroupName() string
GroupName returns the name of alert rule group.
func (*GrafanaAlertRuleGroup) MatchLabels ¶ added in v5.18.0
func (in *GrafanaAlertRuleGroup) MatchLabels() *metav1.LabelSelector
func (*GrafanaAlertRuleGroup) MatchNamespace ¶ added in v5.18.0
func (in *GrafanaAlertRuleGroup) MatchNamespace() string
func (*GrafanaAlertRuleGroup) Metadata ¶ added in v5.20.0
func (in *GrafanaAlertRuleGroup) Metadata() metav1.ObjectMeta
func (*GrafanaAlertRuleGroup) NamespacedResource ¶ added in v5.19.0
func (in *GrafanaAlertRuleGroup) NamespacedResource() NamespacedResource
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
func (in *GrafanaAlertRuleGroupList) DeepCopy() *GrafanaAlertRuleGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroupList.
func (*GrafanaAlertRuleGroupList) DeepCopyInto ¶ added in v5.7.0
func (in *GrafanaAlertRuleGroupList) DeepCopyInto(out *GrafanaAlertRuleGroupList)
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.
func (*GrafanaAlertRuleGroupList) Exists ¶ added in v5.19.0
func (in *GrafanaAlertRuleGroupList) Exists(namespace, name string) bool
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
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
FolderUID string `json:"folderUID,omitempty"`
// Match GrafanaFolders CRs to infer the uid
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
FolderRef string `json:"folderRef,omitempty"`
// +kubebuilder:validation:MinItems=1
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 and one must be defined" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable) && has(self.editable)))", message="spec.editable is immutable" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.folderUID) && !has(self.folderUID)) || (has(oldSelf.folderUID) && has(self.folderUID)))", message="spec.folderUID is immutable" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.folderRef) && !has(self.folderRef)) || (has(oldSelf.folderRef) && has(self.folderRef)))", message="spec.folderRef is immutable"
func (*GrafanaAlertRuleGroupSpec) DeepCopy ¶ added in v5.7.0
func (in *GrafanaAlertRuleGroupSpec) DeepCopy() *GrafanaAlertRuleGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAlertRuleGroupSpec.
func (*GrafanaAlertRuleGroupSpec) DeepCopyInto ¶ added in v5.7.0
func (in *GrafanaAlertRuleGroupSpec) DeepCopyInto(out *GrafanaAlertRuleGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaClient ¶
type GrafanaClient struct {
// +nullable
TimeoutSeconds *int `json:"timeout,omitempty"`
// +nullable
// If the operator should send it's request through the grafana instances ingress object instead of through the service.
PreferIngress *bool `json:"preferIngress,omitempty"`
// TLS Configuration used to talk with the grafana instance.
// +optional
TLS *TLSConfig `json:"tls,omitempty"`
// Custom HTTP headers to use when interacting with this Grafana.
// +optional
Headers map[string]string `json:"headers,omitempty"`
}
GrafanaClient contains the Grafana API client settings
func (*GrafanaClient) DeepCopy ¶
func (in *GrafanaClient) DeepCopy() *GrafanaClient
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaClient.
func (*GrafanaClient) DeepCopyInto ¶
func (in *GrafanaClient) DeepCopyInto(out *GrafanaClient)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaComContentReference ¶ added in v5.18.0
type GrafanaComContentReference struct {
ID int `json:"id"`
Revision *int `json:"revision,omitempty"`
}
GrafanaComContentReference is a reference to content hosted on grafana.com
func (*GrafanaComContentReference) DeepCopy ¶ added in v5.18.0
func (in *GrafanaComContentReference) DeepCopy() *GrafanaComContentReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaComContentReference.
func (*GrafanaComContentReference) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaComContentReference) DeepCopyInto(out *GrafanaComContentReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaCommonSpec ¶ added in v5.16.0
type GrafanaCommonSpec struct {
// How often the resource is synced, defaults to 10m0s if not set
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
// +kubebuilder:default="10m0s"
ResyncPeriod metav1.Duration `json:"resyncPeriod,omitempty"`
// Selects Grafana instances for import
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.instanceSelector is immutable"
InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`
// Allow the Operator to match this resource with Grafanas outside the current namespace
// +optional
// +kubebuilder:default=false
AllowCrossNamespaceImport bool `json:"allowCrossNamespaceImport,omitempty"`
// Suspend pauses synchronizing attempts and tells the operator to ignore changes
// +optional
Suspend bool `json:"suspend,omitempty"`
}
Common Options that all CRs should embed, excluding GrafanaSpec Ensure alignment on handling ResyncPeriod, InstanceSelector, and AllowCrossNamespaceImport +kubebuilder:validation:XValidation:rule="!oldSelf.allowCrossNamespaceImport || (oldSelf.allowCrossNamespaceImport && self.allowCrossNamespaceImport)", message="disabling spec.allowCrossNamespaceImport requires a recreate to ensure desired state"
func (*GrafanaCommonSpec) DeepCopy ¶ added in v5.16.0
func (in *GrafanaCommonSpec) DeepCopy() *GrafanaCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaCommonSpec.
func (*GrafanaCommonSpec) DeepCopyInto ¶ added in v5.16.0
func (in *GrafanaCommonSpec) DeepCopyInto(out *GrafanaCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaCommonStatus ¶ added in v5.16.0
type GrafanaCommonStatus struct {
// Results when synchonizing resource with Grafana instances
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Last time the resource was synchronized with Grafana instances
LastResync metav1.Time `json:"lastResync,omitempty"`
}
The most recent observed state of a Grafana resource
func (*GrafanaCommonStatus) DeepCopy ¶ added in v5.16.0
func (in *GrafanaCommonStatus) DeepCopy() *GrafanaCommonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaCommonStatus.
func (*GrafanaCommonStatus) DeepCopyInto ¶ added in v5.16.0
func (in *GrafanaCommonStatus) DeepCopyInto(out *GrafanaCommonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContactPoint ¶ added in v5.9.0
type GrafanaContactPoint struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaContactPointSpec `json:"spec"`
Status GrafanaCommonStatus `json:"status,omitempty"`
}
GrafanaContactPoint is the Schema for the grafanacontactpoints API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaContactPoint) AllowCrossNamespace ¶ added in v5.16.0
func (in *GrafanaContactPoint) AllowCrossNamespace() bool
func (*GrafanaContactPoint) CommonStatus ¶ added in v5.18.0
func (in *GrafanaContactPoint) CommonStatus() *GrafanaCommonStatus
func (*GrafanaContactPoint) CustomUIDOrUID ¶ added in v5.16.0
func (in *GrafanaContactPoint) CustomUIDOrUID() string
Wrapper around CustomUID or default metadata.uid
func (*GrafanaContactPoint) DeepCopy ¶ added in v5.9.0
func (in *GrafanaContactPoint) DeepCopy() *GrafanaContactPoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContactPoint.
func (*GrafanaContactPoint) DeepCopyInto ¶ added in v5.9.0
func (in *GrafanaContactPoint) DeepCopyInto(out *GrafanaContactPoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaContactPoint) DeepCopyObject ¶ added in v5.9.0
func (in *GrafanaContactPoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaContactPoint) MatchLabels ¶ added in v5.16.0
func (in *GrafanaContactPoint) MatchLabels() *metav1.LabelSelector
func (*GrafanaContactPoint) MatchNamespace ¶ added in v5.16.0
func (in *GrafanaContactPoint) MatchNamespace() string
func (*GrafanaContactPoint) Metadata ¶ added in v5.20.0
func (in *GrafanaContactPoint) Metadata() metav1.ObjectMeta
func (*GrafanaContactPoint) NamespacedResource ¶ added in v5.19.0
func (in *GrafanaContactPoint) NamespacedResource() NamespacedResource
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
func (in *GrafanaContactPointList) DeepCopy() *GrafanaContactPointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContactPointList.
func (*GrafanaContactPointList) DeepCopyInto ¶ added in v5.9.0
func (in *GrafanaContactPointList) DeepCopyInto(out *GrafanaContactPointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaContactPointList) DeepCopyObject ¶ added in v5.9.0
func (in *GrafanaContactPointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaContactPointList) Exists ¶ added in v5.19.0
func (in *GrafanaContactPointList) Exists(namespace, name string) bool
type GrafanaContactPointSpec ¶ added in v5.9.0
type GrafanaContactPointSpec struct {
GrafanaCommonSpec `json:",inline"`
// Manually specify the UID the Contact Point is created with. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40
// +optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
// +kubebuilder:validation:MaxLength=40
// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
CustomUID string `json:"uid,omitempty"`
// +optional
DisableResolveMessage bool `json:"disableResolveMessage,omitempty"`
// +kubebuilder:validation:type=string
Name string `json:"name"`
Settings *apiextensions.JSON `json:"settings"`
// +kubebuilder:validation:MaxItems=99
ValuesFrom []ValueFrom `json:"valuesFrom,omitempty"`
// +kubebuilder:validation:MinLength=1
Type string `json:"type"`
}
GrafanaContactPointSpec defines the desired state of GrafanaContactPoint +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"
func (*GrafanaContactPointSpec) DeepCopy ¶ added in v5.9.0
func (in *GrafanaContactPointSpec) DeepCopy() *GrafanaContactPointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContactPointSpec.
func (*GrafanaContactPointSpec) DeepCopyInto ¶ added in v5.9.0
func (in *GrafanaContactPointSpec) DeepCopyInto(out *GrafanaContactPointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentDatasource ¶ added in v5.18.0
type GrafanaContentDatasource struct {
InputName string `json:"inputName"`
DatasourceName string `json:"datasourceName"`
}
GrafanaResourceDatasource is used to set the datasource name of any templated datasources in content definitions (e.g., dashboard JSON).
func (*GrafanaContentDatasource) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentDatasource) DeepCopy() *GrafanaContentDatasource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentDatasource.
func (*GrafanaContentDatasource) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentDatasource) DeepCopyInto(out *GrafanaContentDatasource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentEnv ¶ added in v5.18.0
type GrafanaContentEnv struct {
Name string `json:"name"`
// Inline env value
// +optional
Value string `json:"value,omitempty"`
// Reference on value source, might be the reference on a secret or config map
// +optional
ValueFrom GrafanaContentEnvFromSource `json:"valueFrom,omitempty"`
}
func (*GrafanaContentEnv) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentEnv) DeepCopy() *GrafanaContentEnv
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentEnv.
func (*GrafanaContentEnv) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentEnv) DeepCopyInto(out *GrafanaContentEnv)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentEnvFromSource ¶ added in v5.18.0
type GrafanaContentEnvFromSource struct {
// Selects a key of a ConfigMap.
// +optional
ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
// Selects a key of a Secret.
// +optional
SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}
func (*GrafanaContentEnvFromSource) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentEnvFromSource) DeepCopy() *GrafanaContentEnvFromSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentEnvFromSource.
func (*GrafanaContentEnvFromSource) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentEnvFromSource) DeepCopyInto(out *GrafanaContentEnvFromSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentResource ¶ added in v5.18.0
type GrafanaContentResource interface {
client.Object
GrafanaContentSpec() *GrafanaContentSpec
GrafanaContentStatus() *GrafanaContentStatus
}
Common interface for any resource that embeds or references Grafana-native model content. +kubebuilder:object:generate=false
type GrafanaContentSpec ¶ added in v5.18.0
type GrafanaContentSpec struct {
// Manually specify the uid, overwrites uids already present in the json model.
// Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40.
// +optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
// +kubebuilder:validation:MaxLength=40
// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
CustomUID string `json:"uid,omitempty"`
// model json
// +optional
JSON string `json:"json,omitempty"`
// GzipJson the model's JSON compressed with Gzip. Base64-encoded when in YAML.
// +optional
GzipJSON []byte `json:"gzipJson,omitempty"`
// model url
// +optional
URL string `json:"url,omitempty"`
// authorization options for model from url
// +optional
URLAuthorization *GrafanaContentURLAuthorization `json:"urlAuthorization,omitempty"`
// Jsonnet
// +optional
Jsonnet string `json:"jsonnet,omitempty"`
// Jsonnet project build
JsonnetProjectBuild *JsonnetProjectBuild `json:"jsonnetLib,omitempty"`
// model from configmap
// +optional
ConfigMapRef *v1.ConfigMapKeySelector `json:"configMapRef,omitempty"`
// grafana.com/dashboards
// +optional
GrafanaCom *GrafanaComContentReference `json:"grafanaCom,omitempty"`
// Cache duration for models fetched from URLs
// +optional
ContentCacheDuration metav1.Duration `json:"contentCacheDuration,omitempty"`
// maps required data sources to existing ones
// +optional
Datasources []GrafanaContentDatasource `json:"datasources,omitempty"`
// environments variables as a map
// +optional
Envs []GrafanaContentEnv `json:"envs,omitempty"`
// environments variables from secrets or config maps
// +optional
EnvsFrom []GrafanaContentEnvFromSource `json:"envFrom,omitempty"`
}
func (*GrafanaContentSpec) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentSpec) DeepCopy() *GrafanaContentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentSpec.
func (*GrafanaContentSpec) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentSpec) DeepCopyInto(out *GrafanaContentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentStatus ¶ added in v5.18.0
type GrafanaContentStatus struct {
ContentCache []byte `json:"contentCache,omitempty"`
ContentTimestamp metav1.Time `json:"contentTimestamp,omitempty"`
ContentURL string `json:"contentUrl,omitempty"`
Hash string `json:"hash,omitempty"`
UID string `json:"uid,omitempty"`
}
func (*GrafanaContentStatus) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentStatus) DeepCopy() *GrafanaContentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentStatus.
func (*GrafanaContentStatus) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentStatus) DeepCopyInto(out *GrafanaContentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentURLAuthorization ¶ added in v5.18.0
type GrafanaContentURLAuthorization struct {
BasicAuth *GrafanaContentURLBasicAuth `json:"basicAuth,omitempty"`
}
func (*GrafanaContentURLAuthorization) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentURLAuthorization) DeepCopy() *GrafanaContentURLAuthorization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentURLAuthorization.
func (*GrafanaContentURLAuthorization) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentURLAuthorization) DeepCopyInto(out *GrafanaContentURLAuthorization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaContentURLBasicAuth ¶ added in v5.18.0
type GrafanaContentURLBasicAuth struct {
Username *v1.SecretKeySelector `json:"username,omitempty"`
Password *v1.SecretKeySelector `json:"password,omitempty"`
}
func (*GrafanaContentURLBasicAuth) DeepCopy ¶ added in v5.18.0
func (in *GrafanaContentURLBasicAuth) DeepCopy() *GrafanaContentURLBasicAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaContentURLBasicAuth.
func (*GrafanaContentURLBasicAuth) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaContentURLBasicAuth) DeepCopyInto(out *GrafanaContentURLBasicAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDashboard ¶
type GrafanaDashboard struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaDashboardSpec `json:"spec"`
Status GrafanaDashboardStatus `json:"status,omitempty"`
}
GrafanaDashboard is the Schema for the grafanadashboards API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaDashboard) AllowCrossNamespace ¶ added in v5.18.0
func (in *GrafanaDashboard) AllowCrossNamespace() bool
func (*GrafanaDashboard) CommonStatus ¶ added in v5.18.0
func (in *GrafanaDashboard) CommonStatus() *GrafanaCommonStatus
func (*GrafanaDashboard) Conditions ¶ added in v5.11.0
func (in *GrafanaDashboard) Conditions() *[]metav1.Condition
Conditions implements FolderReferencer.
func (*GrafanaDashboard) CurrentGeneration ¶ added in v5.11.0
func (in *GrafanaDashboard) CurrentGeneration() int64
CurrentGeneration implements FolderReferencer.
func (*GrafanaDashboard) DeepCopy ¶
func (in *GrafanaDashboard) DeepCopy() *GrafanaDashboard
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboard.
func (*GrafanaDashboard) DeepCopyInto ¶
func (in *GrafanaDashboard) DeepCopyInto(out *GrafanaDashboard)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaDashboard) DeepCopyObject ¶
func (in *GrafanaDashboard) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaDashboard) FolderNamespace ¶ added in v5.11.0
func (in *GrafanaDashboard) FolderNamespace() string
FolderNamespace implements FolderReferencer.
func (*GrafanaDashboard) FolderRef ¶ added in v5.11.0
func (in *GrafanaDashboard) FolderRef() string
FolderRef implements FolderReferencer.
func (*GrafanaDashboard) FolderUID ¶ added in v5.11.0
func (in *GrafanaDashboard) FolderUID() string
FolderUID implements FolderReferencer.
func (*GrafanaDashboard) GetPluginConfigMapDeprecatedKey ¶ added in v5.20.0
func (in *GrafanaDashboard) GetPluginConfigMapDeprecatedKey() string
func (*GrafanaDashboard) GetPluginConfigMapKey ¶ added in v5.20.0
func (in *GrafanaDashboard) GetPluginConfigMapKey() string
func (*GrafanaDashboard) GrafanaContentSpec ¶ added in v5.18.0
func (in *GrafanaDashboard) GrafanaContentSpec() *GrafanaContentSpec
GrafanaContentSpec implements GrafanaContentResource
func (*GrafanaDashboard) GrafanaContentStatus ¶ added in v5.18.0
func (in *GrafanaDashboard) GrafanaContentStatus() *GrafanaContentStatus
GrafanaContentSpec implements GrafanaContentResource
func (*GrafanaDashboard) MatchLabels ¶ added in v5.18.0
func (in *GrafanaDashboard) MatchLabels() *metav1.LabelSelector
func (*GrafanaDashboard) MatchNamespace ¶ added in v5.18.0
func (in *GrafanaDashboard) MatchNamespace() string
func (*GrafanaDashboard) Metadata ¶ added in v5.20.0
func (in *GrafanaDashboard) Metadata() metav1.ObjectMeta
func (*GrafanaDashboard) NamespacedResource ¶ added in v5.19.0
func (in *GrafanaDashboard) NamespacedResource(uid string) NamespacedResource
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 ¶
func (in *GrafanaDashboardList) DeepCopy() *GrafanaDashboardList
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) Exists ¶ added in v5.19.0
func (in *GrafanaDashboardList) Exists(namespace, name string) bool
type GrafanaDashboardSpec ¶
type GrafanaDashboardSpec struct {
GrafanaCommonSpec `json:",inline"`
GrafanaContentSpec `json:",inline"`
// folder assignment for dashboard
// +optional
FolderTitle string `json:"folder,omitempty"`
// UID of the target folder for this dashboard
// +optional
FolderUID string `json:"folderUID,omitempty"`
// Name of a `GrafanaFolder` resource in the same namespace
// +optional
FolderRef string `json:"folderRef,omitempty"`
// plugins
// +optional
Plugins PluginList `json:"plugins,omitempty"`
}
GrafanaDashboardSpec defines the desired state of GrafanaDashboard +kubebuilder:validation:XValidation:rule="(has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID))) || !(has(self.folderRef) && (has(self.folderUID)))", message="Only one of folderUID or folderRef can be declared at the same time" +kubebuilder:validation:XValidation:rule="(has(self.folder) && !(has(self.folderRef) || has(self.folderUID))) || !(has(self.folder))", message="folder field cannot be set when folderUID or folderRef is already declared" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"
func (*GrafanaDashboardSpec) DeepCopy ¶
func (in *GrafanaDashboardSpec) DeepCopy() *GrafanaDashboardSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardSpec.
func (*GrafanaDashboardSpec) DeepCopyInto ¶
func (in *GrafanaDashboardSpec) DeepCopyInto(out *GrafanaDashboardSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDashboardStatus ¶
type GrafanaDashboardStatus struct {
GrafanaCommonStatus `json:",inline"`
GrafanaContentStatus `json:",inline"`
// The dashboard instanceSelector can't find matching grafana instances
NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
}
GrafanaDashboardStatus defines the observed state of GrafanaDashboard
func (*GrafanaDashboardStatus) DeepCopy ¶
func (in *GrafanaDashboardStatus) DeepCopy() *GrafanaDashboardStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardStatus.
func (*GrafanaDashboardStatus) DeepCopyInto ¶
func (in *GrafanaDashboardStatus) DeepCopyInto(out *GrafanaDashboardStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDatasource ¶
type GrafanaDatasource struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaDatasourceSpec `json:"spec"`
Status GrafanaDatasourceStatus `json:"status,omitempty"`
}
GrafanaDatasource is the Schema for the grafanadatasources API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaDatasource) AllowCrossNamespace ¶ added in v5.18.0
func (in *GrafanaDatasource) AllowCrossNamespace() bool
func (*GrafanaDatasource) CommonStatus ¶ added in v5.18.0
func (in *GrafanaDatasource) CommonStatus() *GrafanaCommonStatus
func (*GrafanaDatasource) CustomUIDOrUID ¶ added in v5.16.0
func (in *GrafanaDatasource) CustomUIDOrUID() string
Wrapper around CustomUID, datasourcelUID or default metadata.uid
func (*GrafanaDatasource) DeepCopy ¶
func (in *GrafanaDatasource) DeepCopy() *GrafanaDatasource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasource.
func (*GrafanaDatasource) DeepCopyInto ¶
func (in *GrafanaDatasource) DeepCopyInto(out *GrafanaDatasource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaDatasource) DeepCopyObject ¶
func (in *GrafanaDatasource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaDatasource) GetPluginConfigMapDeprecatedKey ¶ added in v5.20.0
func (in *GrafanaDatasource) GetPluginConfigMapDeprecatedKey() string
func (*GrafanaDatasource) GetPluginConfigMapKey ¶ added in v5.20.0
func (in *GrafanaDatasource) GetPluginConfigMapKey() string
func (*GrafanaDatasource) IsUpdatedUID ¶
func (in *GrafanaDatasource) IsUpdatedUID() bool
func (*GrafanaDatasource) MatchLabels ¶ added in v5.18.0
func (in *GrafanaDatasource) MatchLabels() *metav1.LabelSelector
func (*GrafanaDatasource) MatchNamespace ¶ added in v5.18.0
func (in *GrafanaDatasource) MatchNamespace() string
func (*GrafanaDatasource) Metadata ¶ added in v5.20.0
func (in *GrafanaDatasource) Metadata() metav1.ObjectMeta
func (*GrafanaDatasource) NamespacedResource ¶ added in v5.19.0
func (in *GrafanaDatasource) NamespacedResource() NamespacedResource
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 ¶
func (in *GrafanaDatasourceInternal) DeepCopy() *GrafanaDatasourceInternal
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceInternal.
func (*GrafanaDatasourceInternal) DeepCopyInto ¶
func (in *GrafanaDatasourceInternal) DeepCopyInto(out *GrafanaDatasourceInternal)
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 ¶
func (in *GrafanaDatasourceList) DeepCopy() *GrafanaDatasourceList
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) Exists ¶ added in v5.19.0
func (in *GrafanaDatasourceList) Exists(namespace, name string) bool
type GrafanaDatasourceSpec ¶
type GrafanaDatasourceSpec struct {
GrafanaCommonSpec `json:",inline"`
// The UID, for the datasource, fallback to the deprecated spec.datasource.uid
// and metadata.uid. Can be any string consisting of alphanumeric characters,
// - and _ with a maximum length of 40 +optional
// +kubebuilder:validation:MaxLength=40
// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
CustomUID string `json:"uid,omitempty"`
Datasource *GrafanaDatasourceInternal `json:"datasource"`
// plugins
// +optional
Plugins PluginList `json:"plugins,omitempty"`
// environments variables from secrets or config maps
// +optional
// +kubebuilder:validation:MaxItems=99
ValuesFrom []ValueFrom `json:"valuesFrom,omitempty"`
}
GrafanaDatasourceSpec defines the desired state of GrafanaDatasource +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"
func (*GrafanaDatasourceSpec) DeepCopy ¶
func (in *GrafanaDatasourceSpec) DeepCopy() *GrafanaDatasourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceSpec.
func (*GrafanaDatasourceSpec) DeepCopyInto ¶
func (in *GrafanaDatasourceSpec) DeepCopyInto(out *GrafanaDatasourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDatasourceStatus ¶
type GrafanaDatasourceStatus struct {
GrafanaCommonStatus `json:",inline"`
Hash string `json:"hash,omitempty"`
// Deprecated: Check status.conditions or operator logs
LastMessage string `json:"lastMessage,omitempty"`
// The datasource instanceSelector can't find matching grafana instances
NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
UID string `json:"uid,omitempty"`
}
GrafanaDatasourceStatus defines the observed state of GrafanaDatasource
func (*GrafanaDatasourceStatus) DeepCopy ¶
func (in *GrafanaDatasourceStatus) DeepCopy() *GrafanaDatasourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceStatus.
func (*GrafanaDatasourceStatus) DeepCopyInto ¶
func (in *GrafanaDatasourceStatus) DeepCopyInto(out *GrafanaDatasourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaFolder ¶
type GrafanaFolder struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaFolderSpec `json:"spec"`
Status GrafanaFolderStatus `json:"status,omitempty"`
}
GrafanaFolder is the Schema for the grafanafolders API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaFolder) AllowCrossNamespace ¶ added in v5.16.0
func (in *GrafanaFolder) AllowCrossNamespace() bool
func (*GrafanaFolder) CommonStatus ¶ added in v5.18.0
func (in *GrafanaFolder) CommonStatus() *GrafanaCommonStatus
func (*GrafanaFolder) Conditions ¶ added in v5.11.0
func (in *GrafanaFolder) Conditions() *[]metav1.Condition
Conditions implements FolderReferencer.
func (*GrafanaFolder) CurrentGeneration ¶ added in v5.11.0
func (in *GrafanaFolder) CurrentGeneration() int64
CurrentGeneration implements FolderReferencer.
func (*GrafanaFolder) CustomUIDOrUID ¶ added in v5.15.0
func (in *GrafanaFolder) CustomUIDOrUID() string
Wrapper around CustomUID or default metadata.uid
func (*GrafanaFolder) DeepCopy ¶
func (in *GrafanaFolder) DeepCopy() *GrafanaFolder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolder.
func (*GrafanaFolder) DeepCopyInto ¶
func (in *GrafanaFolder) DeepCopyInto(out *GrafanaFolder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaFolder) DeepCopyObject ¶
func (in *GrafanaFolder) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaFolder) FolderNamespace ¶ added in v5.11.0
func (in *GrafanaFolder) FolderNamespace() string
FolderNamespace implements FolderReferencer.
func (*GrafanaFolder) FolderRef ¶ added in v5.11.0
func (in *GrafanaFolder) FolderRef() string
FolderRef implements FolderReferencer.
func (*GrafanaFolder) FolderUID ¶ added in v5.11.0
func (in *GrafanaFolder) FolderUID() string
FolderUID implements FolderReferencer.
func (*GrafanaFolder) GetTitle ¶
func (in *GrafanaFolder) GetTitle() string
func (*GrafanaFolder) Hash ¶
func (in *GrafanaFolder) Hash() string
func (*GrafanaFolder) MatchLabels ¶ added in v5.16.0
func (in *GrafanaFolder) MatchLabels() *metav1.LabelSelector
func (*GrafanaFolder) MatchNamespace ¶ added in v5.16.0
func (in *GrafanaFolder) MatchNamespace() string
func (*GrafanaFolder) Metadata ¶ added in v5.20.0
func (in *GrafanaFolder) Metadata() metav1.ObjectMeta
func (*GrafanaFolder) NamespacedResource ¶ added in v5.19.0
func (in *GrafanaFolder) NamespacedResource(uid string) NamespacedResource
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) Exists ¶ added in v5.19.0
func (in *GrafanaFolderList) Exists(namespace, name string) bool
type GrafanaFolderSpec ¶
type GrafanaFolderSpec struct {
GrafanaCommonSpec `json:",inline"`
// Manually specify the UID the Folder is created with. Can be any string consisting of alphanumeric characters, - and _ with a maximum length of 40
// +optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.uid is immutable"
// +kubebuilder:validation:MaxLength=40
// +kubebuilder:validation:Pattern="^[a-zA-Z0-9-_]+$"
CustomUID string `json:"uid,omitempty"`
// Display name of the folder in Grafana
// +optional
Title string `json:"title,omitempty"`
// Raw json with folder permissions, potentially exported from Grafana
// +optional
Permissions string `json:"permissions,omitempty"`
// UID of the folder in which the current folder should be created
// +optional
ParentFolderUID string `json:"parentFolderUID,omitempty"`
// Reference to an existing GrafanaFolder CR in the same namespace
// +optional
ParentFolderRef string `json:"parentFolderRef,omitempty"`
}
GrafanaFolderSpec defines the desired state of GrafanaFolder +kubebuilder:validation:XValidation:rule="(has(self.parentFolderUID) && !(has(self.parentFolderRef))) || (has(self.parentFolderRef) && !(has(self.parentFolderUID))) || !(has(self.parentFolderRef) && (has(self.parentFolderUID)))", message="Only one of parentFolderUID or parentFolderRef can be set" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"
func (*GrafanaFolderSpec) DeepCopy ¶
func (in *GrafanaFolderSpec) DeepCopy() *GrafanaFolderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderSpec.
func (*GrafanaFolderSpec) DeepCopyInto ¶
func (in *GrafanaFolderSpec) DeepCopyInto(out *GrafanaFolderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaFolderStatus ¶
type GrafanaFolderStatus struct {
GrafanaCommonStatus `json:",inline"`
Hash string `json:"hash,omitempty"`
// The folder instanceSelector can't find matching grafana instances
NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
}
GrafanaFolderStatus defines the observed state of GrafanaFolder
func (*GrafanaFolderStatus) DeepCopy ¶
func (in *GrafanaFolderStatus) DeepCopy() *GrafanaFolderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderStatus.
func (*GrafanaFolderStatus) DeepCopyInto ¶
func (in *GrafanaFolderStatus) DeepCopyInto(out *GrafanaFolderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaLibraryPanel ¶ added in v5.18.0
type GrafanaLibraryPanel struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaLibraryPanelSpec `json:"spec"`
Status GrafanaLibraryPanelStatus `json:"status,omitempty"`
}
GrafanaLibraryPanel is the Schema for the grafanalibrarypanels API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaLibraryPanel) AllowCrossNamespace ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) AllowCrossNamespace() bool
func (*GrafanaLibraryPanel) CommonStatus ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) CommonStatus() *GrafanaCommonStatus
func (*GrafanaLibraryPanel) Conditions ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) Conditions() *[]metav1.Condition
Conditions implements FolderReferencer.
func (*GrafanaLibraryPanel) CurrentGeneration ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) CurrentGeneration() int64
CurrentGeneration implements FolderReferencer.
func (*GrafanaLibraryPanel) DeepCopy ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) DeepCopy() *GrafanaLibraryPanel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaLibraryPanel.
func (*GrafanaLibraryPanel) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) DeepCopyInto(out *GrafanaLibraryPanel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaLibraryPanel) DeepCopyObject ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaLibraryPanel) FolderNamespace ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) FolderNamespace() string
FolderNamespace implements FolderReferencer.
func (*GrafanaLibraryPanel) FolderRef ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) FolderRef() string
FolderRef implements FolderReferencer.
func (*GrafanaLibraryPanel) FolderUID ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) FolderUID() string
FolderUID implements FolderReferencer.
func (*GrafanaLibraryPanel) GetPluginConfigMapDeprecatedKey ¶ added in v5.20.0
func (in *GrafanaLibraryPanel) GetPluginConfigMapDeprecatedKey() string
func (*GrafanaLibraryPanel) GetPluginConfigMapKey ¶ added in v5.20.0
func (in *GrafanaLibraryPanel) GetPluginConfigMapKey() string
func (*GrafanaLibraryPanel) GrafanaContentSpec ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) GrafanaContentSpec() *GrafanaContentSpec
GrafanaContentSpec implements GrafanaContentResource
func (*GrafanaLibraryPanel) GrafanaContentStatus ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) GrafanaContentStatus() *GrafanaContentStatus
GrafanaContentSpec implements GrafanaContentResource
func (*GrafanaLibraryPanel) MatchLabels ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) MatchLabels() *metav1.LabelSelector
func (*GrafanaLibraryPanel) MatchNamespace ¶ added in v5.18.0
func (in *GrafanaLibraryPanel) MatchNamespace() string
func (*GrafanaLibraryPanel) Metadata ¶ added in v5.20.0
func (in *GrafanaLibraryPanel) Metadata() metav1.ObjectMeta
func (*GrafanaLibraryPanel) NamespacedResource ¶ added in v5.19.0
func (in *GrafanaLibraryPanel) NamespacedResource(uid string) NamespacedResource
type GrafanaLibraryPanelList ¶ added in v5.18.0
type GrafanaLibraryPanelList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaLibraryPanel `json:"items"`
}
GrafanaLibraryPanelList contains a list of GrafanaLibraryPanel
func (*GrafanaLibraryPanelList) DeepCopy ¶ added in v5.18.0
func (in *GrafanaLibraryPanelList) DeepCopy() *GrafanaLibraryPanelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaLibraryPanelList.
func (*GrafanaLibraryPanelList) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaLibraryPanelList) DeepCopyInto(out *GrafanaLibraryPanelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaLibraryPanelList) DeepCopyObject ¶ added in v5.18.0
func (in *GrafanaLibraryPanelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaLibraryPanelList) Exists ¶ added in v5.19.0
func (in *GrafanaLibraryPanelList) Exists(namespace, name string) bool
type GrafanaLibraryPanelSpec ¶ added in v5.18.0
type GrafanaLibraryPanelSpec struct {
GrafanaCommonSpec `json:",inline"`
GrafanaContentSpec `json:",inline"`
// UID of the target folder for this dashboard
// +optional
FolderUID string `json:"folderUID,omitempty"`
// Name of a `GrafanaFolder` resource in the same namespace
// +optional
FolderRef string `json:"folderRef,omitempty"`
// plugins
// +optional
Plugins PluginList `json:"plugins,omitempty"`
}
GrafanaLibraryPanelSpec defines the desired state of GrafanaLibraryPanel +kubebuilder:validation:XValidation:rule="(has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID))) || !(has(self.folderRef) && (has(self.folderUID)))", message="Only one of folderUID or folderRef can be declared at the same time" +kubebuilder:validation:XValidation:rule="((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))", message="spec.uid is immutable"
func (*GrafanaLibraryPanelSpec) DeepCopy ¶ added in v5.18.0
func (in *GrafanaLibraryPanelSpec) DeepCopy() *GrafanaLibraryPanelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaLibraryPanelSpec.
func (*GrafanaLibraryPanelSpec) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaLibraryPanelSpec) DeepCopyInto(out *GrafanaLibraryPanelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaLibraryPanelStatus ¶ added in v5.18.0
type GrafanaLibraryPanelStatus struct {
GrafanaCommonStatus `json:",inline"`
GrafanaContentStatus `json:",inline"`
}
GrafanaLibraryPanelStatus defines the observed state of GrafanaLibraryPanel
func (*GrafanaLibraryPanelStatus) DeepCopy ¶ added in v5.18.0
func (in *GrafanaLibraryPanelStatus) DeepCopy() *GrafanaLibraryPanelStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaLibraryPanelStatus.
func (*GrafanaLibraryPanelStatus) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaLibraryPanelStatus) DeepCopyInto(out *GrafanaLibraryPanelStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaList ¶
type GrafanaList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Grafana `json:"items"`
}
GrafanaList contains a list of Grafana
func (*GrafanaList) DeepCopy ¶
func (in *GrafanaList) DeepCopy() *GrafanaList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaList.
func (*GrafanaList) DeepCopyInto ¶
func (in *GrafanaList) DeepCopyInto(out *GrafanaList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaList) DeepCopyObject ¶
func (in *GrafanaList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GrafanaMuteTiming ¶ added in v5.18.0
type GrafanaMuteTiming struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaMuteTimingSpec `json:"spec"`
Status GrafanaCommonStatus `json:"status,omitempty"`
}
GrafanaMuteTiming is the Schema for the GrafanaMuteTiming API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaMuteTiming) AllowCrossNamespace ¶ added in v5.18.0
func (in *GrafanaMuteTiming) AllowCrossNamespace() bool
func (*GrafanaMuteTiming) CommonStatus ¶ added in v5.18.0
func (in *GrafanaMuteTiming) CommonStatus() *GrafanaCommonStatus
func (*GrafanaMuteTiming) DeepCopy ¶ added in v5.18.0
func (in *GrafanaMuteTiming) DeepCopy() *GrafanaMuteTiming
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaMuteTiming.
func (*GrafanaMuteTiming) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaMuteTiming) DeepCopyInto(out *GrafanaMuteTiming)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaMuteTiming) DeepCopyObject ¶ added in v5.18.0
func (in *GrafanaMuteTiming) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaMuteTiming) MatchLabels ¶ added in v5.18.0
func (in *GrafanaMuteTiming) MatchLabels() *metav1.LabelSelector
func (*GrafanaMuteTiming) MatchNamespace ¶ added in v5.18.0
func (in *GrafanaMuteTiming) MatchNamespace() string
func (*GrafanaMuteTiming) Metadata ¶ added in v5.20.0
func (in *GrafanaMuteTiming) Metadata() metav1.ObjectMeta
func (*GrafanaMuteTiming) NamespacedResource ¶ added in v5.18.0
func (in *GrafanaMuteTiming) NamespacedResource() NamespacedResource
type GrafanaMuteTimingList ¶ added in v5.18.0
type GrafanaMuteTimingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaMuteTiming `json:"items"`
}
GrafanaMuteTimingList contains a list of GrafanaMuteTiming
func (*GrafanaMuteTimingList) DeepCopy ¶ added in v5.18.0
func (in *GrafanaMuteTimingList) DeepCopy() *GrafanaMuteTimingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaMuteTimingList.
func (*GrafanaMuteTimingList) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaMuteTimingList) DeepCopyInto(out *GrafanaMuteTimingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaMuteTimingList) DeepCopyObject ¶ added in v5.18.0
func (in *GrafanaMuteTimingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaMuteTimingList) Exists ¶ added in v5.19.0
func (in *GrafanaMuteTimingList) Exists(namespace, name string) bool
type GrafanaMuteTimingSpec ¶ added in v5.18.0
type GrafanaMuteTimingSpec struct {
GrafanaCommonSpec `json:",inline"`
// A unique name for the mute timing
Name string `json:"name"`
// Time intervals for muting
// +kubebuilder:validation:MinItems=1
TimeIntervals []*TimeInterval `json:"time_intervals"`
// Whether to enable or disable editing of the mute timing in Grafana UI
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.editable is immutable"
// +optional
// +kubebuilder:default=true
Editable bool `json:"editable"`
}
GrafanaMuteTimingSpec defines the desired state of GrafanaMuteTiming
func (*GrafanaMuteTimingSpec) DeepCopy ¶ added in v5.18.0
func (in *GrafanaMuteTimingSpec) DeepCopy() *GrafanaMuteTimingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaMuteTimingSpec.
func (*GrafanaMuteTimingSpec) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaMuteTimingSpec) DeepCopyInto(out *GrafanaMuteTimingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaNotificationPolicy ¶ added in v5.12.0
type GrafanaNotificationPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaNotificationPolicySpec `json:"spec"`
Status GrafanaNotificationPolicyStatus `json:"status,omitempty"`
}
GrafanaNotificationPolicy is the Schema for the GrafanaNotificationPolicy API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaNotificationPolicy) AllowCrossNamespace ¶ added in v5.16.0
func (in *GrafanaNotificationPolicy) AllowCrossNamespace() bool
func (*GrafanaNotificationPolicy) CommonStatus ¶ added in v5.18.0
func (in *GrafanaNotificationPolicy) CommonStatus() *GrafanaCommonStatus
func (*GrafanaNotificationPolicy) DeepCopy ¶ added in v5.12.0
func (in *GrafanaNotificationPolicy) DeepCopy() *GrafanaNotificationPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicy.
func (*GrafanaNotificationPolicy) DeepCopyInto ¶ added in v5.12.0
func (in *GrafanaNotificationPolicy) DeepCopyInto(out *GrafanaNotificationPolicy)
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) Metadata ¶ added in v5.20.0
func (in *GrafanaNotificationPolicy) Metadata() metav1.ObjectMeta
func (*GrafanaNotificationPolicy) NamespacedResource ¶ added in v5.12.0
func (in *GrafanaNotificationPolicy) NamespacedResource() string
type GrafanaNotificationPolicyList ¶ added in v5.12.0
type GrafanaNotificationPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaNotificationPolicy `json:"items"`
}
GrafanaNotificationPolicyList contains a list of GrafanaNotificationPolicy
func (*GrafanaNotificationPolicyList) DeepCopy ¶ added in v5.12.0
func (in *GrafanaNotificationPolicyList) DeepCopy() *GrafanaNotificationPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicyList.
func (*GrafanaNotificationPolicyList) DeepCopyInto ¶ added in v5.12.0
func (in *GrafanaNotificationPolicyList) DeepCopyInto(out *GrafanaNotificationPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaNotificationPolicyList) DeepCopyObject ¶ added in v5.12.0
func (in *GrafanaNotificationPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GrafanaNotificationPolicyRoute ¶ added in v5.18.0
type GrafanaNotificationPolicyRoute struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaNotificationPolicyRouteSpec `json:"spec"`
Status GrafanaCommonStatus `json:"status,omitempty"`
}
GrafanaNotificationPolicyRoute is the Schema for the grafananotificationpolicyroutes API +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaNotificationPolicyRoute) DeepCopy ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRoute) DeepCopy() *GrafanaNotificationPolicyRoute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicyRoute.
func (*GrafanaNotificationPolicyRoute) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRoute) DeepCopyInto(out *GrafanaNotificationPolicyRoute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaNotificationPolicyRoute) DeepCopyObject ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRoute) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaNotificationPolicyRoute) NamespacedResource ¶ added in v5.18.0
func (r *GrafanaNotificationPolicyRoute) NamespacedResource() string
type GrafanaNotificationPolicyRouteList ¶ added in v5.18.0
type GrafanaNotificationPolicyRouteList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaNotificationPolicyRoute `json:"items"`
}
GrafanaNotificationPolicyRouteList contains a list of GrafanaNotificationPolicyRoute
func (*GrafanaNotificationPolicyRouteList) DeepCopy ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRouteList) DeepCopy() *GrafanaNotificationPolicyRouteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicyRouteList.
func (*GrafanaNotificationPolicyRouteList) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRouteList) DeepCopyInto(out *GrafanaNotificationPolicyRouteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaNotificationPolicyRouteList) DeepCopyObject ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRouteList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GrafanaNotificationPolicyRouteSpec ¶ added in v5.18.0
type GrafanaNotificationPolicyRouteSpec struct {
// Route for alerts to match against
Route `json:",inline"`
}
GrafanaNotificationPolicyRouteSpec defines the desired state of GrafanaNotificationPolicyRoute
func (*GrafanaNotificationPolicyRouteSpec) DeepCopy ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRouteSpec) DeepCopy() *GrafanaNotificationPolicyRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicyRouteSpec.
func (*GrafanaNotificationPolicyRouteSpec) DeepCopyInto ¶ added in v5.18.0
func (in *GrafanaNotificationPolicyRouteSpec) DeepCopyInto(out *GrafanaNotificationPolicyRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaNotificationPolicySpec ¶ added in v5.12.0
type GrafanaNotificationPolicySpec struct {
GrafanaCommonSpec `json:",inline"`
// Routes for alerts to match against
Route *Route `json:"route"`
// Whether to enable or disable editing of the notification policy in Grafana UI
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
// +optional
Editable *bool `json:"editable,omitempty"`
}
GrafanaNotificationPolicySpec defines the desired state of GrafanaNotificationPolicy +kubebuilder:validation:XValidation:rule="((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable) && has(self.editable)))", message="spec.editable is immutable"
func (*GrafanaNotificationPolicySpec) DeepCopy ¶ added in v5.12.0
func (in *GrafanaNotificationPolicySpec) DeepCopy() *GrafanaNotificationPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicySpec.
func (*GrafanaNotificationPolicySpec) DeepCopyInto ¶ added in v5.12.0
func (in *GrafanaNotificationPolicySpec) DeepCopyInto(out *GrafanaNotificationPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaNotificationPolicyStatus ¶ added in v5.12.0
type GrafanaNotificationPolicyStatus struct {
GrafanaCommonStatus `json:",inline"`
DiscoveredRoutes *[]string `json:"discoveredRoutes,omitempty"`
}
GrafanaNotificationPolicyStatus defines the observed state of GrafanaNotificationPolicy
func (*GrafanaNotificationPolicyStatus) DeepCopy ¶ added in v5.12.0
func (in *GrafanaNotificationPolicyStatus) DeepCopy() *GrafanaNotificationPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationPolicyStatus.
func (*GrafanaNotificationPolicyStatus) DeepCopyInto ¶ added in v5.12.0
func (in *GrafanaNotificationPolicyStatus) DeepCopyInto(out *GrafanaNotificationPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaNotificationTemplate ¶ added in v5.16.0
type GrafanaNotificationTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaNotificationTemplateSpec `json:"spec"`
Status GrafanaCommonStatus `json:"status,omitempty"`
}
GrafanaNotificationTemplate is the Schema for the GrafanaNotificationTemplate API +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:categories={grafana-operator}
func (*GrafanaNotificationTemplate) AllowCrossNamespace ¶ added in v5.16.0
func (in *GrafanaNotificationTemplate) AllowCrossNamespace() bool
func (*GrafanaNotificationTemplate) CommonStatus ¶ added in v5.18.0
func (in *GrafanaNotificationTemplate) CommonStatus() *GrafanaCommonStatus
func (*GrafanaNotificationTemplate) DeepCopy ¶ added in v5.16.0
func (in *GrafanaNotificationTemplate) DeepCopy() *GrafanaNotificationTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationTemplate.
func (*GrafanaNotificationTemplate) DeepCopyInto ¶ added in v5.16.0
func (in *GrafanaNotificationTemplate) DeepCopyInto(out *GrafanaNotificationTemplate)
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 (in *GrafanaNotificationTemplate) MatchLabels() *metav1.LabelSelector
func (*GrafanaNotificationTemplate) MatchNamespace ¶ added in v5.16.0
func (in *GrafanaNotificationTemplate) MatchNamespace() string
func (*GrafanaNotificationTemplate) Metadata ¶ added in v5.20.0
func (in *GrafanaNotificationTemplate) Metadata() metav1.ObjectMeta
func (*GrafanaNotificationTemplate) NamespacedResource ¶ added in v5.16.0
func (in *GrafanaNotificationTemplate) NamespacedResource() NamespacedResource
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
func (in *GrafanaNotificationTemplateList) DeepCopy() *GrafanaNotificationTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationTemplateList.
func (*GrafanaNotificationTemplateList) DeepCopyInto ¶ added in v5.16.0
func (in *GrafanaNotificationTemplateList) DeepCopyInto(out *GrafanaNotificationTemplateList)
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.
func (*GrafanaNotificationTemplateList) Exists ¶ added in v5.19.0
func (in *GrafanaNotificationTemplateList) Exists(namespace, name string) bool
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
func (in *GrafanaNotificationTemplateSpec) DeepCopy() *GrafanaNotificationTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaNotificationTemplateSpec.
func (*GrafanaNotificationTemplateSpec) DeepCopyInto ¶ added in v5.16.0
func (in *GrafanaNotificationTemplateSpec) DeepCopyInto(out *GrafanaNotificationTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaPlugin ¶
type GrafanaPlugin struct {
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// TODO: kubernetes 1.34+ supports isSemver function, we should migrate to it after 1.33 reaches EOL. For now, using the official pattern https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
// +kubebuilder:validation:Pattern=`^((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?|latest)$`
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.
func (GrafanaPlugin) HasInvalidVersion ¶ added in v5.20.0
func (p GrafanaPlugin) HasInvalidVersion() bool
func (GrafanaPlugin) HasValidVersion ¶ added in v5.20.0
func (p GrafanaPlugin) HasValidVersion() bool
func (GrafanaPlugin) String ¶ added in v5.20.0
func (p GrafanaPlugin) String() string
func (*GrafanaPlugin) Update ¶ added in v5.20.0
func (p *GrafanaPlugin) Update(version string)
Update updates the plugin to the requested version if it's valid and newer
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 GrafanaServiceAccount ¶ added in v5.20.0
type GrafanaServiceAccount struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaServiceAccountSpec `json:"spec,omitempty"`
Status GrafanaServiceAccountStatus `json:"status,omitempty"`
}
GrafanaServiceAccount is the Schema for the grafanaserviceaccounts 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 (*GrafanaServiceAccount) AllowCrossNamespace ¶ added in v5.20.0
func (in *GrafanaServiceAccount) AllowCrossNamespace() bool
AllowCrossNamespace indicates whether cross-namespace import is allowed for this resource.
func (*GrafanaServiceAccount) CommonStatus ¶ added in v5.20.0
func (in *GrafanaServiceAccount) CommonStatus() *GrafanaCommonStatus
func (*GrafanaServiceAccount) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccount) DeepCopy() *GrafanaServiceAccount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccount.
func (*GrafanaServiceAccount) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccount) DeepCopyInto(out *GrafanaServiceAccount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaServiceAccount) DeepCopyObject ¶ added in v5.20.0
func (in *GrafanaServiceAccount) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaServiceAccount) MatchNamespace ¶ added in v5.20.0
func (in *GrafanaServiceAccount) MatchNamespace() string
MatchNamespace returns the namespace where this service account is defined.
type GrafanaServiceAccountInfo ¶ added in v5.20.0
type GrafanaServiceAccountInfo struct {
Name string `json:"name"`
Login string `json:"login"`
// ID of the service account in Grafana
ID int64 `json:"id"`
// Role is the Grafana role for the service account (Viewer, Editor, Admin)
Role string `json:"role"`
// IsDisabled indicates if the service account is disabled
IsDisabled bool `json:"isDisabled"`
// Information about tokens
// +optional
Tokens []GrafanaServiceAccountTokenStatus `json:"tokens,omitempty"`
}
GrafanaServiceAccountInfo describes the Grafana service account information.
func (*GrafanaServiceAccountInfo) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountInfo) DeepCopy() *GrafanaServiceAccountInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountInfo.
func (*GrafanaServiceAccountInfo) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountInfo) DeepCopyInto(out *GrafanaServiceAccountInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaServiceAccountList ¶ added in v5.20.0
type GrafanaServiceAccountList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaServiceAccount `json:"items"`
}
GrafanaServiceAccountList contains a list of GrafanaServiceAccount
func (*GrafanaServiceAccountList) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountList) DeepCopy() *GrafanaServiceAccountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountList.
func (*GrafanaServiceAccountList) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountList) DeepCopyInto(out *GrafanaServiceAccountList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaServiceAccountList) DeepCopyObject ¶ added in v5.20.0
func (in *GrafanaServiceAccountList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaServiceAccountList) Find ¶ added in v5.20.0
func (in *GrafanaServiceAccountList) Find(namespace, name string) *GrafanaServiceAccount
Find searches for a GrafanaServiceAccount by namespace/name in the list.
type GrafanaServiceAccountSecretStatus ¶ added in v5.20.0
type GrafanaServiceAccountSecretStatus struct {
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
}
GrafanaServiceAccountSecretStatus describes a Secret created in Kubernetes to store the service account token.
func (*GrafanaServiceAccountSecretStatus) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountSecretStatus) DeepCopy() *GrafanaServiceAccountSecretStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountSecretStatus.
func (*GrafanaServiceAccountSecretStatus) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountSecretStatus) DeepCopyInto(out *GrafanaServiceAccountSecretStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaServiceAccountSpec ¶ added in v5.20.0
type GrafanaServiceAccountSpec struct {
// How often the resource is synced, defaults to 10m0s if not set
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
// +kubebuilder:default="10m0s"
// +kubebuilder:validation:XValidation:rule="duration(self) > duration('0s')",message="spec.resyncPeriod must be greater than 0"
ResyncPeriod metav1.Duration `json:"resyncPeriod,omitempty"`
// Suspend pauses reconciliation of the service account
// +optional
// +kubebuilder:default=false
Suspend bool `json:"suspend,omitempty"`
// Name of the Grafana instance to create the service account for
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.instanceName is immutable"
InstanceName string `json:"instanceName"`
// Name of the service account in Grafana
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.name is immutable"
Name string `json:"name"`
// Role of the service account (Viewer, Editor, Admin)
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=Viewer;Editor;Admin
Role string `json:"role"`
// Whether the service account is disabled
// +optional
// +kubebuilder:default=false
IsDisabled bool `json:"isDisabled,omitempty"`
// Tokens to create for the service account
// +optional
// +listType=map
// +listMapKey=name
Tokens []GrafanaServiceAccountTokenSpec `json:"tokens,omitempty"`
}
GrafanaServiceAccountSpec defines the desired state of a GrafanaServiceAccount.
func (*GrafanaServiceAccountSpec) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountSpec) DeepCopy() *GrafanaServiceAccountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountSpec.
func (*GrafanaServiceAccountSpec) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountSpec) DeepCopyInto(out *GrafanaServiceAccountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaServiceAccountStatus ¶ added in v5.20.0
type GrafanaServiceAccountStatus struct {
GrafanaCommonStatus `json:",inline"`
// Info contains the Grafana service account information
Account *GrafanaServiceAccountInfo `json:"account,omitempty"`
}
GrafanaServiceAccountStatus defines the observed state of a GrafanaServiceAccount
func (*GrafanaServiceAccountStatus) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountStatus) DeepCopy() *GrafanaServiceAccountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountStatus.
func (*GrafanaServiceAccountStatus) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountStatus) DeepCopyInto(out *GrafanaServiceAccountStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaServiceAccountTokenSpec ¶ added in v5.20.0
type GrafanaServiceAccountTokenSpec struct {
// Name of the token
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Expiration date of the token. If not set, the token never expires
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Format=date-time
Expires *metav1.Time `json:"expires,omitempty"`
// Name of the secret to store the token. If not set, a name will be generated
// +optional
// +kubebuilder:validation:MinLength=1
SecretName string `json:"secretName,omitempty"`
}
GrafanaServiceAccountTokenSpec defines a token for a service account
func (*GrafanaServiceAccountTokenSpec) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountTokenSpec) DeepCopy() *GrafanaServiceAccountTokenSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountTokenSpec.
func (*GrafanaServiceAccountTokenSpec) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountTokenSpec) DeepCopyInto(out *GrafanaServiceAccountTokenSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaServiceAccountTokenStatus ¶ added in v5.20.0
type GrafanaServiceAccountTokenStatus struct {
Name string `json:"name"`
// Expiration time of the token
// N.B. There's possible discrepancy with the expiration time in spec
// It happens because Grafana API accepts TTL in seconds then calculates the expiration time against the current time
Expires *metav1.Time `json:"expires,omitempty"`
// ID of the token in Grafana
ID int64 `json:"id"`
// Name of the secret containing the token
Secret *GrafanaServiceAccountSecretStatus `json:"secret,omitempty"`
}
GrafanaServiceAccountTokenStatus describes a token created in Grafana.
func (*GrafanaServiceAccountTokenStatus) DeepCopy ¶ added in v5.20.0
func (in *GrafanaServiceAccountTokenStatus) DeepCopy() *GrafanaServiceAccountTokenStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaServiceAccountTokenStatus.
func (*GrafanaServiceAccountTokenStatus) DeepCopyInto ¶ added in v5.20.0
func (in *GrafanaServiceAccountTokenStatus) DeepCopyInto(out *GrafanaServiceAccountTokenStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaSpec ¶
type GrafanaSpec struct {
// +kubebuilder:pruning:PreserveUnknownFields
// Config defines how your grafana ini file should looks like.
Config map[string]map[string]string `json:"config,omitempty"`
// Ingress sets how the ingress object should look like with your grafana instance.
Ingress *IngressNetworkingV1 `json:"ingress,omitempty"`
// Route sets how the ingress object should look like with your grafana instance, this only works in Openshift.
Route *RouteOpenshiftV1 `json:"route,omitempty"`
// Service sets how the service object should look like with your grafana instance, contains a number of defaults.
Service *ServiceV1 `json:"service,omitempty"`
// Version specifies the version of Grafana to use for this deployment. It follows the same format as the docker.io/grafana/grafana tags
Version string `json:"version,omitempty"`
// Deployment sets how the deployment object should look like with your grafana instance, contains a number of defaults.
Deployment *DeploymentV1 `json:"deployment,omitempty"`
// PersistentVolumeClaim creates a PVC if you need to attach one to your grafana instance.
PersistentVolumeClaim *PersistentVolumeClaimV1 `json:"persistentVolumeClaim,omitempty"`
// ServiceAccount sets how the ServiceAccount object should look like with your grafana instance, contains a number of defaults.
ServiceAccount *ServiceAccountV1 `json:"serviceAccount,omitempty"`
// Client defines how the grafana-operator talks to the grafana instance.
Client *GrafanaClient `json:"client,omitempty"`
Jsonnet *JsonnetConfig `json:"jsonnet,omitempty"`
// External enables you to configure external grafana instances that is not managed by the operator.
External *External `json:"external,omitempty"`
// Preferences holds the Grafana Preferences settings
Preferences *GrafanaPreferences `json:"preferences,omitempty"`
// DisableDefaultAdminSecret prevents operator from creating default admin-credentials secret
DisableDefaultAdminSecret bool `json:"disableDefaultAdminSecret,omitempty"`
// Suspend pauses reconciliation of owned resources like deployments, Services, Etc. upon changes
// +optional
Suspend bool `json:"suspend,omitempty"`
// DisableDefaultSecurityContext prevents the operator from populating securityContext on deployments
// +kubebuilder:validation:Enum=Pod;Container;All
DisableDefaultSecurityContext string `json:"disableDefaultSecurityContext,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"`
AlertRuleGroups NamespacedResourceList `json:"alertRuleGroups,omitempty"`
ContactPoints NamespacedResourceList `json:"contactPoints,omitempty"`
Dashboards NamespacedResourceList `json:"dashboards,omitempty"`
Datasources NamespacedResourceList `json:"datasources,omitempty"`
ServiceAccounts NamespacedResourceList `json:"serviceaccounts,omitempty"`
Folders NamespacedResourceList `json:"folders,omitempty"`
LibraryPanels NamespacedResourceList `json:"libraryPanels,omitempty"`
MuteTimings NamespacedResourceList `json:"muteTimings,omitempty"`
NotificationTemplates NamespacedResourceList `json:"notificationTemplates,omitempty"`
Version string `json:"version,omitempty"`
Conditions []metav1.Condition `json:"conditions,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.
func (*GrafanaStatus) StatusList ¶ added in v5.19.0
func (in *GrafanaStatus) StatusList(cr client.Object) (*NamespacedResourceList, string, error)
type IngressNetworkingV1 ¶
type IngressNetworkingV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec *networkingv1.IngressSpec `json:"spec,omitempty"`
}
func (*IngressNetworkingV1) DeepCopy ¶
func (in *IngressNetworkingV1) DeepCopy() *IngressNetworkingV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressNetworkingV1.
func (*IngressNetworkingV1) DeepCopyInto ¶
func (in *IngressNetworkingV1) DeepCopyInto(out *IngressNetworkingV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InsecureEdgeTerminationPolicyType ¶ added in v5.18.0
type InsecureEdgeTerminationPolicyType string
InsecureEdgeTerminationPolicyType dictates the behavior of insecure connections to an edge-terminated route.
type JsonnetConfig ¶
type JsonnetConfig struct {
LibraryLabelSelector *metav1.LabelSelector `json:"libraryLabelSelector,omitempty"`
}
func (*JsonnetConfig) DeepCopy ¶
func (in *JsonnetConfig) DeepCopy() *JsonnetConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonnetConfig.
func (*JsonnetConfig) DeepCopyInto ¶
func (in *JsonnetConfig) DeepCopyInto(out *JsonnetConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JsonnetProjectBuild ¶
type JsonnetProjectBuild struct {
JPath []string `json:"jPath,omitempty"`
FileName string `json:"fileName"`
GzipJsonnetProject []byte `json:"gzipJsonnetProject"`
}
func (*JsonnetProjectBuild) DeepCopy ¶
func (in *JsonnetProjectBuild) DeepCopy() *JsonnetProjectBuild
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonnetProjectBuild.
func (*JsonnetProjectBuild) DeepCopyInto ¶
func (in *JsonnetProjectBuild) DeepCopyInto(out *JsonnetProjectBuild)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalObjectReference ¶ added in v5.18.0
type LocalObjectReference struct {
// name of the referent.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
// +optional
Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
}
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. +structType=atomic
func (*LocalObjectReference) DeepCopy ¶ added in v5.18.0
func (in *LocalObjectReference) DeepCopy() *LocalObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.
func (*LocalObjectReference) DeepCopyInto ¶ added in v5.18.0
func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Matcher ¶ added in v5.12.0
type Matcher struct {
// is equal
IsEqual bool `json:"isEqual,omitempty"`
// is regex
IsRegex bool `json:"isRegex"`
// name
Name *string `json:"name,omitempty"`
// value
Value string `json:"value"`
}
func (*Matcher) DeepCopy ¶ added in v5.12.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Matcher.
func (*Matcher) DeepCopyInto ¶ added in v5.12.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Matchers.
func (Matchers) DeepCopyInto ¶ added in v5.12.0
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
type NamespacedResource ¶
type NamespacedResource string
func NewNamespacedResource ¶ added in v5.19.0
func NewNamespacedResource(namespace, name, identifier string) NamespacedResource
func (NamespacedResource) Split ¶
func (in NamespacedResource) Split() (namespace, name, identifier string)
type NamespacedResourceImpl ¶ added in v5.19.0
+kubebuilder:object:generate=false
type NamespacedResourceList ¶
type NamespacedResourceList []NamespacedResource
func (NamespacedResourceList) DeepCopy ¶
func (in NamespacedResourceList) DeepCopy() NamespacedResourceList
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) (found bool, identifier *string)
func (NamespacedResourceList) IndexOf ¶ added in v5.19.0
func (in NamespacedResourceList) IndexOf(namespace string, name string) int
func (NamespacedResourceList) RemoveEntries ¶ added in v5.19.0
func (in NamespacedResourceList) RemoveEntries(toRemove *NamespacedResourceList) 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
func (in *NotificationSettings) DeepCopy() *NotificationSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationSettings.
func (*NotificationSettings) DeepCopyInto ¶ added in v5.9.1
func (in *NotificationSettings) DeepCopyInto(out *NotificationSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectMeta ¶
type ObjectMeta struct {
Annotations map[string]string `json:"annotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
func (*ObjectMeta) DeepCopy ¶
func (in *ObjectMeta) DeepCopy() *ObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMeta.
func (*ObjectMeta) DeepCopyInto ¶
func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectMeta) Merge ¶
func (override *ObjectMeta) Merge(meta metav1.ObjectMeta) metav1.ObjectMeta
Merge merges it's receivers values into the incoming ObjectMeta by overwriting values for existing keys and adding new ones.
type OpenshiftTLSConfig ¶ added in v5.18.0
type OpenshiftTLSConfig struct {
// termination indicates termination type.
//
// * edge - TLS termination is done by the router and http is used to communicate with the backend (default)
// * passthrough - Traffic is sent straight to the destination without the router providing TLS termination
// * reencrypt - TLS termination is done by the router and https is used to communicate with the backend
//
// Note: passthrough termination is incompatible with httpHeader actions
// +kubebuilder:validation:Enum=edge;reencrypt;passthrough
Termination TLSTerminationType `json:"termination" protobuf:"bytes,1,opt,name=termination,casttype=TLSTerminationType"`
// certificate provides certificate contents. This should be a single serving certificate, not a certificate
// chain. Do not include a CA certificate.
Certificate string `json:"certificate,omitempty" protobuf:"bytes,2,opt,name=certificate"`
// key provides key file contents
Key string `json:"key,omitempty" protobuf:"bytes,3,opt,name=key"`
// caCertificate provides the cert authority certificate contents
CACertificate string `json:"caCertificate,omitempty" protobuf:"bytes,4,opt,name=caCertificate"`
// destinationCACertificate provides the contents of the ca certificate of the final destination. When using reencrypt
// termination this file should be provided in order to have routers use it for health checks on the secure connection.
// If this field is not specified, the router may provide its own destination CA and perform hostname validation using
// the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically
// verify.
DestinationCACertificate string `json:"destinationCACertificate,omitempty" protobuf:"bytes,5,opt,name=destinationCACertificate"`
// insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While
// each router may make its own decisions on which ports to expose, this is normally port 80.
//
// If a route does not specify insecureEdgeTerminationPolicy, then the default behavior is "None".
//
// * Allow - traffic is sent to the server on the insecure port (edge/reencrypt terminations only).
//
// * None - no traffic is allowed on the insecure port (default).
//
// * Redirect - clients are redirected to the secure port.
//
// +kubebuilder:validation:Enum=Allow;None;Redirect;""
InsecureEdgeTerminationPolicy InsecureEdgeTerminationPolicyType `` /* 147-byte string literal not displayed */
// externalCertificate provides certificate contents as a secret reference.
// This should be a single serving certificate, not a certificate
// chain. Do not include a CA certificate. The secret referenced should
// be present in the same namespace as that of the Route.
// Forbidden when `certificate` is set.
// The router service account needs to be granted with read-only access to this secret,
// please refer to openshift docs for additional details.
//
// +openshift:enable:FeatureGate=RouteExternalCertificate
// +optional
ExternalCertificate *LocalObjectReference `json:"externalCertificate,omitempty" protobuf:"bytes,7,opt,name=externalCertificate"`
}
TLSConfig defines config used to secure a route and provide termination
+kubebuilder:validation:XValidation:rule="has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination=='passthrough') && (self.insecureEdgeTerminationPolicy=='Allow')) : true", message="cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow" +openshift:validation:FeatureGateAwareXValidation:featureGate=RouteExternalCertificate,rule="!(has(self.certificate) && has(self.externalCertificate))", message="cannot have both spec.tls.certificate and spec.tls.externalCertificate"
func (*OpenshiftTLSConfig) DeepCopy ¶ added in v5.18.0
func (in *OpenshiftTLSConfig) DeepCopy() *OpenshiftTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftTLSConfig.
func (*OpenshiftTLSConfig) DeepCopyInto ¶ added in v5.18.0
func (in *OpenshiftTLSConfig) DeepCopyInto(out *OpenshiftTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorReconcileVars ¶
type OperatorReconcileVars struct {
// used to restart the Grafana container when the config changes
ConfigHash string
// env var value for installed plugins
Plugins string
}
temporary values passed between reconciler stages
func (*OperatorReconcileVars) DeepCopy ¶
func (in *OperatorReconcileVars) DeepCopy() *OperatorReconcileVars
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 ¶
func (in *PersistentVolumeClaimV1) DeepCopy() *PersistentVolumeClaimV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimV1.
func (*PersistentVolumeClaimV1) DeepCopyInto ¶
func (in *PersistentVolumeClaimV1) DeepCopyInto(out *PersistentVolumeClaimV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimV1Spec ¶
type PersistentVolumeClaimV1Spec struct {
// +optional
AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,1,rep,name=accessModes,casttype=PersistentVolumeAccessMode"`
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,2,opt,name=resources"`
// VolumeName is the binding reference to the PersistentVolume backing this claim.
// +optional
VolumeName string `json:"volumeName,omitempty" protobuf:"bytes,3,opt,name=volumeName"`
// +optional
StorageClassName *string `json:"storageClassName,omitempty" protobuf:"bytes,5,opt,name=storageClassName"`
// +optional
VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"`
// +optional
DataSource *corev1.TypedLocalObjectReference `json:"dataSource,omitempty" protobuf:"bytes,7,opt,name=dataSource"`
// +optional
DataSourceRef *corev1.TypedLocalObjectReference `json:"dataSourceRef,omitempty" protobuf:"bytes,8,opt,name=dataSourceRef"`
}
func (*PersistentVolumeClaimV1Spec) DeepCopy ¶
func (in *PersistentVolumeClaimV1Spec) DeepCopy() *PersistentVolumeClaimV1Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimV1Spec.
func (*PersistentVolumeClaimV1Spec) DeepCopyInto ¶
func (in *PersistentVolumeClaimV1Spec) DeepCopyInto(out *PersistentVolumeClaimV1Spec)
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) Sanitize ¶
func (l PluginList) Sanitize() PluginList
Sanitize remove duplicates and enforce semver
func (PluginList) String ¶
func (l PluginList) String() string
type PluginMap ¶
type PluginMap map[string]GrafanaPlugin
Helps to simplify version consolidation
func NewPluginMap ¶ added in v5.20.0
func NewPluginMap() PluginMap
func NewPluginMapFromList ¶ added in v5.20.0
func NewPluginMapFromList(plugins PluginList) PluginMap
func (PluginMap) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginMap.
func (PluginMap) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PluginMap) GetPluginList ¶ added in v5.20.0
func (m PluginMap) GetPluginList() PluginList
func (PluginMap) Merge ¶ added in v5.20.0
func (m PluginMap) Merge(plugins PluginList)
type Record ¶ added in v5.18.0
type Record struct {
// +kubebuilder:validation:Required
From string `json:"from"`
// +kubebuilder:validation:Required
Metric string `json:"metric"`
}
func (*Record) DeepCopy ¶ added in v5.18.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Record.
func (*Record) DeepCopyInto ¶ added in v5.18.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route ¶ added in v5.12.0
type Route struct {
// continue
Continue bool `json:"continue,omitempty"`
// group by
GroupBy []string `json:"group_by,omitempty"`
// group interval
GroupInterval string `json:"group_interval,omitempty"`
// group wait
GroupWait string `json:"group_wait,omitempty"`
// match re
MatchRe models.MatchRegexps `json:"match_re,omitempty"`
// matchers
Matchers Matchers `json:"matchers,omitempty"`
// mute time intervals
MuteTimeIntervals []string `json:"mute_time_intervals,omitempty"`
// object matchers
ObjectMatchers models.ObjectMatchers `json:"object_matchers,omitempty"`
// provenance
Provenance models.Provenance `json:"provenance,omitempty"`
// receiver
// +kubebuilder:validation:MinLength=1
Receiver string `json:"receiver"`
// repeat interval
RepeatInterval string `json:"repeat_interval,omitempty"`
// selects GrafanaNotificationPolicyRoutes to merge in when specified
// mutually exclusive with Routes
RouteSelector *metav1.LabelSelector `json:"routeSelector,omitempty"`
// routes, mutually exclusive with RouteSelector
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Schemaless
Routes []*Route `json:"routes,omitempty"`
}
func (*Route) DeepCopy ¶ added in v5.12.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶ added in v5.12.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Route) HasRouteSelector ¶ added in v5.18.0
HasRouteSelector checks if the given Route or any of its nested Routes has a RouteSelector
func (*Route) IsRouteSelectorMutuallyExclusive ¶ added in v5.18.0
IsRouteSelectorMutuallyExclusive returns true when the route and all its sub-routes satisfy the constraint of routes and routeSelector being mutually exclusive
func (*Route) ToModelRoute ¶ added in v5.12.0
type RouteOpenShiftV1Spec ¶
type RouteOpenShiftV1Spec struct {
Host string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"`
To *RouteTargetReference `json:"to,omitempty" protobuf:"bytes,3,opt,name=to"`
AlternateBackends []RouteTargetReference `json:"alternateBackends,omitempty" protobuf:"bytes,4,rep,name=alternateBackends"`
Port *RoutePort `json:"port,omitempty" protobuf:"bytes,5,opt,name=port"`
TLS *OpenshiftTLSConfig `json:"tls,omitempty" protobuf:"bytes,6,opt,name=tls"`
// +optional
Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,8,opt,name=subdomain"`
WildcardPolicy WildcardPolicyType `json:"wildcardPolicy,omitempty" protobuf:"bytes,7,opt,name=wildcardPolicy"`
}
func (*RouteOpenShiftV1Spec) DeepCopy ¶
func (in *RouteOpenShiftV1Spec) DeepCopy() *RouteOpenShiftV1Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteOpenShiftV1Spec.
func (*RouteOpenShiftV1Spec) DeepCopyInto ¶
func (in *RouteOpenShiftV1Spec) DeepCopyInto(out *RouteOpenShiftV1Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteOpenshiftV1 ¶
type RouteOpenshiftV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec *RouteOpenShiftV1Spec `json:"spec,omitempty"`
}
func (*RouteOpenshiftV1) DeepCopy ¶
func (in *RouteOpenshiftV1) DeepCopy() *RouteOpenshiftV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteOpenshiftV1.
func (*RouteOpenshiftV1) DeepCopyInto ¶
func (in *RouteOpenshiftV1) DeepCopyInto(out *RouteOpenshiftV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoutePort ¶ added in v5.18.0
type RoutePort struct {
// The target port on pods selected by the service this route points to.
// If this is a string, it will be looked up as a named port in the target
// endpoints port list. Required
TargetPort intstr.IntOrString `json:"targetPort" protobuf:"bytes,1,opt,name=targetPort"`
}
RoutePort defines a port mapping from a router to an endpoint in the service endpoints.
func (*RoutePort) DeepCopy ¶ added in v5.18.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutePort.
func (*RoutePort) DeepCopyInto ¶ added in v5.18.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteTargetReference ¶ added in v5.18.0
type RouteTargetReference struct {
// The kind of target that the route is referring to. Currently, only 'Service' is allowed
//
// +kubebuilder:validation:Enum=Service;""
// +kubebuilder:default=Service
Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"`
// name of the service/target that is being referred to. e.g. name of the service
//
// +kubebuilder:validation:MinLength=1
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
// weight as an integer between 0 and 256, default 100, that specifies the target's relative weight
// against other target reference objects. 0 suppresses requests to this backend.
//
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=256
// +kubebuilder:default=100
Weight *int32 `json:"weight" protobuf:"varint,3,opt,name=weight"`
}
RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service' kind is allowed. Use 'weight' field to emphasize one over others.
func (*RouteTargetReference) DeepCopy ¶ added in v5.18.0
func (in *RouteTargetReference) DeepCopy() *RouteTargetReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTargetReference.
func (*RouteTargetReference) DeepCopyInto ¶ added in v5.18.0
func (in *RouteTargetReference) DeepCopyInto(out *RouteTargetReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountV1 ¶
type ServiceAccountV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Secrets []corev1.ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"`
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" protobuf:"bytes,3,rep,name=imagePullSecrets"`
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,4,opt,name=automountServiceAccountToken"`
}
func (*ServiceAccountV1) DeepCopy ¶
func (in *ServiceAccountV1) DeepCopy() *ServiceAccountV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountV1.
func (*ServiceAccountV1) DeepCopyInto ¶
func (in *ServiceAccountV1) DeepCopyInto(out *ServiceAccountV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceV1 ¶
type ServiceV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec *corev1.ServiceSpec `json:"spec,omitempty"`
}
func (*ServiceV1) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceV1.
func (*ServiceV1) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶ added in v5.15.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSTerminationType ¶ added in v5.18.0
type TLSTerminationType string
TLSTerminationType dictates where the secure communication will stop TODO: Reconsider this type in v2
type TimeInterval ¶ added in v5.18.0
type TimeInterval struct {
// The date 1-31 of a month. Negative values can also be used to represent days that begin at the end of the month.
// For example: -1 for the last day of the month.
// +optional
DaysOfMonth []string `json:"days_of_month,omitempty"`
// Depending on the location, the time range is displayed in local time.
// +optional
Location string `json:"location,omitempty"`
// The months of the year in either numerical or the full calendar month.
// For example: 1, may.
// +optional
Months []string `json:"months,omitempty"`
// The time inclusive of the start and exclusive of the end time (in UTC if no location has been selected, otherwise local time).
// +optional
Times []*TimeRange `json:"times,omitempty"`
// The day or range of days of the week.
// For example: monday, thursday
// +optional
Weekdays []string `json:"weekdays,omitempty"`
// The year or years for the interval.
// For example: 2021
// +optional
Years []string `json:"years,omitempty"`
}
func (*TimeInterval) DeepCopy ¶ added in v5.18.0
func (in *TimeInterval) DeepCopy() *TimeInterval
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeInterval.
func (*TimeInterval) DeepCopyInto ¶ added in v5.18.0
func (in *TimeInterval) DeepCopyInto(out *TimeInterval)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TimeRange ¶ added in v5.18.0
type TimeRange struct {
// start time
StartTime string `json:"start_time"`
// end time
EndTime string `json:"end_time"`
}
func (*TimeRange) DeepCopy ¶ added in v5.18.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeRange.
func (*TimeRange) DeepCopyInto ¶ added in v5.18.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueFrom.
func (*ValueFrom) DeepCopyInto ¶ added in v5.14.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueFromSource ¶ added in v5.14.0
type ValueFromSource struct {
// Selects a key of a ConfigMap.
// +optional
ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
// Selects a key of a Secret.
// +optional
SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}
+kubebuilder:validation:XValidation:rule="(has(self.configMapKeyRef) && !has(self.secretKeyRef)) || (!has(self.configMapKeyRef) && has(self.secretKeyRef))", message="Either configMapKeyRef or secretKeyRef must be set"
func (*ValueFromSource) DeepCopy ¶ added in v5.14.0
func (in *ValueFromSource) DeepCopy() *ValueFromSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueFromSource.
func (*ValueFromSource) DeepCopyInto ¶ added in v5.14.0
func (in *ValueFromSource) DeepCopyInto(out *ValueFromSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WildcardPolicyType ¶ added in v5.18.0
type WildcardPolicyType string
WildcardPolicyType indicates the type of wildcard support needed by routes.
const ( // WildcardPolicyNone indicates no wildcard support is needed. WildcardPolicyNone WildcardPolicyType = "None" // WildcardPolicySubdomain indicates the host needs wildcard support for the subdomain. // Example: For host = "www.acme.test", indicates that the router // should support requests for *.acme.test // Note that this will not match acme.test only *.acme.test WildcardPolicySubdomain WildcardPolicyType = "Subdomain" )
Source Files
¶
- common.go
- content.go
- grafana_types.go
- grafanaalertrulegroup_types.go
- grafanacontactpoint_types.go
- grafanadashboard_types.go
- grafanadatasource_types.go
- grafanafolder_types.go
- grafanalibrarypanel_types.go
- grafanamutetiming_types.go
- grafananotificationpolicy_types.go
- grafananotificationpolicyroute_types.go
- grafananotificationtemplate_types.go
- grafanaserviceaccount_types.go
- groupversion_info.go
- namespaced_resource.go
- plugin_list.go
- typeoverrides.go
- zz_generated.deepcopy.go