Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the grafana v1beta1 API group +kubebuilder:object:generate=true +groupName=grafana.integreatly.org
Index ¶
- Variables
- func Gunzip(compressed []byte) ([]byte, error)
- func Gzip(content []byte) ([]byte, error)
- func Merge(base, overrides interface{}) error
- type DashboardSourceType
- type DeploymentV1
- type DeploymentV1PodSpec
- type DeploymentV1PodTemplateSpec
- type DeploymentV1Spec
- type External
- type Grafana
- type GrafanaClient
- type GrafanaComDashboardReference
- type GrafanaDashboard
- func (in *GrafanaDashboard) DeepCopy() *GrafanaDashboard
- func (in *GrafanaDashboard) DeepCopyInto(out *GrafanaDashboard)
- func (in *GrafanaDashboard) DeepCopyObject() runtime.Object
- func (in *GrafanaDashboard) GetContentCache() []byte
- func (in *GrafanaDashboard) GetResyncPeriod() time.Duration
- func (in *GrafanaDashboard) GetSourceTypes() []DashboardSourceType
- func (in *GrafanaDashboard) IsAllowCrossNamespaceImport() bool
- func (in *GrafanaDashboard) IsUpdatedUID(uid string) bool
- func (in *GrafanaDashboard) ResyncPeriodHasElapsed() bool
- func (in *GrafanaDashboard) Unchanged(hash string) bool
- type GrafanaDashboardDatasource
- type GrafanaDashboardEnv
- type GrafanaDashboardEnvFromSource
- type GrafanaDashboardList
- type GrafanaDashboardSpec
- type GrafanaDashboardStatus
- type GrafanaDatasource
- func (in *GrafanaDatasource) DeepCopy() *GrafanaDatasource
- func (in *GrafanaDatasource) DeepCopyInto(out *GrafanaDatasource)
- func (in *GrafanaDatasource) DeepCopyObject() runtime.Object
- func (in *GrafanaDatasource) ExpandVariables(variables map[string][]byte) ([]byte, error)
- func (in *GrafanaDatasource) GetResyncPeriod() time.Duration
- func (in *GrafanaDatasource) IsAllowCrossNamespaceImport() bool
- func (in *GrafanaDatasource) IsUpdatedUID(uid string) bool
- func (in *GrafanaDatasource) ResyncPeriodHasElapsed() bool
- func (in *GrafanaDatasource) Unchanged(hash string) bool
- type GrafanaDatasourceInternal
- type GrafanaDatasourceList
- type GrafanaDatasourceSpec
- type GrafanaDatasourceStatus
- type GrafanaDatasourceValueFrom
- type GrafanaDatasourceValueFromSource
- type GrafanaFolder
- func (in *GrafanaFolder) DeepCopy() *GrafanaFolder
- func (in *GrafanaFolder) DeepCopyInto(out *GrafanaFolder)
- func (in *GrafanaFolder) DeepCopyObject() runtime.Object
- func (in *GrafanaFolder) GetResyncPeriod() time.Duration
- func (in *GrafanaFolder) GetTitle() string
- func (in *GrafanaFolder) Hash() string
- func (in *GrafanaFolder) IsAllowCrossNamespaceImport() bool
- func (in *GrafanaFolder) ResyncPeriodHasElapsed() bool
- func (in *GrafanaFolder) Unchanged() bool
- type GrafanaFolderList
- type GrafanaFolderSpec
- type GrafanaFolderStatus
- type GrafanaList
- type GrafanaPlugin
- type GrafanaPreferences
- type GrafanaSpec
- type GrafanaStatus
- type IngressNetworkingV1
- type JsonnetConfig
- type JsonnetProjectBuild
- type NamespacedResource
- type NamespacedResourceList
- func (in NamespacedResourceList) Add(namespace string, name string, uid string) NamespacedResourceList
- func (in NamespacedResourceList) DeepCopy() NamespacedResourceList
- func (in NamespacedResourceList) DeepCopyInto(out *NamespacedResourceList)
- func (in NamespacedResourceList) Find(namespace string, name string) (bool, *string)
- func (in NamespacedResourceList) ForNamespace(namespace string) NamespacedResourceList
- func (in NamespacedResourceList) Remove(namespace string, name string) NamespacedResourceList
- type ObjectMeta
- type OperatorReconcileVars
- type OperatorStageName
- type OperatorStageStatus
- type PersistentVolumeClaimV1
- type PersistentVolumeClaimV1Spec
- type PluginList
- func (in PluginList) DeepCopy() PluginList
- func (in PluginList) DeepCopyInto(out *PluginList)
- func (l PluginList) GetInstalledVersionOf(plugin *GrafanaPlugin) *GrafanaPlugin
- func (l PluginList) HasExactVersionOf(plugin *GrafanaPlugin) bool
- func (l PluginList) HasNewerVersionOf(plugin *GrafanaPlugin) (bool, error)
- func (l PluginList) HasSomeVersionOf(plugin *GrafanaPlugin) bool
- func (l PluginList) Hash() string
- func (l PluginList) Sanitize() PluginList
- func (l PluginList) String() string
- func (l PluginList) Update(plugin *GrafanaPlugin)
- func (l PluginList) VersionsOf(plugin *GrafanaPlugin) int
- type PluginMap
- type RouteOpenShiftV1Spec
- type RouteOpenshiftV1
- type ServiceAccountV1
- type ServiceV1
Constants ¶
This section is empty.
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 Merge ¶
func Merge(base, overrides interface{}) error
Merge merges `overrides` into `base` using the SMP (structural merge patch) approach. - It intentionally does not remove fields present in base but missing from overrides - It merges slices only if the `patchStrategy:"merge"` tag is present and the `patchMergeKey` identifies the unique field
Types ¶
type DashboardSourceType ¶
type DashboardSourceType string
const ( DashboardSourceTypeRawJson DashboardSourceType = "json" DashboardSourceTypeGzipJson DashboardSourceType = "gzipJson" DashboardSourceJsonnetProject DashboardSourceType = "jsonnetProjectWithRuntimeRaw" DashboardSourceTypeUrl DashboardSourceType = "url" DashboardSourceTypeJsonnet DashboardSourceType = "jsonnet" DashboardSourceTypeGrafanaCom DashboardSourceType = "grafana" DashboardSourceConfigMap DashboardSourceType = "configmap" DefaultResyncPeriod = "5m" )
type DeploymentV1 ¶
type DeploymentV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec DeploymentV1Spec `json:"spec,omitempty"`
}
func (*DeploymentV1) DeepCopy ¶
func (in *DeploymentV1) DeepCopy() *DeploymentV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1.
func (*DeploymentV1) DeepCopyInto ¶
func (in *DeploymentV1) DeepCopyInto(out *DeploymentV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentV1PodSpec ¶
type DeploymentV1PodSpec struct {
// +optional
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
Volumes []v14.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
// +patchMergeKey=name
// +patchStrategy=merge
// +optional
InitContainers []v14.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
// +patchMergeKey=name
// +patchStrategy=merge
// +optional
Containers []v14.Container `json:"containers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
EphemeralContainers []v14.EphemeralContainer `` /* 128-byte string literal not displayed */
// +optional
RestartPolicy v14.RestartPolicy `json:"restartPolicy,omitempty" protobuf:"bytes,3,opt,name=restartPolicy,casttype=RestartPolicy"`
// +optional
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,4,opt,name=terminationGracePeriodSeconds"`
// +optional
ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,5,opt,name=activeDeadlineSeconds"`
// +optional
DNSPolicy v14.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
// NodeSelector is a selector which must be true for the pod to fit on a node.
// Selector which must match a node's labels for the pod to be scheduled on that node.
// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +optional
// +mapType=atomic
NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`
// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"`
// DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
// Deprecated: Use serviceAccountName instead.
// +k8s:conversion-gen=false
// +optional
DeprecatedServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,9,opt,name=serviceAccount"`
// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,21,opt,name=automountServiceAccountToken"`
// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
// the scheduler simply schedules this pod onto that node, assuming that it fits resource
// requirements.
// +optional
NodeName string `json:"nodeName,omitempty" protobuf:"bytes,10,opt,name=nodeName"`
// Host networking requested for this pod. Use the host's network namespace.
// If this option is set, the ports that will be used must be specified.
// Default to false.
// +k8s:conversion-gen=false
// +optional
HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
// Use the host's pid namespace.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"`
// Use the host's ipc namespace.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"`
// When this is set containers will be able to view and signal processes from other containers
// in the same pod, and the first process in each container will not be assigned PID 1.
// HostPID and ShareProcessNamespace cannot both be set.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
// SecurityContext holds pod-level security attributes and common container settings.
// Optional: Defaults to empty. See type description for default values of each field.
// +optional
SecurityContext *v14.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"`
// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
// If specified, these secrets will be passed to individual puller implementations for them to use.
// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
ImagePullSecrets []v14.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"`
// Specifies the hostname of the Pod
// If not specified, the pod's hostname will be set to a system-defined value.
// +optional
Hostname string `json:"hostname,omitempty" protobuf:"bytes,16,opt,name=hostname"`
// If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
// If not specified, the pod will not have a domainname at all.
// +optional
Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,17,opt,name=subdomain"`
// If specified, the pod's scheduling constraints
// +optional
Affinity *v14.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"`
// If specified, the pod will be dispatched by specified scheduler.
// If not specified, the pod will be dispatched by default scheduler.
// +optional
SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"`
// If specified, the pod's tolerations.
// +optional
Tolerations []v14.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
// file if specified. This is only valid for non-hostNetwork pods.
// +optional
// +patchMergeKey=ip
// +patchStrategy=merge
HostAliases []v14.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"`
// If specified, indicates the pod's priority. "system-node-critical" and
// "system-cluster-critical" are two special keywords which indicate the
// highest priorities with the former being the highest priority. Any other
// name must be defined by creating a PriorityClass object with that name.
// If not specified, the pod priority will be default or zero if there is no
// default.
// +optional
PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"`
// The priority value. Various system components use this field to find the
// priority of the pod. When Priority Admission Controller is enabled, it
// prevents users from setting this field. The admission controller populates
// this field from PriorityClassName.
// The higher the value, the higher the priority.
// +optional
Priority *int32 `json:"priority,omitempty" protobuf:"bytes,25,opt,name=priority"`
// Specifies the DNS parameters of a pod.
// Parameters specified here will be merged to the generated DNS
// configuration based on DNSPolicy.
// +optional
DNSConfig *v14.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
// If specified, all readiness gates will be evaluated for pod readiness.
// A pod is ready when all its containers are ready AND
// all conditions specified in the readiness gates have status equal to "True"
// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
// +optional
ReadinessGates []v14.PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
// empty definition that uses the default runtime handler.
// More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
// +optional
RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
// EnableServiceLinks indicates whether information about services should be injected into pod's
// environment variables, matching the syntax of Docker links.
// Optional: Defaults to true.
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
// PreemptionPolicy is the Policy for preempting pods with lower priority.
// One of Never, PreemptLowerPriority.
// Defaults to PreemptLowerPriority if unset.
// +optional
PreemptionPolicy *v14.PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
// This field will be autopopulated at admission time by the RuntimeClass admission controller. If
// the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.
// The RuntimeClass admission controller will reject Pod create requests which have the overhead already
// set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value
// defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.
// More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
// +optional
Overhead v14.ResourceList `json:"overhead,omitempty" protobuf:"bytes,32,opt,name=overhead"`
// TopologySpreadConstraints describes how a group of pods ought to spread across topology
// domains. Scheduler will schedule pods in a way which abides by the constraints.
// All topologySpreadConstraints are ANDed.
// +optional
// +patchMergeKey=topologyKey
// +patchStrategy=merge
// +listType=map
// +listMapKey=topologyKey
// +listMapKey=whenUnsatisfiable
TopologySpreadConstraints []v14.TopologySpreadConstraint `` /* 147-byte string literal not displayed */
// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
// If a pod does not have FQDN, this has no effect.
// Default to false.
// +optional
SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty" protobuf:"varint,35,opt,name=setHostnameAsFQDN"`
// Specifies the OS of the containers in the pod.
// Some pod and container fields are restricted if this is set.
//
// If the OS field is set to linux, the following fields must be unset:
// -securityContext.windowsOptions
//
// If the OS field is set to windows, following fields must be unset:
// - spec.hostPID
// - spec.hostIPC
// - spec.hostUsers
// - spec.securityContext.seLinuxOptions
// - spec.securityContext.seccompProfile
// - spec.securityContext.fsGroup
// - spec.securityContext.fsGroupChangePolicy
// - spec.securityContext.sysctls
// - spec.shareProcessNamespace
// - spec.securityContext.runAsUser
// - spec.securityContext.runAsGroup
// - spec.securityContext.supplementalGroups
// - spec.containers[*].securityContext.seLinuxOptions
// - spec.containers[*].securityContext.seccompProfile
// - spec.containers[*].securityContext.capabilities
// - spec.containers[*].securityContext.readOnlyRootFilesystem
// - spec.containers[*].securityContext.privileged
// - spec.containers[*].securityContext.allowPrivilegeEscalation
// - spec.containers[*].securityContext.procMount
// - spec.containers[*].securityContext.runAsUser
// - spec.containers[*].securityContext.runAsGroup
// +optional
OS *v14.PodOS `json:"os,omitempty" protobuf:"bytes,36,opt,name=os"`
// Use the host's user namespace.
// Optional: Default to true.
// If set to true or not present, the pod will be run in the host user namespace, useful
// for when the pod needs a feature only available to the host user namespace, such as
// loading a kernel module with CAP_SYS_MODULE.
// When set to false, a new userns is created for the pod. Setting false is useful for
// mitigating container breakout vulnerabilities even allowing users to run their
// containers as root without actually having root privileges on the host.
// This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
// +k8s:conversion-gen=false
// +optional
HostUsers *bool `json:"hostUsers,omitempty" protobuf:"bytes,37,opt,name=hostUsers"`
}
func (*DeploymentV1PodSpec) DeepCopy ¶
func (in *DeploymentV1PodSpec) DeepCopy() *DeploymentV1PodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1PodSpec.
func (*DeploymentV1PodSpec) DeepCopyInto ¶
func (in *DeploymentV1PodSpec) DeepCopyInto(out *DeploymentV1PodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentV1PodTemplateSpec ¶
type DeploymentV1PodTemplateSpec struct {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the pod.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Spec *DeploymentV1PodSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
func (*DeploymentV1PodTemplateSpec) DeepCopy ¶
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 *v13.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys" protobuf:"bytes,4,opt,name=strategy"`
// +optional
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"`
// +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,6,opt,name=revisionHistoryLimit"`
// +optional
Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"`
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}
func (*DeploymentV1Spec) DeepCopy ¶
func (in *DeploymentV1Spec) DeepCopy() *DeploymentV1Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentV1Spec.
func (*DeploymentV1Spec) DeepCopyInto ¶
func (in *DeploymentV1Spec) DeepCopyInto(out *DeploymentV1Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type External ¶
type External struct {
// URL of the external grafana instance you want to manage.
URL string `json:"url"`
// The API key to talk to the external grafana instance, you need to define ether apiKey or adminUser/adminPassword.
ApiKey *v1.SecretKeySelector `json:"apiKey,omitempty"`
// AdminUser key to talk to the external grafana instance.
AdminUser *v1.SecretKeySelector `json:"adminUser,omitempty"`
// AdminPassword key to talk to the external grafana instance.
AdminPassword *v1.SecretKeySelector `json:"adminPassword,omitempty"`
}
func (*External) DeepCopy ¶
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,omitempty"`
Status GrafanaStatus `json:"status,omitempty"`
}
Grafana is the Schema for the grafanas API +kubebuilder:printcolumn:name="Stage",type="string",JSONPath=".status.stage",description="" +kubebuilder:printcolumn:name="Stage status",type="string",JSONPath=".status.stageStatus",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""
func (*Grafana) DeepCopy ¶
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) IsExternal ¶
func (*Grafana) IsInternal ¶
func (*Grafana) PreferIngress ¶
type GrafanaClient ¶
type GrafanaClient struct {
// +nullable
TimeoutSeconds *int `json:"timeout,omitempty"`
// +nullable
// If the operator should send it's request through the grafana instances ingress object instead of through the service.
PreferIngress *bool `json:"preferIngress,omitempty"`
}
GrafanaClient contains the Grafana API client settings
func (*GrafanaClient) DeepCopy ¶
func (in *GrafanaClient) DeepCopy() *GrafanaClient
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaClient.
func (*GrafanaClient) DeepCopyInto ¶
func (in *GrafanaClient) DeepCopyInto(out *GrafanaClient)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaComDashboardReference ¶
type GrafanaComDashboardReference struct {
Id int `json:"id"`
Revision *int `json:"revision,omitempty"`
}
GrafanaComDashbooardReference is a reference to a dashboard on grafana.com/dashboards
func (*GrafanaComDashboardReference) DeepCopy ¶
func (in *GrafanaComDashboardReference) DeepCopy() *GrafanaComDashboardReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaComDashboardReference.
func (*GrafanaComDashboardReference) DeepCopyInto ¶
func (in *GrafanaComDashboardReference) DeepCopyInto(out *GrafanaComDashboardReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDashboard ¶
type GrafanaDashboard struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaDashboardSpec `json:"spec,omitempty"`
Status GrafanaDashboardStatus `json:"status,omitempty"`
}
GrafanaDashboard is the Schema for the grafanadashboards API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""
func (*GrafanaDashboard) DeepCopy ¶
func (in *GrafanaDashboard) DeepCopy() *GrafanaDashboard
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboard.
func (*GrafanaDashboard) DeepCopyInto ¶
func (in *GrafanaDashboard) DeepCopyInto(out *GrafanaDashboard)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaDashboard) DeepCopyObject ¶
func (in *GrafanaDashboard) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaDashboard) GetContentCache ¶
func (in *GrafanaDashboard) GetContentCache() []byte
func (*GrafanaDashboard) GetResyncPeriod ¶
func (in *GrafanaDashboard) GetResyncPeriod() time.Duration
func (*GrafanaDashboard) GetSourceTypes ¶
func (in *GrafanaDashboard) GetSourceTypes() []DashboardSourceType
func (*GrafanaDashboard) IsAllowCrossNamespaceImport ¶
func (in *GrafanaDashboard) IsAllowCrossNamespaceImport() bool
func (*GrafanaDashboard) IsUpdatedUID ¶
func (in *GrafanaDashboard) IsUpdatedUID(uid string) bool
func (*GrafanaDashboard) ResyncPeriodHasElapsed ¶
func (in *GrafanaDashboard) ResyncPeriodHasElapsed() bool
func (*GrafanaDashboard) Unchanged ¶
func (in *GrafanaDashboard) Unchanged(hash string) bool
type GrafanaDashboardDatasource ¶
type GrafanaDashboardDatasource struct {
InputName string `json:"inputName"`
DatasourceName string `json:"datasourceName"`
}
func (*GrafanaDashboardDatasource) DeepCopy ¶
func (in *GrafanaDashboardDatasource) DeepCopy() *GrafanaDashboardDatasource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardDatasource.
func (*GrafanaDashboardDatasource) DeepCopyInto ¶
func (in *GrafanaDashboardDatasource) DeepCopyInto(out *GrafanaDashboardDatasource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDashboardEnv ¶
type GrafanaDashboardEnv struct {
Name string `json:"name"`
// Inline evn value
// +optional
Value string `json:"value,omitempty"`
// Reference on value source, might be the reference on a secret or config map
// +optional
ValueFrom GrafanaDashboardEnvFromSource `json:"valueFrom,omitempty"`
}
func (*GrafanaDashboardEnv) DeepCopy ¶
func (in *GrafanaDashboardEnv) DeepCopy() *GrafanaDashboardEnv
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardEnv.
func (*GrafanaDashboardEnv) DeepCopyInto ¶
func (in *GrafanaDashboardEnv) DeepCopyInto(out *GrafanaDashboardEnv)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDashboardEnvFromSource ¶
type GrafanaDashboardEnvFromSource struct {
// Selects a key of a ConfigMap.
// +optional
ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
// Selects a key of a Secret.
// +optional
SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}
func (*GrafanaDashboardEnvFromSource) DeepCopy ¶
func (in *GrafanaDashboardEnvFromSource) DeepCopy() *GrafanaDashboardEnvFromSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDashboardEnvFromSource.
func (*GrafanaDashboardEnvFromSource) DeepCopyInto ¶
func (in *GrafanaDashboardEnvFromSource) DeepCopyInto(out *GrafanaDashboardEnvFromSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDashboardList ¶
type GrafanaDashboardList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaDashboard `json:"items"`
}
GrafanaDashboardList contains a list of GrafanaDashboard
func (*GrafanaDashboardList) DeepCopy ¶
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) Find ¶
func (in *GrafanaDashboardList) Find(namespace string, name string) *GrafanaDashboard
type GrafanaDashboardSpec ¶
type GrafanaDashboardSpec struct {
// dashboard json
// +optional
Json string `json:"json,omitempty"`
// GzipJson the dashboard's JSON compressed with Gzip. Base64-encoded when in YAML.
// +optional
GzipJson []byte `json:"gzipJson,omitempty"`
// dashboard url
// +optional
Url string `json:"url,omitempty"`
// Jsonnet
// +optional
Jsonnet string `json:"jsonnet,omitempty"`
// Jsonnet project build
JsonnetProjectBuild *JsonnetProjectBuild `json:"jsonnetLib,omitempty"`
// grafana.com/dashboards
// +optional
GrafanaCom *GrafanaComDashboardReference `json:"grafanaCom,omitempty"`
// dashboard from configmap
// +optional
ConfigMapRef *v1.ConfigMapKeySelector `json:"configMapRef,omitempty"`
// selects Grafanas for import
InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`
// folder assignment for dashboard
// +optional
FolderTitle string `json:"folder,omitempty"`
// plugins
// +optional
Plugins PluginList `json:"plugins,omitempty"`
// Cache duration for dashboards fetched from URLs
// +optional
ContentCacheDuration metav1.Duration `json:"contentCacheDuration,omitempty"`
// how often the dashboard is refreshed, defaults to 5m if not set
// +optional
ResyncPeriod string `json:"resyncPeriod,omitempty"`
// maps required data sources to existing ones
// +optional
Datasources []GrafanaDashboardDatasource `json:"datasources,omitempty"`
// allow to import this resources from an operator in a different namespace
// +optional
AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`
// environments variables as a map
// +optional
Envs []GrafanaDashboardEnv `json:"envs,omitempty"`
// environments variables from secrets or config maps
// +optional
EnvsFrom []GrafanaDashboardEnvFromSource `json:"envFrom,omitempty"`
}
GrafanaDashboardSpec defines the desired state of GrafanaDashboard
func (*GrafanaDashboardSpec) DeepCopy ¶
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 {
ContentCache []byte `json:"contentCache,omitempty"`
ContentTimestamp metav1.Time `json:"contentTimestamp,omitempty"`
ContentUrl string `json:"contentUrl,omitempty"`
Hash string `json:"hash,omitempty"`
// The dashboard instanceSelector can't find matching grafana instances
NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
// Last time the dashboard was resynced
LastResync metav1.Time `json:"lastResync,omitempty"`
UID string `json:"uid,omitempty"`
}
GrafanaDashboardStatus defines the observed state of GrafanaDashboard
func (*GrafanaDashboardStatus) DeepCopy ¶
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,omitempty"`
Status GrafanaDatasourceStatus `json:"status,omitempty"`
}
GrafanaDatasource is the Schema for the grafanadatasources API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Last resync",type="date",format="date-time",JSONPath=".status.lastResync",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""
func (*GrafanaDatasource) DeepCopy ¶
func (in *GrafanaDatasource) DeepCopy() *GrafanaDatasource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasource.
func (*GrafanaDatasource) DeepCopyInto ¶
func (in *GrafanaDatasource) DeepCopyInto(out *GrafanaDatasource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaDatasource) DeepCopyObject ¶
func (in *GrafanaDatasource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaDatasource) ExpandVariables ¶
func (in *GrafanaDatasource) ExpandVariables(variables map[string][]byte) ([]byte, error)
func (*GrafanaDatasource) GetResyncPeriod ¶
func (in *GrafanaDatasource) GetResyncPeriod() time.Duration
func (*GrafanaDatasource) IsAllowCrossNamespaceImport ¶
func (in *GrafanaDatasource) IsAllowCrossNamespaceImport() bool
func (*GrafanaDatasource) IsUpdatedUID ¶
func (in *GrafanaDatasource) IsUpdatedUID(uid string) bool
func (*GrafanaDatasource) ResyncPeriodHasElapsed ¶
func (in *GrafanaDatasource) ResyncPeriodHasElapsed() bool
func (*GrafanaDatasource) Unchanged ¶
func (in *GrafanaDatasource) Unchanged(hash string) bool
type GrafanaDatasourceInternal ¶
type GrafanaDatasourceInternal struct {
UID string `json:"uid,omitempty"`
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
URL string `json:"url,omitempty"`
Access string `json:"access,omitempty"`
Database string `json:"database,omitempty"`
User string `json:"user,omitempty"`
OrgID *int64 `json:"orgId,omitempty"`
IsDefault *bool `json:"isDefault,omitempty"`
BasicAuth *bool `json:"basicAuth,omitempty"`
BasicAuthUser string `json:"basicAuthUser,omitempty"`
Editable *bool `json:"editable,omitempty"`
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
// +optional
JSONData json.RawMessage `json:"jsonData,omitempty"`
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:Type=object
// +optional
SecureJSONData json.RawMessage `json:"secureJsonData,omitempty"`
}
func (*GrafanaDatasourceInternal) DeepCopy ¶
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) Find ¶
func (in *GrafanaDatasourceList) Find(namespace string, name string) *GrafanaDatasource
type GrafanaDatasourceSpec ¶
type GrafanaDatasourceSpec struct {
Datasource *GrafanaDatasourceInternal `json:"datasource"`
// selects Grafana instances for import
InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`
// plugins
// +optional
Plugins PluginList `json:"plugins,omitempty"`
// environments variables from secrets or config maps
// +optional
ValuesFrom []GrafanaDatasourceValueFrom `json:"valuesFrom,omitempty"`
// how often the datasource is refreshed, defaults to 5m if not set
// +optional
ResyncPeriod string `json:"resyncPeriod,omitempty"`
// allow to import this resources from an operator in a different namespace
// +optional
AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`
}
GrafanaDatasourceSpec defines the desired state of GrafanaDatasource
func (*GrafanaDatasourceSpec) DeepCopy ¶
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 {
Hash string `json:"hash,omitempty"`
LastMessage string `json:"lastMessage,omitempty"`
// The datasource instanceSelector can't find matching grafana instances
NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
// Last time the datasource was resynced
LastResync metav1.Time `json:"lastResync,omitempty"`
UID string `json:"uid,omitempty"`
}
GrafanaDatasourceStatus defines the observed state of GrafanaDatasource
func (*GrafanaDatasourceStatus) DeepCopy ¶
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 GrafanaDatasourceValueFrom ¶
type GrafanaDatasourceValueFrom struct {
TargetPath string `json:"targetPath"`
ValueFrom GrafanaDatasourceValueFromSource `json:"valueFrom"`
}
func (*GrafanaDatasourceValueFrom) DeepCopy ¶
func (in *GrafanaDatasourceValueFrom) DeepCopy() *GrafanaDatasourceValueFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceValueFrom.
func (*GrafanaDatasourceValueFrom) DeepCopyInto ¶
func (in *GrafanaDatasourceValueFrom) DeepCopyInto(out *GrafanaDatasourceValueFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaDatasourceValueFromSource ¶
type GrafanaDatasourceValueFromSource struct {
// Selects a key of a ConfigMap.
// +optional
ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
// Selects a key of a Secret.
// +optional
SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}
func (*GrafanaDatasourceValueFromSource) DeepCopy ¶
func (in *GrafanaDatasourceValueFromSource) DeepCopy() *GrafanaDatasourceValueFromSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaDatasourceValueFromSource.
func (*GrafanaDatasourceValueFromSource) DeepCopyInto ¶
func (in *GrafanaDatasourceValueFromSource) DeepCopyInto(out *GrafanaDatasourceValueFromSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaFolder ¶
type GrafanaFolder struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GrafanaFolderSpec `json:"spec,omitempty"`
Status GrafanaFolderStatus `json:"status,omitempty"`
}
GrafanaFolder is the Schema for the grafanafolders API +kubebuilder:printcolumn:name="No matching instances",type="boolean",JSONPath=".status.NoMatchingInstances",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description=""
func (*GrafanaFolder) DeepCopy ¶
func (in *GrafanaFolder) DeepCopy() *GrafanaFolder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolder.
func (*GrafanaFolder) DeepCopyInto ¶
func (in *GrafanaFolder) DeepCopyInto(out *GrafanaFolder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaFolder) DeepCopyObject ¶
func (in *GrafanaFolder) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaFolder) GetResyncPeriod ¶
func (in *GrafanaFolder) GetResyncPeriod() time.Duration
func (*GrafanaFolder) GetTitle ¶
func (in *GrafanaFolder) GetTitle() string
func (*GrafanaFolder) Hash ¶
func (in *GrafanaFolder) Hash() string
func (*GrafanaFolder) IsAllowCrossNamespaceImport ¶
func (in *GrafanaFolder) IsAllowCrossNamespaceImport() bool
func (*GrafanaFolder) ResyncPeriodHasElapsed ¶
func (in *GrafanaFolder) ResyncPeriodHasElapsed() bool
func (*GrafanaFolder) Unchanged ¶
func (in *GrafanaFolder) Unchanged() bool
type GrafanaFolderList ¶
type GrafanaFolderList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GrafanaFolder `json:"items"`
}
GrafanaFolderList contains a list of GrafanaFolder
func (*GrafanaFolderList) DeepCopy ¶
func (in *GrafanaFolderList) DeepCopy() *GrafanaFolderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderList.
func (*GrafanaFolderList) DeepCopyInto ¶
func (in *GrafanaFolderList) DeepCopyInto(out *GrafanaFolderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaFolderList) DeepCopyObject ¶
func (in *GrafanaFolderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GrafanaFolderList) Find ¶
func (in *GrafanaFolderList) Find(namespace string, name string) *GrafanaFolder
type GrafanaFolderSpec ¶
type GrafanaFolderSpec struct {
// +optional
Title string `json:"title,omitempty"`
// raw json with folder permissions
// +optional
Permissions string `json:"permissions,omitempty"`
// selects Grafanas for import
InstanceSelector *metav1.LabelSelector `json:"instanceSelector"`
// allow to import this resources from an operator in a different namespace
// +optional
AllowCrossNamespaceImport *bool `json:"allowCrossNamespaceImport,omitempty"`
// how often the folder is synced, defaults to 5m if not set
// +optional
ResyncPeriod string `json:"resyncPeriod,omitempty"`
}
GrafanaFolderSpec defines the desired state of GrafanaFolder
func (*GrafanaFolderSpec) DeepCopy ¶
func (in *GrafanaFolderSpec) DeepCopy() *GrafanaFolderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderSpec.
func (*GrafanaFolderSpec) DeepCopyInto ¶
func (in *GrafanaFolderSpec) DeepCopyInto(out *GrafanaFolderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaFolderStatus ¶
type GrafanaFolderStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
Hash string `json:"hash,omitempty"`
// The folder instanceSelector can't find matching grafana instances
NoMatchingInstances bool `json:"NoMatchingInstances,omitempty"`
// Last time the folder was resynced
LastResync metav1.Time `json:"lastResync,omitempty"`
}
GrafanaFolderStatus defines the observed state of GrafanaFolder
func (*GrafanaFolderStatus) DeepCopy ¶
func (in *GrafanaFolderStatus) DeepCopy() *GrafanaFolderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaFolderStatus.
func (*GrafanaFolderStatus) DeepCopyInto ¶
func (in *GrafanaFolderStatus) DeepCopyInto(out *GrafanaFolderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaList ¶
type GrafanaList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Grafana `json:"items"`
}
GrafanaList contains a list of Grafana
func (*GrafanaList) DeepCopy ¶
func (in *GrafanaList) DeepCopy() *GrafanaList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaList.
func (*GrafanaList) DeepCopyInto ¶
func (in *GrafanaList) DeepCopyInto(out *GrafanaList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrafanaList) DeepCopyObject ¶
func (in *GrafanaList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GrafanaPlugin ¶
func (*GrafanaPlugin) DeepCopy ¶
func (in *GrafanaPlugin) DeepCopy() *GrafanaPlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaPlugin.
func (*GrafanaPlugin) DeepCopyInto ¶
func (in *GrafanaPlugin) DeepCopyInto(out *GrafanaPlugin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaPreferences ¶
type GrafanaPreferences struct {
HomeDashboardUID string `json:"homeDashboardUid,omitempty"`
}
GrafanaPreferences holds Grafana preferences API settings
func (*GrafanaPreferences) DeepCopy ¶
func (in *GrafanaPreferences) DeepCopy() *GrafanaPreferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaPreferences.
func (*GrafanaPreferences) DeepCopyInto ¶
func (in *GrafanaPreferences) DeepCopyInto(out *GrafanaPreferences)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaSpec ¶
type GrafanaSpec struct {
// +kubebuilder:pruning:PreserveUnknownFields
// Config defines how your grafana ini file should looks like.
Config map[string]map[string]string `json:"config,omitempty"`
// Ingress sets how the ingress object should look like with your grafana instance.
Ingress *IngressNetworkingV1 `json:"ingress,omitempty"`
// Route sets how the ingress object should look like with your grafana instance, this only works in Openshift.
Route *RouteOpenshiftV1 `json:"route,omitempty"`
// Service sets how the service object should look like with your grafana instance, contains a number of defaults.
Service *ServiceV1 `json:"service,omitempty"`
// Deployment sets how the deployment object should look like with your grafana instance, contains a number of defaults.
Deployment *DeploymentV1 `json:"deployment,omitempty"`
// PersistentVolumeClaim creates a PVC if you need to attach one to your grafana instance.
PersistentVolumeClaim *PersistentVolumeClaimV1 `json:"persistentVolumeClaim,omitempty"`
// ServiceAccount sets how the ServiceAccount object should look like with your grafana instance, contains a number of defaults.
ServiceAccount *ServiceAccountV1 `json:"serviceAccount,omitempty"`
// Client defines how the grafana-operator talks to the grafana instance.
Client *GrafanaClient `json:"client,omitempty"`
Jsonnet *JsonnetConfig `json:"jsonnet,omitempty"`
// External enables you to configure external grafana instances that is not managed by the operator.
External *External `json:"external,omitempty"`
// Preferences holds the Grafana Preferences settings
Preferences *GrafanaPreferences `json:"preferences,omitempty"`
}
GrafanaSpec defines the desired state of Grafana
func (*GrafanaSpec) DeepCopy ¶
func (in *GrafanaSpec) DeepCopy() *GrafanaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaSpec.
func (*GrafanaSpec) DeepCopyInto ¶
func (in *GrafanaSpec) DeepCopyInto(out *GrafanaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaStatus ¶
type GrafanaStatus struct {
Stage OperatorStageName `json:"stage,omitempty"`
StageStatus OperatorStageStatus `json:"stageStatus,omitempty"`
LastMessage string `json:"lastMessage,omitempty"`
AdminUrl string `json:"adminUrl,omitempty"`
Dashboards NamespacedResourceList `json:"dashboards,omitempty"`
Datasources NamespacedResourceList `json:"datasources,omitempty"`
Folders NamespacedResourceList `json:"folders,omitempty"`
}
GrafanaStatus defines the observed state of Grafana
func (*GrafanaStatus) DeepCopy ¶
func (in *GrafanaStatus) DeepCopy() *GrafanaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaStatus.
func (*GrafanaStatus) DeepCopyInto ¶
func (in *GrafanaStatus) DeepCopyInto(out *GrafanaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressNetworkingV1 ¶
type IngressNetworkingV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec *v1.IngressSpec `json:"spec,omitempty"`
}
func (*IngressNetworkingV1) DeepCopy ¶
func (in *IngressNetworkingV1) DeepCopy() *IngressNetworkingV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressNetworkingV1.
func (*IngressNetworkingV1) DeepCopyInto ¶
func (in *IngressNetworkingV1) DeepCopyInto(out *IngressNetworkingV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JsonnetConfig ¶
type JsonnetConfig struct {
LibraryLabelSelector *metav1.LabelSelector `json:"libraryLabelSelector,omitempty"`
}
func (*JsonnetConfig) DeepCopy ¶
func (in *JsonnetConfig) DeepCopy() *JsonnetConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonnetConfig.
func (*JsonnetConfig) DeepCopyInto ¶
func (in *JsonnetConfig) DeepCopyInto(out *JsonnetConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JsonnetProjectBuild ¶
type JsonnetProjectBuild struct {
JPath []string `json:"jPath,omitempty"`
FileName string `json:"fileName"`
GzipJsonnetProject []byte `json:"gzipJsonnetProject"`
}
func (*JsonnetProjectBuild) DeepCopy ¶
func (in *JsonnetProjectBuild) DeepCopy() *JsonnetProjectBuild
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonnetProjectBuild.
func (*JsonnetProjectBuild) DeepCopyInto ¶
func (in *JsonnetProjectBuild) DeepCopyInto(out *JsonnetProjectBuild)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedResource ¶
type NamespacedResource string
func (NamespacedResource) Name ¶
func (in NamespacedResource) Name() string
func (NamespacedResource) Namespace ¶
func (in NamespacedResource) Namespace() string
func (NamespacedResource) Uid ¶
func (in NamespacedResource) Uid() string
type NamespacedResourceList ¶
type NamespacedResourceList []NamespacedResource
func (NamespacedResourceList) Add ¶
func (in NamespacedResourceList) Add(namespace string, name string, uid string) NamespacedResourceList
func (NamespacedResourceList) DeepCopy ¶
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) (bool, *string)
func (NamespacedResourceList) ForNamespace ¶
func (in NamespacedResourceList) ForNamespace(namespace string) NamespacedResourceList
func (NamespacedResourceList) Remove ¶
func (in NamespacedResourceList) Remove(namespace string, name string) NamespacedResourceList
type ObjectMeta ¶
type ObjectMeta struct {
Annotations map[string]string `json:"annotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
ObjectMeta contains only a [subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta).
func (*ObjectMeta) DeepCopy ¶
func (in *ObjectMeta) DeepCopy() *ObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMeta.
func (*ObjectMeta) DeepCopyInto ¶
func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectMeta) Merge ¶
func (override *ObjectMeta) Merge(meta metav1.ObjectMeta) metav1.ObjectMeta
Merge merges it's receivers values into the incoming ObjectMeta by overwriting values for existing keys and adding new ones.
type OperatorReconcileVars ¶
type OperatorReconcileVars struct {
// used to restart the Grafana container when the config changes
ConfigHash string
// env var value for installed plugins
Plugins string
}
temporary values passed between reconciler stages
func (*OperatorReconcileVars) DeepCopy ¶
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 []v14.PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,1,rep,name=accessModes,casttype=PersistentVolumeAccessMode"`
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
// +optional
Resources *v14.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,2,opt,name=resources"`
// VolumeName is the binding reference to the PersistentVolume backing this claim.
// +optional
VolumeName string `json:"volumeName,omitempty" protobuf:"bytes,3,opt,name=volumeName"`
// +optional
StorageClassName *string `json:"storageClassName,omitempty" protobuf:"bytes,5,opt,name=storageClassName"`
// +optional
VolumeMode *v14.PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"`
// +optional
DataSource *v14.TypedLocalObjectReference `json:"dataSource,omitempty" protobuf:"bytes,7,opt,name=dataSource"`
// +optional
DataSourceRef *v14.TypedLocalObjectReference `json:"dataSourceRef,omitempty" protobuf:"bytes,8,opt,name=dataSourceRef"`
}
func (*PersistentVolumeClaimV1Spec) DeepCopy ¶
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) GetInstalledVersionOf ¶
func (l PluginList) GetInstalledVersionOf(plugin *GrafanaPlugin) *GrafanaPlugin
GetInstalledVersionOf gets the plugin from the list regardless of the version
func (PluginList) HasExactVersionOf ¶
func (l PluginList) HasExactVersionOf(plugin *GrafanaPlugin) bool
HasExactVersionOf returns true if the list contains the same plugin in the same version
func (PluginList) HasNewerVersionOf ¶
func (l PluginList) HasNewerVersionOf(plugin *GrafanaPlugin) (bool, error)
HasNewerVersionOf returns true if the list contains the same plugin but in a newer version
func (PluginList) HasSomeVersionOf ¶
func (l PluginList) HasSomeVersionOf(plugin *GrafanaPlugin) bool
HasSomeVersionOf returns true if the list contains the same plugin in the exact or a different version
func (PluginList) Hash ¶
func (l PluginList) Hash() string
func (PluginList) Sanitize ¶
func (l PluginList) Sanitize() PluginList
Sanitize remove duplicates and enforce semver
func (PluginList) String ¶
func (l PluginList) String() string
func (PluginList) Update ¶
func (l PluginList) Update(plugin *GrafanaPlugin)
Update update plugin version
func (PluginList) VersionsOf ¶
func (l PluginList) VersionsOf(plugin *GrafanaPlugin) int
VersionsOf returns the number of different versions of a given plugin in the list
type PluginMap ¶
type PluginMap map[string]PluginList
func (PluginMap) DeepCopy ¶
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.
type RouteOpenShiftV1Spec ¶
type RouteOpenShiftV1Spec struct {
Host string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"`
To *v12.RouteTargetReference `json:"to,omitempty" protobuf:"bytes,3,opt,name=to"`
AlternateBackends []v12.RouteTargetReference `json:"alternateBackends,omitempty" protobuf:"bytes,4,rep,name=alternateBackends"`
Port *v12.RoutePort `json:"port,omitempty" protobuf:"bytes,5,opt,name=port"`
TLS *v12.TLSConfig `json:"tls,omitempty" protobuf:"bytes,6,opt,name=tls"`
WildcardPolicy v12.WildcardPolicyType `json:"wildcardPolicy,omitempty" protobuf:"bytes,7,opt,name=wildcardPolicy"`
}
func (*RouteOpenShiftV1Spec) DeepCopy ¶
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 ServiceAccountV1 ¶
type ServiceAccountV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Secrets []v14.ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"`
// +optional
ImagePullSecrets []v14.LocalObjectReference `json:"imagePullSecrets,omitempty" protobuf:"bytes,3,rep,name=imagePullSecrets"`
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,4,opt,name=automountServiceAccountToken"`
}
func (*ServiceAccountV1) DeepCopy ¶
func (in *ServiceAccountV1) DeepCopy() *ServiceAccountV1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountV1.
func (*ServiceAccountV1) DeepCopyInto ¶
func (in *ServiceAccountV1) DeepCopyInto(out *ServiceAccountV1)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceV1 ¶
type ServiceV1 struct {
ObjectMeta ObjectMeta `json:"metadata,omitempty"`
Spec *v14.ServiceSpec `json:"spec,omitempty"`
}
func (*ServiceV1) DeepCopy ¶
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.