v1alpha1

package
v0.74.0 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the observability v1alpha1 API group +kubebuilder:object:generate=true +groupName=observability.giantswarm.io

Index

Constants

View Source
const (
	// AgentCredentialFinalizer ensures gateway htpasswd is re-aggregated before
	// the credential disappears.
	AgentCredentialFinalizer = "observability.giantswarm.io/agentcredential" // nolint:gosec // G101: finalizer name, not a credential

	// Condition types set on AgentCredentialStatus.
	AgentCredentialConditionReady         = "Ready"
	AgentCredentialConditionGatewaySynced = "GatewaySynced"
)
View Source
const (

	// LogExportConditionReady is true once the export pipeline is configured and
	// the exporter has accepted it.
	LogExportConditionReady = "Ready"
	// LogExportConditionExporterAvailable reports whether alloy-logexporter is
	// actually running on this installation. The app ships to every management
	// cluster in a disabled state, so a valid LogExport can exist while nothing is
	// there to act on it.
	LogExportConditionExporterAvailable = "ExporterAvailable"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "observability.giantswarm.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // nolint:staticcheck // SA1019: kubebuilder scaffolding, no replacement offered

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

Functions

This section is empty.

Types

type AgentCredential added in v0.68.0

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

	Spec   AgentCredentialSpec   `json:"spec,omitempty"`
	Status AgentCredentialStatus `json:"status,omitempty"`
}

AgentCredential represents a single basic-auth credential scoped to one telemetry agent and one observability backend. Its lifecycle is managed by the observability-operator.

func (*AgentCredential) DeepCopy added in v0.68.0

func (in *AgentCredential) DeepCopy() *AgentCredential

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

func (*AgentCredential) DeepCopyInto added in v0.68.0

func (in *AgentCredential) DeepCopyInto(out *AgentCredential)

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

func (*AgentCredential) DeepCopyObject added in v0.68.0

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

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

type AgentCredentialList added in v0.68.0

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

AgentCredentialList contains a list of AgentCredential.

func (*AgentCredentialList) DeepCopy added in v0.68.0

func (in *AgentCredentialList) DeepCopy() *AgentCredentialList

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

func (*AgentCredentialList) DeepCopyInto added in v0.68.0

func (in *AgentCredentialList) DeepCopyInto(out *AgentCredentialList)

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

func (*AgentCredentialList) DeepCopyObject added in v0.68.0

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

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

type AgentCredentialSpec added in v0.68.0

type AgentCredentialSpec struct {
	// Backend is the observability backend this credential grants access to
	// (metrics → Mimir, logs → Loki, traces → Tempo). Drives which gateway's
	// htpasswd Secret this credential is aggregated into.
	Backend CredentialBackend `json:"backend"`

	// AgentName identifies the telemetry agent this credential belongs to.
	// Used as the basic-auth username in the generated Secret and htpasswd entry.
	// RFC 7617 forbids ':' in basic-auth usernames.
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9][a-zA-Z0-9_-]{0,252}$"
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	AgentName string `json:"agentName"`

	// SecretName overrides the generated Secret name. Defaults to metadata.name.
	// Must be a valid DNS-1123 subdomain.
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
	SecretName string `json:"secretName,omitempty"`
}

AgentCredentialSpec defines the desired state of an AgentCredential.

func (*AgentCredentialSpec) DeepCopy added in v0.68.0

func (in *AgentCredentialSpec) DeepCopy() *AgentCredentialSpec

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

func (*AgentCredentialSpec) DeepCopyInto added in v0.68.0

func (in *AgentCredentialSpec) DeepCopyInto(out *AgentCredentialSpec)

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

type AgentCredentialStatus added in v0.68.0

type AgentCredentialStatus struct {
	// SecretRef points to the rendered Secret in the same namespace.
	// +optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`

	// Conditions represent the latest available observations of the credential's state.
	// Types: Ready (secret rendered), GatewaySynced (htpasswd aggregated).
	// +optional
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

AgentCredentialStatus defines the observed state of an AgentCredential.

func (*AgentCredentialStatus) DeepCopy added in v0.68.0

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

func (*AgentCredentialStatus) DeepCopyInto added in v0.68.0

func (in *AgentCredentialStatus) DeepCopyInto(out *AgentCredentialStatus)

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

type CredentialBackend added in v0.68.0

type CredentialBackend string

CredentialBackend is the observability backend this credential grants access to. +kubebuilder:validation:Enum=metrics;logs;traces

const (
	CredentialBackendMetrics CredentialBackend = "metrics"
	CredentialBackendLogs    CredentialBackend = "logs"
	CredentialBackendTraces  CredentialBackend = "traces"
)

type DataSource added in v0.9.0

type DataSource struct {
	// ID is the unique id of the data source.
	ID int64 `json:"ID"`

	// Name is the name of the data source.
	Name string `json:"name"`
}

DataSource defines the name and id for data sources.

func (*DataSource) DeepCopy added in v0.9.0

func (in *DataSource) DeepCopy() *DataSource

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

func (*DataSource) DeepCopyInto added in v0.9.0

func (in *DataSource) DeepCopyInto(out *DataSource)

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

type GrafanaOrganization

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

	Spec   GrafanaOrganizationSpec   `json:"spec,omitempty"`
	Status GrafanaOrganizationStatus `json:"status,omitempty"`
}

GrafanaOrganization is the Schema describing a Grafana organization. Its lifecycle is managed by the observability-operator.

func (*GrafanaOrganization) ConvertFrom added in v0.51.0

func (dst *GrafanaOrganization) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the Hub version (v1alpha2) to this version

func (*GrafanaOrganization) ConvertTo added in v0.51.0

func (src *GrafanaOrganization) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this GrafanaOrganization to the Hub version (v1alpha2)

func (*GrafanaOrganization) DeepCopy

func (in *GrafanaOrganization) DeepCopy() *GrafanaOrganization

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

func (*GrafanaOrganization) DeepCopyInto

func (in *GrafanaOrganization) DeepCopyInto(out *GrafanaOrganization)

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

func (*GrafanaOrganization) DeepCopyObject

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

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

type GrafanaOrganizationList

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

GrafanaOrganizationList contains a list of GrafanaOrganization

func (*GrafanaOrganizationList) DeepCopy

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

func (*GrafanaOrganizationList) DeepCopyInto

func (in *GrafanaOrganizationList) DeepCopyInto(out *GrafanaOrganizationList)

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

func (*GrafanaOrganizationList) DeepCopyObject

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

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

type GrafanaOrganizationSpec

type GrafanaOrganizationSpec struct {
	// DisplayName is the name displayed when viewing the organization in Grafana. It can be different from the actual org's name.
	// +kubebuilder:example="Giant Swarm"
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:unique=true
	DisplayName string `json:"displayName"`

	// Access rules defines user permissions for interacting with the organization in Grafana.
	RBAC *RBAC `json:"rbac"`

	// Tenants is a list of tenants that are associated with the Grafana organization.
	// +kubebuilder:example={"giantswarm"}
	// +kube:validation:MinItems=1
	Tenants []TenantID `json:"tenants"`
}

GrafanaOrganizationSpec defines the desired state of GrafanaOrganization

func (*GrafanaOrganizationSpec) DeepCopy

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

func (*GrafanaOrganizationSpec) DeepCopyInto

func (in *GrafanaOrganizationSpec) DeepCopyInto(out *GrafanaOrganizationSpec)

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

type GrafanaOrganizationStatus

type GrafanaOrganizationStatus struct {
	// OrgID is the actual organisation ID in grafana.
	// +optional
	OrgID int64 `json:"orgID"`

	// DataSources is a list of grafana data sources that are available to the Grafana organization.
	// +optional
	DataSources []DataSource `json:"dataSources"`

	// DisplayName records the last display name successfully applied to the Grafana
	// organization referenced by OrgID.
	// +optional
	DisplayName string `json:"displayName,omitempty"`
}

GrafanaOrganizationStatus defines the observed state of GrafanaOrganization

func (*GrafanaOrganizationStatus) DeepCopy

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

func (*GrafanaOrganizationStatus) DeepCopyInto

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

type LogExport added in v0.73.0

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

	Spec   LogExportSpec   `json:"spec,omitempty"`
	Status LogExportStatus `json:"status,omitempty"`
}

LogExport continuously copies a selection of the installation's logs to a destination outside the observability platform, for archival or for delivery to a system Giant Swarm does not run.

Logs are teed off the write path, so an export can never slow down or break log ingestion. The same property makes delivery best-effort: if the exporter is unavailable, lines are dropped rather than queued, and there is no backfill.

Scope

This resource is namespaced so that credentials stay next to it, but the namespace is NOT a data boundary: a LogExport in any namespace can select logs from every cluster on the installation. Permission to create one should be treated as privileged access to log data.

func (*LogExport) DeepCopy added in v0.73.0

func (in *LogExport) DeepCopy() *LogExport

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

func (*LogExport) DeepCopyInto added in v0.73.0

func (in *LogExport) DeepCopyInto(out *LogExport)

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

func (*LogExport) DeepCopyObject added in v0.73.0

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

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

type LogExportDestination added in v0.73.0

type LogExportDestination struct {
	// Type selects the destination variant.
	Type LogExportDestinationType `json:"type"`

	// S3 configures an S3 or S3-compatible bucket. Required when type is "s3".
	// +optional
	S3 *S3Destination `json:"s3,omitempty"`

	// Loki configures a Loki-compatible push endpoint. Required when type is "loki".
	// +optional
	Loki *LokiDestination `json:"loki,omitempty"`
}

LogExportDestination is a discriminated union: exactly the variant named by Type must be set.

Adding support for a new kind of sink means adding a variant here, which keeps the API open-ended without accepting arbitrary agent configuration. +kubebuilder:validation:XValidation:rule="self.type != 's3' || has(self.s3)",message="spec.destination.s3 is required when type is 's3'" +kubebuilder:validation:XValidation:rule="self.type != 'loki' || has(self.loki)",message="spec.destination.loki is required when type is 'loki'" +kubebuilder:validation:XValidation:rule="self.type == 's3' || !has(self.s3)",message="spec.destination.s3 may only be set when type is 's3'" +kubebuilder:validation:XValidation:rule="self.type == 'loki' || !has(self.loki)",message="spec.destination.loki may only be set when type is 'loki'"

func (*LogExportDestination) DeepCopy added in v0.73.0

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

func (*LogExportDestination) DeepCopyInto added in v0.73.0

func (in *LogExportDestination) DeepCopyInto(out *LogExportDestination)

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

type LogExportDestinationType added in v0.73.0

type LogExportDestinationType string

LogExportDestinationType selects which destination variant is in use. +kubebuilder:validation:Enum=s3;loki

const (
	// LogExportDestinationS3 writes objects to an S3 or S3-compatible bucket.
	LogExportDestinationS3 LogExportDestinationType = "s3"
	// LogExportDestinationLoki pushes to a Loki-compatible endpoint.
	LogExportDestinationLoki LogExportDestinationType = "loki"
)

type LogExportList added in v0.73.0

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

LogExportList contains a list of LogExport.

func (*LogExportList) DeepCopy added in v0.73.0

func (in *LogExportList) DeepCopy() *LogExportList

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

func (*LogExportList) DeepCopyInto added in v0.73.0

func (in *LogExportList) DeepCopyInto(out *LogExportList)

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

func (*LogExportList) DeepCopyObject added in v0.73.0

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

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

type LogExportSpec added in v0.73.0

type LogExportSpec struct {
	// Selector chooses which log lines are exported, using LogQL syntax.
	//
	// Only a subset of LogQL is supported: a stream selector, optional line
	// filters, and an optional parse-and-filter clause. Aggregations and time
	// ranges are rejected -- an export is a continuous tee, not a query, so it has
	// no start or end.
	//
	// The same expression can be pasted into Grafana Explore to see exactly which
	// lines it matches before committing it.
	//
	// This is NOT limited by the namespace of this resource: a selector matches
	// against every log line arriving at the installation's write path, from any
	// cluster. See the LogExport type documentation.
	// +kubebuilder:example="{scrape_job=\"audit-logs\"}"
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=4096
	Selector string `json:"selector"`

	// Destination is where the selected lines are written.
	Destination LogExportDestination `json:"destination"`
}

LogExportSpec defines the desired state of LogExport.

func (*LogExportSpec) DeepCopy added in v0.73.0

func (in *LogExportSpec) DeepCopy() *LogExportSpec

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

func (*LogExportSpec) DeepCopyInto added in v0.73.0

func (in *LogExportSpec) DeepCopyInto(out *LogExportSpec)

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

type LogExportStatus added in v0.73.0

type LogExportStatus struct {
	// ObservedGeneration is the .metadata.generation this status was set from.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the export's state.
	// Types: Ready (the pipeline is configured), ExporterAvailable (alloy-logexporter
	// is running on this installation).
	// +optional
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

LogExportStatus defines the observed state of LogExport.

func (*LogExportStatus) DeepCopy added in v0.73.0

func (in *LogExportStatus) DeepCopy() *LogExportStatus

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

func (*LogExportStatus) DeepCopyInto added in v0.73.0

func (in *LogExportStatus) DeepCopyInto(out *LogExportStatus)

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

type LokiDestination added in v0.73.0

type LokiDestination struct {
	// URL is the push endpoint, including the path.
	// +kubebuilder:example="https://logs.example.com/loki/api/v1/push"
	// +kubebuilder:validation:Pattern="^https?://.+$"
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	URL string `json:"url"`

	// TenantID is sent as the X-Scope-OrgID header. Required by multi-tenant Loki
	// deployments, ignored by single-tenant ones.
	// +optional
	// +kubebuilder:validation:MaxLength=150
	TenantID string `json:"tenantID,omitempty"`

	// CredentialsRef names a Secret holding basic-auth credentials, with keys
	// username and password.
	//
	// The Secret is read from THIS resource's namespace; cross-namespace
	// references are not possible.
	// +optional
	CredentialsRef *corev1.LocalObjectReference `json:"credentialsRef,omitempty"`
}

LokiDestination pushes to a Loki-compatible endpoint.

func (*LokiDestination) DeepCopy added in v0.73.0

func (in *LokiDestination) DeepCopy() *LokiDestination

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

func (*LokiDestination) DeepCopyInto added in v0.73.0

func (in *LokiDestination) DeepCopyInto(out *LokiDestination)

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

type RBAC

type RBAC struct {
	// Admins is a list of user organizations that have admin access to the grafanaorganization.
	Admins []string `json:"admins"`

	// Editors is a list of user organizations that have editor access to the grafanaorganization.
	// +optional
	Editors []string `json:"editors"`

	// Viewers is a list of user organizations that have viewer access to the grafanaorganization.
	// +optional
	Viewers []string `json:"viewers"`
}

RBAC defines the RoleBasedAccessControl configuration for the Grafana organization. Each fields represents the mapping to a Grafana role:

Admin: full access to the Grafana organization
Editor: edit resources in the Grafana organization
Viewer: read only access to the Grafana organization

Each fields holds a list of string which represents values for a specific auth provider org attribute. The org attribute is looked up using the `org_attribute_path` which is configured on your Grafana instance, see `https://<YOUR_GRAFANA_INSTANCE>/admin/settings`. A user is granted a role when one of its org attribute value is contained within one of the role's values defined here. More info on Grafana org attribute and role mapping at [Configure role mapping](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/#configure-role-mapping)

func (*RBAC) DeepCopy

func (in *RBAC) DeepCopy() *RBAC

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

func (*RBAC) DeepCopyInto

func (in *RBAC) DeepCopyInto(out *RBAC)

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

type S3Destination added in v0.73.0

type S3Destination struct {
	// Bucket is the destination bucket name.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	Bucket string `json:"bucket"`

	// Region is the bucket's region.
	// +kubebuilder:example="eu-west-2"
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	Region string `json:"region"`

	// Prefix is the key prefix objects are written under. Object keys are
	// <prefix>/year=…/month=…/day=…/hour=…/minute=…/logs_<uuidv7>.txt.gz, using the
	// time the object was uploaded rather than the time of the events in it.
	// +optional
	// +kubebuilder:example="giantswarm/audit"
	// +kubebuilder:validation:MaxLength=512
	Prefix string `json:"prefix,omitempty"`

	// Endpoint overrides the S3 endpoint. Leave empty for AWS; set it to target an
	// S3-compatible store.
	// +optional
	// +kubebuilder:validation:MaxLength=2048
	Endpoint string `json:"endpoint,omitempty"`

	// ForcePathStyle addresses the bucket as a path rather than a subdomain.
	// S3-compatible stores generally require this; AWS generally does not.
	// +optional
	ForcePathStyle bool `json:"forcePathStyle,omitempty"`

	// RoleARN is an IAM role to assume before writing, for cross-account delivery.
	// When set, CredentialsRef is usually unnecessary: the exporter authenticates
	// with its own ServiceAccount identity and assumes this role.
	// +optional
	// +kubebuilder:validation:Pattern="^$|^arn:aws[a-zA-Z-]*:iam::[0-9]{12}:role/.+$"
	// +kubebuilder:validation:MaxLength=2048
	RoleARN string `json:"roleARN,omitempty"`

	// CredentialsRef names a Secret holding static credentials, with keys
	// AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.
	//
	// The Secret is read from THIS resource's namespace; cross-namespace
	// references are not possible. Omit it to authenticate by workload identity
	// (IRSA) instead, optionally combined with RoleARN.
	// +optional
	CredentialsRef *corev1.LocalObjectReference `json:"credentialsRef,omitempty"`
}

S3Destination writes gzipped, newline-delimited JSON objects to a bucket.

func (*S3Destination) DeepCopy added in v0.73.0

func (in *S3Destination) DeepCopy() *S3Destination

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

func (*S3Destination) DeepCopyInto added in v0.73.0

func (in *S3Destination) DeepCopyInto(out *S3Destination)

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

type TenantID added in v0.10.0

type TenantID string

TenantID is a unique identifier for a tenant. Must follow both Grafana Mimir tenant ID restrictions and Alloy component naming restrictions. See: https://grafana.com/docs/mimir/latest/configure/about-tenant-ids/ See: https://grafana.com/docs/alloy/latest/get-started/configuration-syntax/syntax/#identifiers Allowed characters: alphanumeric (a-z, A-Z, 0-9) and underscore (_) Must start with a letter or underscore, max 150 characters (Mimir tenant limit) Forbidden value: "__mimir_cluster" (enforced by validating webhook) +kubebuilder:validation:Pattern="^[a-zA-Z_][a-zA-Z0-9_]{0,149}$" +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=150

Jump to

Keyboard shortcuts

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