1
0
mirror of https://github.com/coreos/prometheus-operator.git synced 2026-02-05 06:45:27 +01:00

chore: enable noBools linter (#8064)

This commit is contained in:
Ashwin Sriram
2026-01-05 15:42:44 +05:30
committed by GitHub
parent f62c9d8d8b
commit 4a0f21ef8c
11 changed files with 180 additions and 179 deletions

View File

@@ -23,6 +23,7 @@ linters:
# Whenever a new linter is added, it should not break the backward
# compatibility of existing APIs (at least for v1 APIs).
enable:
- "nobools"
- "commentstart"
- "conflictingmarkers"
- "duplicatemarkers"
@@ -64,4 +65,4 @@ linters:
# KAL only validates the API folders.
- path-except: pkg/apis/monitoring/
linters:
- kubeapilinter
- kubeapilinter

View File

@@ -198,7 +198,7 @@ type AlertmanagerSpec struct {
// paused if set to true all actions on the underlying managed objects are not
// going to be performed, except for delete actions.
// +optional
Paused bool `json:"paused,omitempty"`
Paused bool `json:"paused,omitempty"` // nolint:kubeapilinter
// nodeSelector defines which Nodes the Pods are scheduled on.
// +optional
//nolint:kubeapilinter // standard Kubernetes node selector format
@@ -229,7 +229,7 @@ type AlertmanagerSpec struct {
DNSConfig *PodDNSConfig `json:"dnsConfig,omitempty"`
// enableServiceLinks defines whether information about services should be injected into pod's environment variables
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"`
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"` // nolint:kubeapilinter
// serviceName defines the service name used by the underlying StatefulSet(s) as the governing service.
// If defined, the Service must be created before the Alertmanager resource in the same namespace and it must define a selector that matches the pod labels.
// If empty, the operator will create and manage a headless service named `alertmanager-operated` for Alertmanager resources.
@@ -246,7 +246,7 @@ type AlertmanagerSpec struct {
// does not bind against the Pod IP. Note this is only for the Alertmanager
// UI, not the gossip communication.
// +optional
ListenLocal bool `json:"listenLocal,omitempty"`
ListenLocal bool `json:"listenLocal,omitempty"` // nolint:kubeapilinter
// podManagementPolicy defines the policy for creating/deleting pods when
// scaling up and down.
@@ -314,7 +314,7 @@ type AlertmanagerSpec struct {
// forceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
// Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
// +optional
ForceEnableClusterMode bool `json:"forceEnableClusterMode,omitempty"`
ForceEnableClusterMode bool `json:"forceEnableClusterMode,omitempty"` // nolint:kubeapilinter
// alertmanagerConfigSelector defines the selector to be used for to merge and configure Alertmanager with.
// +optional
AlertmanagerConfigSelector *metav1.LabelSelector `json:"alertmanagerConfigSelector,omitempty"`
@@ -370,7 +370,7 @@ type AlertmanagerSpec struct {
// automountServiceAccountToken defines whether a service account token should be automatically mounted in the pod.
// If the service account has `automountServiceAccountToken: true`, set the field to `false` to opt out of automounting API credentials.
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"`
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"` // nolint:kubeapilinter
// enableFeatures defines the Alertmanager's feature flags. By default, no features are enabled.
// Enabling features which are disabled by default is entirely outside the
// scope of what the maintainers will support and by doing so, you accept
@@ -406,7 +406,7 @@ type AlertmanagerSpec struct {
// Starting Kubernetes 1.33, the feature is enabled by default.
//
// +optional
HostUsers *bool `json:"hostUsers,omitempty"`
HostUsers *bool `json:"hostUsers,omitempty"` // nolint:kubeapilinter
}
type AlertmanagerConfigMatcherStrategy struct {
@@ -524,7 +524,7 @@ type AlertmanagerStatus struct {
// paused defines whether any actions on the underlying managed objects are
// being performed. Only delete actions will be performed.
// +optional
Paused bool `json:"paused"`
Paused bool `json:"paused"` // nolint:kubeapilinter
// replicas defines the total number of non-terminated pods targeted by this Alertmanager
// object (their labels match the selector).
// +optional
@@ -628,7 +628,7 @@ type GlobalSMTPConfig struct {
// requireTLS defines the default SMTP TLS requirement.
// Note that Go does not support unencrypted connections to remote SMTP endpoints.
// +optional
RequireTLS *bool `json:"requireTLS,omitempty"`
RequireTLS *bool `json:"requireTLS,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the default TLS configuration for SMTP receivers
// +optional

View File

@@ -105,12 +105,12 @@ type HTTPConfigWithoutTLS struct {
// redirects.
//
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHttp2 can be used to disable HTTP2.
//
// +optional
EnableHTTP2 *bool `json:"enableHttp2,omitempty"`
EnableHTTP2 *bool `json:"enableHttp2,omitempty"` // nolint:kubeapilinter
}
// Validate semantically validates the given HTTPConfigWithoutTLS.

View File

@@ -287,13 +287,13 @@ type PodMetricsEndpoint struct {
// honorLabels when true preserves the metric's labels when they collide
// with the target's labels.
// +optional
HonorLabels bool `json:"honorLabels,omitempty"`
HonorLabels bool `json:"honorLabels,omitempty"` // nolint:kubeapilinter
// honorTimestamps defines whether Prometheus preserves the timestamps
// when exposed by the target.
//
// +optional
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
HonorTimestamps *bool `json:"honorTimestamps,omitempty"` // nolint:kubeapilinter
// trackTimestampsStaleness defines whether Prometheus tracks staleness of
// the metrics that have an explicit timestamp present in scraped data.
@@ -302,7 +302,7 @@ type PodMetricsEndpoint struct {
// It requires Prometheus >= v2.48.0.
//
// +optional
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"`
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"` // nolint:kubeapilinter
// metricRelabelings defines the relabeling rules to apply to the
// samples before ingestion.
@@ -330,7 +330,7 @@ type PodMetricsEndpoint struct {
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
//
// +optional
FilterRunning *bool `json:"filterRunning,omitempty"`
FilterRunning *bool `json:"filterRunning,omitempty"` // nolint:kubeapilinter
HTTPConfigWithProxy `json:",inline"`
}

View File

@@ -221,7 +221,7 @@ type CommonPrometheusFields struct {
// paused defines when a Prometheus deployment is paused, no actions except for deletion
// will be performed on the underlying objects.
// +optional
Paused bool `json:"paused,omitempty"`
Paused bool `json:"paused,omitempty"` // nolint:kubeapilinter
// image defines the container image name for Prometheus. If specified, it takes precedence
// over the `spec.baseImage`, `spec.tag` and `spec.sha` fields.
@@ -350,7 +350,7 @@ type CommonPrometheusFields struct {
//
// It requires Prometheus >= v2.33.0.
// +optional
EnableRemoteWriteReceiver bool `json:"enableRemoteWriteReceiver,omitempty"`
EnableRemoteWriteReceiver bool `json:"enableRemoteWriteReceiver,omitempty"` // nolint:kubeapilinter
// enableOTLPReceiver defines the Prometheus to be used as a receiver for the OTLP Metrics protocol.
//
@@ -358,7 +358,7 @@ type CommonPrometheusFields struct {
//
// It requires Prometheus >= v2.47.0.
// +optional
EnableOTLPReceiver *bool `json:"enableOTLPReceiver,omitempty"`
EnableOTLPReceiver *bool `json:"enableOTLPReceiver,omitempty"` // nolint:kubeapilinter
// remoteWriteReceiverMessageVersions list of the protobuf message versions to accept when receiving the
// remote writes.
@@ -444,7 +444,7 @@ type CommonPrometheusFields struct {
// **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery.
// It is possible to use strategic merge patch to project the service account token into the 'prometheus' container.
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"`
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"` // nolint:kubeapilinter
// secrets defines a list of Secrets in the same namespace as the Prometheus
// object, which shall be mounted into the Prometheus Pods.
@@ -498,7 +498,7 @@ type CommonPrometheusFields struct {
// instead of the Pod IP's address.
//
// +optional
ListenLocal bool `json:"listenLocal,omitempty"`
ListenLocal bool `json:"listenLocal,omitempty"` // nolint:kubeapilinter
// podManagementPolicy defines the policy for creating/deleting pods when
// scaling up and down.
@@ -515,7 +515,7 @@ type CommonPrometheusFields struct {
// enableServiceLinks defines whether information about services should be injected into pod's environment variables
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"`
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"` // nolint:kubeapilinter
// containers allows injecting additional containers or modifying operator
// generated containers. This can be used to allow adding an authentication
@@ -602,19 +602,19 @@ type CommonPrometheusFields struct {
// In practice,`OverrideHonorLabels:true` enforces `honorLabels:false`
// for all ServiceMonitor, PodMonitor and ScrapeConfig objects.
// +optional
OverrideHonorLabels bool `json:"overrideHonorLabels,omitempty"`
OverrideHonorLabels bool `json:"overrideHonorLabels,omitempty"` // nolint:kubeapilinter
// overrideHonorTimestamps when true, Prometheus ignores the timestamps for all the targets created
// from service and pod monitors.
// Otherwise the HonorTimestamps field of the service or pod monitor applies.
// +optional
OverrideHonorTimestamps bool `json:"overrideHonorTimestamps,omitempty"`
OverrideHonorTimestamps bool `json:"overrideHonorTimestamps,omitempty"` // nolint:kubeapilinter
// ignoreNamespaceSelectors when true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor
// and Probe objects will be ignored. They will only discover targets
// within the namespace of the PodMonitor, ServiceMonitor and Probe
// object.
// +optional
IgnoreNamespaceSelectors bool `json:"ignoreNamespaceSelectors,omitempty"`
IgnoreNamespaceSelectors bool `json:"ignoreNamespaceSelectors,omitempty"` // nolint:kubeapilinter
// enforcedNamespaceLabel when not empty, a label will be added to:
//
@@ -769,13 +769,13 @@ type CommonPrometheusFields struct {
// It requires Prometheus >= v3.4.0.
//
// +optional
ConvertClassicHistogramsToNHCB *bool `json:"convertClassicHistogramsToNHCB,omitempty"`
ConvertClassicHistogramsToNHCB *bool `json:"convertClassicHistogramsToNHCB,omitempty"` // nolint:kubeapilinter
// scrapeNativeHistograms defines whether to enable scraping of native histograms.
// It requires Prometheus >= v3.8.0.
//
// +optional
ScrapeNativeHistograms *bool `json:"scrapeNativeHistograms,omitempty"`
ScrapeNativeHistograms *bool `json:"scrapeNativeHistograms,omitempty"` // nolint:kubeapilinter
// scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram.
//
@@ -784,7 +784,7 @@ type CommonPrometheusFields struct {
// It requires Prometheus >= v3.5.0.
//
// +optional
ScrapeClassicHistograms *bool `json:"scrapeClassicHistograms,omitempty"`
ScrapeClassicHistograms *bool `json:"scrapeClassicHistograms,omitempty"` // nolint:kubeapilinter
// minReadySeconds defines the minimum number of seconds for which a newly created Pod should be ready
// without any of its container crashing for it to be considered available.
@@ -824,7 +824,7 @@ type CommonPrometheusFields struct {
// Requires Prometheus v2.11.0 and above.
//
// +optional
WALCompression *bool `json:"walCompression,omitempty"`
WALCompression *bool `json:"walCompression,omitempty"` // nolint:kubeapilinter
// excludedFromEnforcement defines the list of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects
// to be excluded from enforcing a namespace label of origin.
@@ -844,7 +844,7 @@ type CommonPrometheusFields struct {
// to a different value).
//
// +optional
HostNetwork bool `json:"hostNetwork,omitempty"`
HostNetwork bool `json:"hostNetwork,omitempty"` // nolint:kubeapilinter
// podTargetLabels are appended to the `spec.podTargetLabels` field of all
// PodMonitor and ServiceMonitor objects.
@@ -1001,7 +1001,7 @@ type CommonPrometheusFields struct {
// Starting Kubernetes 1.33, the feature is enabled by default.
//
// +optional
HostUsers *bool `json:"hostUsers,omitempty"`
HostUsers *bool `json:"hostUsers,omitempty"` // nolint:kubeapilinter
}
// Specifies the validation scheme for metric and label names.
@@ -1182,7 +1182,7 @@ type PrometheusSpec struct {
// When `spec.thanos.objectStorageConfig` or `spec.objectStorageConfigFile` are defined, the operator automatically
// disables block compaction to avoid race conditions during block uploads (as the Thanos documentation recommends).
// +optional
DisableCompaction bool `json:"disableCompaction,omitempty"`
DisableCompaction bool `json:"disableCompaction,omitempty"` // nolint:kubeapilinter
// rules defines the configuration of the Prometheus rules' engine.
// +optional
@@ -1272,7 +1272,7 @@ type PrometheusSpec struct {
//
// Deprecated: this flag has no effect for Prometheus >= 2.39.0 where overlapping blocks are enabled by default.
// +optional
AllowOverlappingBlocks bool `json:"allowOverlappingBlocks,omitempty"`
AllowOverlappingBlocks bool `json:"allowOverlappingBlocks,omitempty"` // nolint:kubeapilinter
// exemplars related settings that are runtime reloadable.
// It requires to enable the `exemplar-storage` feature flag to be effective.
@@ -1300,7 +1300,7 @@ type PrometheusSpec struct {
// For more information:
// https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
// +optional
EnableAdminAPI bool `json:"enableAdminAPI,omitempty"`
EnableAdminAPI bool `json:"enableAdminAPI,omitempty"` // nolint:kubeapilinter
}
type WhenScaledRetentionType string
@@ -1339,7 +1339,7 @@ type PrometheusStatus struct {
// paused defines whether any actions on the underlying managed objects are
// being performed. Only delete actions will be performed.
// +optional
Paused bool `json:"paused"`
Paused bool `json:"paused"` // nolint:kubeapilinter
// replicas defines the total number of non-terminated pods targeted by this Prometheus deployment
// (their labels match the selector).
// +optional
@@ -1393,7 +1393,7 @@ type AlertingSpec struct {
type StorageSpec struct {
// disableMountSubPath deprecated: subPath usage will be removed in a future release.
// +optional
DisableMountSubPath bool `json:"disableMountSubPath,omitempty"`
DisableMountSubPath bool `json:"disableMountSubPath,omitempty"` // nolint:kubeapilinter
// emptyDir to be used by the StatefulSet.
// If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`.
// More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
@@ -1505,21 +1505,21 @@ type ThanosSpec struct {
// listenLocal is deprecated: use `grpcListenLocal` and `httpListenLocal` instead.
// +optional
ListenLocal bool `json:"listenLocal,omitempty"`
ListenLocal bool `json:"listenLocal,omitempty"` // nolint:kubeapilinter
// grpcListenLocal defines when true, the Thanos sidecar listens on the loopback interface instead
// of the Pod IP's address for the gRPC endpoints.
//
// It has no effect if `listenLocal` is true.
// +optional
GRPCListenLocal bool `json:"grpcListenLocal,omitempty"`
GRPCListenLocal bool `json:"grpcListenLocal,omitempty"` // nolint:kubeapilinter
// httpListenLocal when true, the Thanos sidecar listens on the loopback interface instead
// of the Pod IP's address for the HTTP endpoints.
//
// It has no effect if `listenLocal` is true.
// +optional
HTTPListenLocal bool `json:"httpListenLocal,omitempty"`
HTTPListenLocal bool `json:"httpListenLocal,omitempty"` // nolint:kubeapilinter
// tracingConfig defines the tracing configuration for the Thanos sidecar.
//
@@ -1646,7 +1646,7 @@ type RemoteWriteSpec struct {
// It requires Prometheus >= v2.27.0 or Thanos >= v0.24.0.
//
// +optional
SendExemplars *bool `json:"sendExemplars,omitempty"`
SendExemplars *bool `json:"sendExemplars,omitempty"` // nolint:kubeapilinter
// sendNativeHistograms enables sending of native histograms, also known as sparse histograms
// over remote write.
@@ -1654,7 +1654,7 @@ type RemoteWriteSpec struct {
// It requires Prometheus >= v2.40.0 or Thanos >= v0.30.0.
//
// +optional
SendNativeHistograms *bool `json:"sendNativeHistograms,omitempty"`
SendNativeHistograms *bool `json:"sendNativeHistograms,omitempty"` // nolint:kubeapilinter
// remoteTimeout defines the timeout for requests to the remote write endpoint.
// +optional
@@ -1741,7 +1741,7 @@ type RemoteWriteSpec struct {
// It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0.
//
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// queueConfig allows tuning of the remote write queue parameters.
// +optional
@@ -1757,7 +1757,7 @@ type RemoteWriteSpec struct {
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHttp2 *bool `json:"enableHTTP2,omitempty"`
EnableHttp2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// roundRobinDNS controls the DNS resolution behavior for remote-write connections.
// When enabled:
@@ -1775,7 +1775,7 @@ type RemoteWriteSpec struct {
// It requires Prometheus >= v3.1.0 or Thanos >= v0.38.0.
//
// +optional
RoundRobinDNS *bool `json:"roundRobinDNS,omitempty"`
RoundRobinDNS *bool `json:"roundRobinDNS,omitempty"` // nolint:kubeapilinter
}
// +kubebuilder:validation:Enum=V1.0;V2.0
@@ -1822,7 +1822,7 @@ type QueueConfig struct {
// This is an *experimental feature*, it may change in any upcoming release
// in a breaking way.
// +optional
RetryOnRateLimit bool `json:"retryOnRateLimit,omitempty"`
RetryOnRateLimit bool `json:"retryOnRateLimit,omitempty"` // nolint:kubeapilinter
// sampleAgeLimit drops samples older than the limit.
// It requires Prometheus >= v2.50.0 or Thanos >= v0.32.0.
//
@@ -1855,7 +1855,7 @@ type Sigv4 struct {
// It requires Prometheus >= v2.54.0.
//
// +optional
UseFIPSSTSEndpoint *bool `json:"useFIPSSTSEndpoint,omitempty"`
UseFIPSSTSEndpoint *bool `json:"useFIPSSTSEndpoint,omitempty"` // nolint:kubeapilinter
}
// AzureAD defines the configuration for remote write's azuread parameters.
@@ -1959,7 +1959,7 @@ type RemoteReadSpec struct {
// readRecent defines whether reads should be made for queries for time ranges that
// the local storage should have complete data for.
// +optional
ReadRecent bool `json:"readRecent,omitempty"`
ReadRecent bool `json:"readRecent,omitempty"` // nolint:kubeapilinter
// oauth2 configuration for the URL.
//
@@ -2009,14 +2009,14 @@ type RemoteReadSpec struct {
// It requires Prometheus >= v2.26.0.
//
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// filterExternalLabels defines whether to use the external labels as selectors for the remote read endpoint.
//
// It requires Prometheus >= v2.34.0.
//
// +optional
FilterExternalLabels *bool `json:"filterExternalLabels,omitempty"`
FilterExternalLabels *bool `json:"filterExternalLabels,omitempty"` // nolint:kubeapilinter
}
// RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
@@ -2226,7 +2226,7 @@ type AlertmanagerEndpoints struct {
// enableHttp2 defines whether to enable HTTP2.
//
// +optional
EnableHttp2 *bool `json:"enableHttp2,omitempty"`
EnableHttp2 *bool `json:"enableHttp2,omitempty"` // nolint:kubeapilinter
// relabelings defines the relabel configuration applied to the discovered Alertmanagers.
//
@@ -2276,7 +2276,7 @@ type MetadataConfig struct {
// send defines whether metric metadata is sent to the remote storage or not.
//
// +optional
Send bool `json:"send,omitempty"`
Send bool `json:"send,omitempty"` // nolint:kubeapilinter
// sendInterval defines how frequently metric metadata is sent to the remote storage.
//
@@ -2415,7 +2415,7 @@ type ScrapeClass struct {
// Only one scrape class can be set as the default.
//
// +optional
Default *bool `json:"default,omitempty"`
Default *bool `json:"default,omitempty"` // nolint:kubeapilinter
// fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
// It will only apply if the scrape resource doesn't specify any FallbackScrapeProtocol
@@ -2496,7 +2496,7 @@ type OTLPConfig struct {
// Cannot be true when `promoteResourceAttributes` is defined.
// It requires Prometheus >= v3.5.0.
// +optional
PromoteAllResourceAttributes *bool `json:"promoteAllResourceAttributes,omitempty"`
PromoteAllResourceAttributes *bool `json:"promoteAllResourceAttributes,omitempty"` // nolint:kubeapilinter
// ignoreResourceAttributes defines the list of OpenTelemetry resource attributes to ignore when `promoteAllResourceAttributes` is true.
//
@@ -2528,18 +2528,18 @@ type OTLPConfig struct {
//
// It requires Prometheus >= v3.1.0.
// +optional
KeepIdentifyingResourceAttributes *bool `json:"keepIdentifyingResourceAttributes,omitempty"`
KeepIdentifyingResourceAttributes *bool `json:"keepIdentifyingResourceAttributes,omitempty"` // nolint:kubeapilinter
// convertHistogramsToNHCB defines optional translation of OTLP explicit bucket histograms into native histograms with custom buckets.
// It requires Prometheus >= v3.4.0.
// +optional
ConvertHistogramsToNHCB *bool `json:"convertHistogramsToNHCB,omitempty"`
ConvertHistogramsToNHCB *bool `json:"convertHistogramsToNHCB,omitempty"` // nolint:kubeapilinter
// promoteScopeMetadata controls whether to promote OpenTelemetry scope metadata (i.e. name, version, schema URL, and attributes) to metric labels.
// As per the OpenTelemetry specification, the aforementioned scope metadata should be identifying, i.e. made into metric labels.
// It requires Prometheus >= v3.6.0.
// +optional
PromoteScopeMetadata *bool `json:"promoteScopeMetadata,omitempty"`
PromoteScopeMetadata *bool `json:"promoteScopeMetadata,omitempty"` // nolint:kubeapilinter
}
// Validate semantically validates the given OTLPConfig section.

View File

@@ -111,7 +111,7 @@ type ThanosRulerSpec struct {
// paused defines when a ThanosRuler deployment is paused, no actions except for deletion
// will be performed on the underlying objects.
// +optional
Paused bool `json:"paused,omitempty"`
Paused bool `json:"paused,omitempty"` // nolint:kubeapilinter
// replicas defines the number of thanos ruler instances to deploy.
// +optional
@@ -155,7 +155,7 @@ type ThanosRulerSpec struct {
// enableServiceLinks defines whether information about services should be injected into pod's environment variables
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"`
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"` // nolint:kubeapilinter
// priorityClassName defines the priority class assigned to the Pods
// +optional
@@ -211,7 +211,7 @@ type ThanosRulerSpec struct {
// listenLocal defines the Thanos ruler listen on loopback, so that it
// does not bind against the Pod IP.
// +optional
ListenLocal bool `json:"listenLocal,omitempty"`
ListenLocal bool `json:"listenLocal,omitempty"` // nolint:kubeapilinter
// podManagementPolicy defines the policy for creating/deleting pods when
// scaling up and down.
@@ -538,7 +538,7 @@ type ThanosRulerSpec struct {
// Starting Kubernetes 1.33, the feature is enabled by default.
//
// +optional
HostUsers *bool `json:"hostUsers,omitempty"`
HostUsers *bool `json:"hostUsers,omitempty"` // nolint:kubeapilinter
}
// ThanosRulerWebSpec defines the configuration of the ThanosRuler web server.
@@ -556,7 +556,7 @@ type ThanosRulerStatus struct {
// paused defines whether any actions on the underlying managed objects are
// being performed. Only delete actions will be performed.
// +optional
Paused bool `json:"paused"`
Paused bool `json:"paused"` // nolint:kubeapilinter
// replicas defines the total number of non-terminated pods targeted by this ThanosRuler deployment
// (their labels match the selector).
// +optional

View File

@@ -108,7 +108,7 @@ type SafeTLSConfig struct {
// insecureSkipVerify defines how to disable target certificate validation.
// +optional
InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty"`
InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty"` // nolint:kubeapilinter
// minVersion defines the minimum acceptable TLS version.
//

View File

@@ -109,7 +109,7 @@ type ProxyConfig struct {
//
// It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0.
// +optional
ProxyFromEnvironment *bool `json:"proxyFromEnvironment,omitempty"`
ProxyFromEnvironment *bool `json:"proxyFromEnvironment,omitempty"` // nolint:kubeapilinter
// proxyConnectHeader optionally specifies headers to send to
// proxies during CONNECT requests.
//
@@ -227,7 +227,7 @@ type ArbitraryFSAccessThroughSMsConfig struct {
// Setting this to true enhances security by preventing potential credential theft attacks.
//
// +optional
Deny bool `json:"deny,omitempty"`
Deny bool `json:"deny,omitempty"` // nolint:kubeapilinter
}
// Condition represents the state of the resources associated with the
@@ -360,7 +360,7 @@ type WebHTTPConfig struct {
// When TLSConfig is not configured, HTTP/2 will be disabled.
// Whenever the value of the field changes, a rolling update will be triggered.
// +optional
HTTP2 *bool `json:"http2,omitempty"`
HTTP2 *bool `json:"http2,omitempty"` // nolint:kubeapilinter
// headers defines a list of headers that can be added to HTTP responses.
// +optional
Headers *WebHTTPHeaders `json:"headers,omitempty"`
@@ -485,7 +485,7 @@ type WebTLSConfig struct {
// the order of elements in cipherSuites, is used.
//
// +optional
PreferServerCipherSuites *bool `json:"preferServerCipherSuites,omitempty"`
PreferServerCipherSuites *bool `json:"preferServerCipherSuites,omitempty"` // nolint:kubeapilinter
// curvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference
// order.
@@ -594,13 +594,13 @@ type Endpoint struct {
// honorLabels defines when true the metric's labels when they collide
// with the target's labels.
// +optional
HonorLabels bool `json:"honorLabels,omitempty"`
HonorLabels bool `json:"honorLabels,omitempty"` // nolint:kubeapilinter
// honorTimestamps defines whether Prometheus preserves the timestamps
// when exposed by the target.
//
// +optional
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
HonorTimestamps *bool `json:"honorTimestamps,omitempty"` // nolint:kubeapilinter
// trackTimestampsStaleness defines whether Prometheus tracks staleness of
// the metrics that have an explicit timestamp present in scraped data.
@@ -609,7 +609,7 @@ type Endpoint struct {
// It requires Prometheus >= v2.48.0.
//
// +optional
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"`
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"` // nolint:kubeapilinter
// metricRelabelings defines the relabeling rules to apply to the
// samples before ingestion.
@@ -637,7 +637,7 @@ type Endpoint struct {
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
//
// +optional
FilterRunning *bool `json:"filterRunning,omitempty"`
FilterRunning *bool `json:"filterRunning,omitempty"` // nolint:kubeapilinter
// bearerTokenFile defines the file to read bearer token for scraping the target.
//
@@ -656,7 +656,7 @@ type AttachMetadata struct {
// permissions on the `Nodes` objects.
//
// +optional
Node *bool `json:"node,omitempty"`
Node *bool `json:"node,omitempty"` // nolint:kubeapilinter
}
// OAuth2 configures OAuth2 settings.
@@ -791,7 +791,7 @@ type NamespaceSelector struct {
// any defines the boolean describing whether all namespaces are selected in contrast to a
// list restricting them.
// +optional
Any bool `json:"any,omitempty"`
Any bool `json:"any,omitempty"` // nolint:kubeapilinter
// matchNames defines the list of namespace names to select from.
// +optional
MatchNames []string `json:"matchNames,omitempty"`
@@ -830,7 +830,7 @@ type NativeHistogramConfig struct {
// It requires Prometheus >= v3.8.0.
//
// +optional
ScrapeNativeHistograms *bool `json:"scrapeNativeHistograms,omitempty"`
ScrapeNativeHistograms *bool `json:"scrapeNativeHistograms,omitempty"` // nolint:kubeapilinter
// scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram.
// It requires Prometheus >= v2.45.0.
@@ -838,7 +838,7 @@ type NativeHistogramConfig struct {
// Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration.
//
// +optional
ScrapeClassicHistograms *bool `json:"scrapeClassicHistograms,omitempty"`
ScrapeClassicHistograms *bool `json:"scrapeClassicHistograms,omitempty"` // nolint:kubeapilinter
// nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram,
// buckets will be merged to stay within the limit.
@@ -858,7 +858,7 @@ type NativeHistogramConfig struct {
// It requires Prometheus >= v3.0.0.
//
// +optional
ConvertClassicHistogramsToNHCB *bool `json:"convertClassicHistogramsToNHCB,omitempty"`
ConvertClassicHistogramsToNHCB *bool `json:"convertClassicHistogramsToNHCB,omitempty"` // nolint:kubeapilinter
}
// +kubebuilder:validation:Enum=RelabelConfig;RoleSelector
@@ -991,7 +991,7 @@ type TracingConfig struct {
// insecure if disabled, the client will use a secure connection.
// +optional
Insecure *bool `json:"insecure",omitempty`
Insecure *bool `json:"insecure",omitempty` // nolint:kubeapilinter
// headers defines the key-value pairs to be used as headers associated with gRPC or HTTP requests.
// +optional

View File

@@ -143,7 +143,7 @@ type Route struct {
// sibling nodes. It will always be overridden to true for the first-level
// route by the Prometheus operator.
// +optional
Continue bool `json:"continue,omitempty"`
Continue bool `json:"continue,omitempty"` // nolint:kubeapilinter
// routes defines the child routes.
// +listType=atomic
// +optional
@@ -257,7 +257,7 @@ type Receiver struct {
type PagerDutyConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// routingKey defines the secret's key that contains the PagerDuty integration key (when using
// Events API v2). Either this field or `serviceKey` needs to be defined.
// The secret needs to be in the same namespace as the AlertmanagerConfig
@@ -347,7 +347,7 @@ type PagerDutyLinkConfig struct {
type DiscordConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the secret's key that contains the Discord webhook URL.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -380,7 +380,7 @@ type DiscordConfig struct {
type SlackConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the secret's key that contains the Slack webhook URL.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -415,7 +415,7 @@ type SlackConfig struct {
// shortFields determines whether fields are displayed in a compact format.
// When true, fields are shown side by side when possible.
// +optional
ShortFields bool `json:"shortFields,omitempty"`
ShortFields bool `json:"shortFields,omitempty"` // nolint:kubeapilinter
// footer defines small text displayed at the bottom of the message attachment.
// +optional
Footer string `json:"footer,omitempty"`
@@ -441,7 +441,7 @@ type SlackConfig struct {
// linkNames enables automatic linking of channel names and usernames in the message.
// When true, @channel and @username will be converted to clickable links.
// +optional
LinkNames bool `json:"linkNames,omitempty"`
LinkNames bool `json:"linkNames,omitempty"` // nolint:kubeapilinter
// mrkdwnIn defines which fields should be parsed as Slack markdown.
// Valid values include "pretext", "text", and "fields".
// +listType=atomic
@@ -590,7 +590,7 @@ type SlackField struct {
// When true, Slack may display this field side by side with other short fields.
// When false or not specified, the field takes the full width of the message.
// +optional
Short *bool `json:"short,omitempty"`
Short *bool `json:"short,omitempty"` // nolint:kubeapilinter
}
// Validate ensures SlackField is valid
@@ -611,7 +611,7 @@ func (sf *SlackField) Validate() error {
type WebhookConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// url defines the URL to send HTTP POST requests to.
// urlSecret takes precedence over url. One of urlSecret and url should be defined.
// +optional
@@ -642,7 +642,7 @@ type WebhookConfig struct {
type OpsGenieConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiKey defines the secret's key that contains the OpsGenie API key.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -679,7 +679,7 @@ type OpsGenieConfig struct {
// updateAlerts defines Whether to update message and description of the alert in OpsGenie if it already exists
// By default, the alert is never updated in OpsGenie, the new message only appears in activity log.
// +optional
UpdateAlerts *bool `json:"updateAlerts,omitempty"`
UpdateAlerts *bool `json:"updateAlerts,omitempty"` // nolint:kubeapilinter
// details defines a set of arbitrary key/value pairs that provide further detail about the incident.
// These appear as additional fields in the OpsGenie alert.
// +listType=atomic
@@ -798,12 +798,12 @@ type HTTPConfig struct {
// followRedirects specifies whether the client should follow HTTP 3xx redirects.
// When true, the client will automatically follow redirect responses.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHttp2 can be used to disable HTTP2.
//
// +optional
EnableHTTP2 *bool `json:"enableHttp2,omitempty"`
EnableHTTP2 *bool `json:"enableHttp2,omitempty"` // nolint:kubeapilinter
}
// WebexConfig configures notification via Cisco Webex
@@ -811,7 +811,7 @@ type HTTPConfig struct {
type WebexConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the Webex Teams API URL i.e. https://webexapis.com/v1/messages
// +optional
@@ -836,7 +836,7 @@ type WebexConfig struct {
type WeChatConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiSecret defines the secret's key that contains the WeChat API key.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -883,7 +883,7 @@ type WeChatConfig struct {
type EmailConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// to defines the email address to send notifications to.
// This is the recipient address for alert notifications.
// +optional
@@ -935,7 +935,7 @@ type EmailConfig struct {
// requireTLS defines the SMTP TLS requirement.
// Note that Go does not support unencrypted connections to remote SMTP endpoints.
// +optional
RequireTLS *bool `json:"requireTLS,omitempty"`
RequireTLS *bool `json:"requireTLS,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration for SMTP connections.
// This includes settings for certificates, CA validation, and TLS protocol options.
// +optional
@@ -947,7 +947,7 @@ type EmailConfig struct {
type VictorOpsConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiKey defines the secret's key that contains the API key to use when talking to the VictorOps API.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -992,7 +992,7 @@ type VictorOpsConfig struct {
type PushoverConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// userKey defines the secret's key that contains the recipient user's user key.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -1063,11 +1063,11 @@ type PushoverConfig struct {
// When true, the message can include HTML formatting tags.
// html and monospace formatting are mutually exclusive.
// +optional
HTML *bool `json:"html,omitempty"`
HTML *bool `json:"html,omitempty"` //nolint:kubeapilinter
// monospace optional HTML/monospace formatting for the message, see https://pushover.net/api#html
// html and monospace formatting are mutually exclusive.
// +optional
Monospace *bool `json:"monospace,omitempty"`
Monospace *bool `json:"monospace,omitempty"` //nolint:kubeapilinter
// httpConfig defines the HTTP client configuration for Pushover API requests.
// +optional
HTTPConfig *HTTPConfig `json:"httpConfig,omitempty"`
@@ -1078,7 +1078,7 @@ type PushoverConfig struct {
type SNSConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the SNS API URL, e.g. https://sns.us-east-2.amazonaws.com.
// If not specified, the SNS API URL from the SNS SDK will be used.
// +optional
@@ -1122,7 +1122,7 @@ type SNSConfig struct {
type TelegramConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the Telegram API URL, e.g. https://api.telegram.org.
// If not specified, the default Telegram API URL will be used.
// +optional
@@ -1155,7 +1155,7 @@ type TelegramConfig struct {
// disableNotifications controls whether Telegram notifications are sent silently.
// When true, users will receive the message without notification sounds.
// +optional
DisableNotifications *bool `json:"disableNotifications,omitempty"`
DisableNotifications *bool `json:"disableNotifications,omitempty"` // nolint:kubeapilinter
// parseMode defines the parse mode for telegram message formatting.
// Valid values are "MarkdownV2", "Markdown", and "HTML".
// This determines how text formatting is interpreted in the message.
@@ -1172,7 +1172,7 @@ type TelegramConfig struct {
type MSTeamsConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// webhookUrl defines the MSTeams webhook URL for sending notifications.
// This is the incoming webhook URL configured in your Teams channel.
// +required
@@ -1201,7 +1201,7 @@ type MSTeamsConfig struct {
type MSTeamsV2Config struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// webhookURL defines the MSTeams incoming webhook URL for adaptive card notifications.
// This webhook must support the newer adaptive cards format required by Teams flows.
// +optional
@@ -1226,7 +1226,7 @@ type MSTeamsV2Config struct {
type RocketChatConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the API URL for RocketChat.
// Defaults to https://open.rocket.chat/ if not specified.
// +optional
@@ -1282,7 +1282,7 @@ type RocketChatConfig struct {
// shortFields defines whether to use short fields in the message layout.
// When true, fields may be displayed side by side to save space.
// +optional
ShortFields *bool `json:"shortFields,omitempty"`
ShortFields *bool `json:"shortFields,omitempty"` // nolint:kubeapilinter
// imageURL defines the image URL to display within the message.
// This embeds an image directly in the message attachment.
// +optional
@@ -1294,7 +1294,7 @@ type RocketChatConfig struct {
// linkNames defines whether to enable automatic linking of usernames and channels.
// When true, @username and #channel references become clickable links.
// +optional
LinkNames *bool `json:"linkNames,omitempty"`
LinkNames *bool `json:"linkNames,omitempty"` // nolint:kubeapilinter
// actions defines interactive actions to include in the message.
// These appear as buttons that users can click to trigger responses.
// +listType=atomic
@@ -1321,7 +1321,7 @@ type RocketChatFieldConfig struct {
// short defines whether this field should be a short field.
// When true, the field may be displayed inline with other short fields to save space.
// +optional
Short *bool `json:"short,omitempty"`
Short *bool `json:"short,omitempty"` // nolint:kubeapilinter
}
// RocketChatActionConfig defines actions for RocketChat messages.
@@ -1398,7 +1398,7 @@ type Matcher struct {
// regex defines whether to match on equality (false) or regular-expression (true).
// Deprecated: for AlertManager >= v0.22.0, `matchType` should be used instead.
// +optional
Regex bool `json:"regex,omitempty"`
Regex bool `json:"regex,omitempty"` // nolint:kubeapilinter
}
// String returns Matcher as a string

View File

@@ -40,7 +40,7 @@ type SDFile string
type NamespaceDiscovery struct {
// ownNamespace includes the namespace in which the Prometheus pod runs to the list of watched namespaces.
// +optional
IncludeOwnNamespace *bool `json:"ownNamespace,omitempty"`
IncludeOwnNamespace *bool `json:"ownNamespace,omitempty"` // nolint:kubeapilinter
// names defines a list of namespaces where to watch for resources.
// If empty and `ownNamespace` isn't true, Prometheus watches for resources in all namespaces.
// +listType=set
@@ -55,7 +55,7 @@ type AttachMetadata struct {
// Only valid for Pod, Endpoint and Endpointslice roles.
//
// +optional
Node *bool `json:"node,omitempty"`
Node *bool `json:"node,omitempty"` // nolint:kubeapilinter
}
// Filter name and value pairs to limit the discovery process to a subset of available resources.
@@ -279,18 +279,18 @@ type ScrapeConfigSpec struct {
// honorTimestamps defines whether Prometheus preserves the timestamps
// when exposed by the target.
// +optional
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
HonorTimestamps *bool `json:"honorTimestamps,omitempty"` // nolint:kubeapilinter
// trackTimestampsStaleness defines whether Prometheus tracks staleness of
// the metrics that have an explicit timestamp present in scraped data.
// Has no effect if `honorTimestamps` is false.
// It requires Prometheus >= v2.48.0.
//
// +optional
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"`
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"` // nolint:kubeapilinter
// honorLabels defines when true the metric's labels when they collide
// with the target's labels.
// +optional
HonorLabels *bool `json:"honorLabels,omitempty"`
HonorLabels *bool `json:"honorLabels,omitempty"` // nolint:kubeapilinter
// params defines optional HTTP URL parameters
// +mapType:=atomic
// +optional
@@ -305,10 +305,10 @@ type ScrapeConfigSpec struct {
//
// If unset, Prometheus uses true by default.
// +optional
EnableCompression *bool `json:"enableCompression,omitempty"`
EnableCompression *bool `json:"enableCompression,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// basicAuth defines information to use on every scrape request.
// +optional
BasicAuth *v1.BasicAuth `json:"basicAuth,omitempty"`
@@ -439,10 +439,10 @@ type HTTPSDConfig struct {
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API.
@@ -490,10 +490,10 @@ type KubernetesSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration to connect to the Kubernetes API.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
@@ -562,7 +562,7 @@ type ConsulSDConfig struct {
// allowStale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul.
// If unset, Prometheus uses its default value.
// +optional
AllowStale *bool `json:"allowStale,omitempty"`
AllowStale *bool `json:"allowStale,omitempty"` // nolint:kubeapilinter
// refreshInterval defines the time after which the provided names are refreshed.
// If not set, Prometheus uses its default value.
// +optional
@@ -583,10 +583,10 @@ type ConsulSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHttp2 *bool `json:"enableHTTP2,omitempty"`
EnableHttp2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration to connect to the Consul API.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
@@ -682,11 +682,11 @@ type EC2SDConfig struct {
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// It requires Prometheus >= v2.41.0
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// It requires Prometheus >= v2.41.0
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// +kubebuilder:validation:Enum=OAuth;ManagedIdentity;SDK
@@ -759,10 +759,10 @@ type AzureSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// tlsConfig defies the TLS configuration applying to the target HTTP endpoint.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
@@ -893,7 +893,7 @@ type OpenStackSDConfig struct {
// allTenants defines whether the service discovery should list all instances for all projects.
// It is only relevant for the 'instance' role and usually requires admin permissions.
// +optional
AllTenants *bool `json:"allTenants,omitempty"`
AllTenants *bool `json:"allTenants,omitempty"` // nolint:kubeapilinter
// refreshInterval defines the time after which the provided names are refreshed.
// If not set, Prometheus uses its default value.
// +optional
@@ -930,10 +930,10 @@ type DigitalOceanSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration to connect to the Consul API.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
@@ -985,10 +985,10 @@ type KumaSDConfig struct {
OAuth2 *v1.OAuth2 `json:"oauth2,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// Eureka SD configurations allow retrieving scrape targets using the Eureka REST API.
@@ -1019,10 +1019,10 @@ type EurekaSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// refreshInterval defines the time after which the provided names are refreshed.
// If not set, Prometheus uses its default value.
// +optional
@@ -1059,7 +1059,7 @@ type DockerSDConfig struct {
// It requires Prometheus >= v2.54.1.
//
// +optional
MatchFirstNetwork *bool `json:"matchFirstNetwork,omitempty"`
MatchFirstNetwork *bool `json:"matchFirstNetwork,omitempty"` // nolint:kubeapilinter
// filters defines filters to limit the discovery process to a subset of the available resources.
// +optional
Filters Filters `json:"filters,omitempty"`
@@ -1079,10 +1079,10 @@ type DockerSDConfig struct {
OAuth2 *v1.OAuth2 `json:"oauth2,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// HetznerSDConfig allow retrieving scrape targets from Hetzner Cloud API and Robot API.
@@ -1109,10 +1109,10 @@ type HetznerSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration to connect to the Consul API.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
@@ -1139,7 +1139,7 @@ type NomadSDConfig struct {
// allowStale defines the information to access the Nomad API. It is to be defined
// as the Nomad documentation requires.
// +optional
AllowStale *bool `json:"allowStale,omitempty"`
AllowStale *bool `json:"allowStale,omitempty"` // nolint:kubeapilinter
// namespace defines the Nomad namespace to query for service discovery.
// When specified, only resources within this namespace will be discovered.
// +optional
@@ -1179,10 +1179,10 @@ type NomadSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// Service of the targets to retrieve. Must be `VPS` or `DedicatedServer`.
@@ -1273,10 +1273,10 @@ type DockerSwarmSDConfig struct {
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// LinodeSDConfig configurations allow retrieving scrape targets from Linode's Linode APIv4.
@@ -1311,13 +1311,13 @@ type LinodeSDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration to connect to the Consul API.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// PuppetDBSDConfig configurations allow retrieving scrape targets from PuppetDB resources.
@@ -1337,7 +1337,7 @@ type PuppetDBSDConfig struct {
// Note: Enabling this exposes parameters in the Prometheus UI and API. Make sure
// that you don't have secrets exposed as parameters if you enable this.
// +optional
IncludeParameters *bool `json:"includeParameters,omitempty"`
IncludeParameters *bool `json:"includeParameters,omitempty"` // nolint:kubeapilinter
// refreshInterval defines the time after which the provided names are refreshed.
// If not set, Prometheus uses its default value.
// +optional
@@ -1365,10 +1365,10 @@ type PuppetDBSDConfig struct {
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// LightSailSDConfig configurations allow retrieving scrape targets from AWS Lightsail instances.
@@ -1419,10 +1419,10 @@ type LightSailSDConfig struct {
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
}
// Role of the targets to retrieve. Must be `Instance` or `Baremetal`.
@@ -1483,10 +1483,10 @@ type ScalewaySDConfig struct {
v1.ProxyConfig `json:",inline"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration to connect to the Consul API.
// +optional
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
@@ -1518,10 +1518,10 @@ type IonosSDConfig struct {
TLSConfig *v1.SafeTLSConfig `json:"tlsConfig,omitempty"`
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHTTP2 defines whether to enable HTTP2.
// +optional
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"`
EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` // nolint:kubeapilinter
// oauth2 defines the configuration to use on every scrape request.
// +optional
OAuth2 *v1.OAuth2 `json:"oauth2,omitempty"`

View File

@@ -134,7 +134,7 @@ type Route struct {
// sibling nodes. It will always be overridden to true for the first-level
// route by the Prometheus operator.
// +optional
Continue bool `json:"continue,omitempty"`
Continue bool `json:"continue,omitempty"` // nolint:kubeapilinter
// routes defines the child routes.
// +optional
Routes []apiextensionsv1.JSON `json:"routes,omitempty"`
@@ -230,7 +230,7 @@ type Receiver struct {
type PagerDutyConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// routingKey defines the secret's key that contains the PagerDuty integration key (when using
// Events API v2). Either this field or `serviceKey` needs to be defined.
// The secret needs to be in the same namespace as the AlertmanagerConfig
@@ -317,7 +317,7 @@ type PagerDutyLinkConfig struct {
type DiscordConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the secret's key that contains the Discord webhook URL.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -350,7 +350,7 @@ type DiscordConfig struct {
type SlackConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the secret's key that contains the Slack webhook URL.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -384,7 +384,7 @@ type SlackConfig struct {
// shortFields determines whether fields are displayed in a compact format.
// When true, fields are shown side by side when possible.
// +optional
ShortFields bool `json:"shortFields,omitempty"`
ShortFields bool `json:"shortFields,omitempty"` // nolint:kubeapilinter
// footer defines small text displayed at the bottom of the message attachment.
// +optional
Footer string `json:"footer,omitempty"`
@@ -410,7 +410,7 @@ type SlackConfig struct {
// linkNames enables automatic linking of channel names and usernames in the message.
// When true, @channel and @username will be converted to clickable links.
// +optional
LinkNames bool `json:"linkNames,omitempty"`
LinkNames bool `json:"linkNames,omitempty"` // nolint:kubeapilinter
// mrkdwnIn defines which fields should be parsed as Slack markdown.
// Valid values include "pretext", "text", and "fields".
// +optional
@@ -557,7 +557,7 @@ type SlackField struct {
// When true, Slack may display this field side by side with other short fields.
// When false or not specified, the field takes the full width of the message.
// +optional
Short *bool `json:"short,omitempty"`
Short *bool `json:"short,omitempty"` // nolint:kubeapilinter
}
// Validate ensures SlackField is valid
@@ -578,7 +578,7 @@ func (sf *SlackField) Validate() error {
type WebhookConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// url defines the URL to send HTTP POST requests to.
// urlSecret takes precedence over url. One of urlSecret and url should be defined.
// +optional
@@ -609,7 +609,7 @@ type WebhookConfig struct {
type OpsGenieConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiKey defines the secret's key that contains the OpsGenie API key.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -760,12 +760,12 @@ type HTTPConfig struct {
// followRedirects defines whether HTTP requests follow HTTP 3xx redirects.
// When true, the client will automatically follow redirect responses.
// +optional
FollowRedirects *bool `json:"followRedirects,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty"` // nolint:kubeapilinter
// enableHttp2 can be used to disable HTTP2.
//
// +optional
EnableHTTP2 *bool `json:"enableHttp2,omitempty"`
EnableHTTP2 *bool `json:"enableHttp2,omitempty"` // nolint:kubeapilinter
}
// WebexConfig configures notification via Cisco Webex
@@ -773,7 +773,7 @@ type HTTPConfig struct {
type WebexConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the Webex Teams API URL i.e. https://webexapis.com/v1/messages
// +optional
@@ -799,7 +799,7 @@ type WebexConfig struct {
type WeChatConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiSecret defines the secret's key that contains the WeChat API key.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -846,7 +846,7 @@ type WeChatConfig struct {
type EmailConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// to defines the email address to send notifications to.
// This is the recipient address for alert notifications.
// +optional
@@ -897,7 +897,7 @@ type EmailConfig struct {
// requireTLS defines the SMTP TLS requirement.
// Note that Go does not support unencrypted connections to remote SMTP endpoints.
// +optional
RequireTLS *bool `json:"requireTLS,omitempty"`
RequireTLS *bool `json:"requireTLS,omitempty"` // nolint:kubeapilinter
// tlsConfig defines the TLS configuration for SMTP connections.
// This includes settings for certificates, CA validation, and TLS protocol options.
// +optional
@@ -909,7 +909,7 @@ type EmailConfig struct {
type VictorOpsConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiKey defines the secret's key that contains the API key to use when talking to the VictorOps API.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -953,7 +953,7 @@ type VictorOpsConfig struct {
type PushoverConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// userKey defines the secret's key that contains the recipient user's user key.
// The secret needs to be in the same namespace as the AlertmanagerConfig
// object and accessible by the Prometheus Operator.
@@ -1024,11 +1024,11 @@ type PushoverConfig struct {
// When true, the message can include HTML formatting tags.
// html and monospace formatting are mutually exclusive.
// +optional
HTML *bool `json:"html,omitempty"`
HTML *bool `json:"html,omitempty"` //nolint:kubeapilinter
// monospace optional HTML/monospace formatting for the message, see https://pushover.net/api#html
// html and monospace formatting are mutually exclusive.
// +optional
Monospace *bool `json:"monospace,omitempty"`
Monospace *bool `json:"monospace,omitempty"` //nolint:kubeapilinter
// httpConfig defines the HTTP client configuration for Pushover API requests.
// +optional
HTTPConfig *HTTPConfig `json:"httpConfig,omitempty"`
@@ -1039,7 +1039,7 @@ type PushoverConfig struct {
type SNSConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the SNS API URL, e.g. https://sns.us-east-2.amazonaws.com.
// If not specified, the SNS API URL from the SNS SDK will be used.
// +optional
@@ -1083,7 +1083,7 @@ type SNSConfig struct {
type TelegramConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the Telegram API URL, e.g. https://api.telegram.org.
// If not specified, the default Telegram API URL will be used.
// +optional
@@ -1116,7 +1116,7 @@ type TelegramConfig struct {
// disableNotifications controls whether Telegram notifications are sent silently.
// When true, users will receive the message without notification sounds.
// +optional
DisableNotifications *bool `json:"disableNotifications,omitempty"`
DisableNotifications *bool `json:"disableNotifications,omitempty"` // nolint:kubeapilinter
// parseMode defines the parse mode for telegram message formatting.
// Valid values are "MarkdownV2", "Markdown", and "HTML".
// This determines how text formatting is interpreted in the message.
@@ -1133,7 +1133,7 @@ type TelegramConfig struct {
type MSTeamsConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// webhookUrl defines the MSTeams webhook URL for sending notifications.
// This is the incoming webhook URL configured in your Teams channel.
// +required
@@ -1162,7 +1162,7 @@ type MSTeamsConfig struct {
type MSTeamsV2Config struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// webhookURL defines the MSTeams incoming webhook URL for adaptive card notifications.
// This webhook must support the newer adaptive cards format required by Teams flows.
// +optional
@@ -1187,7 +1187,7 @@ type MSTeamsV2Config struct {
type RocketChatConfig struct {
// sendResolved defines whether or not to notify about resolved alerts.
// +optional
SendResolved *bool `json:"sendResolved,omitempty"`
SendResolved *bool `json:"sendResolved,omitempty"` // nolint:kubeapilinter
// apiURL defines the API URL for RocketChat.
// Defaults to https://open.rocket.chat/ if not specified.
// +optional
@@ -1242,7 +1242,7 @@ type RocketChatConfig struct {
// shortFields defines whether to use short fields in the message layout.
// When true, fields may be displayed side by side to save space.
// +optional
ShortFields *bool `json:"shortFields,omitempty"`
ShortFields *bool `json:"shortFields,omitempty"` // nolint:kubeapilinter
// imageURL defines the image URL to display within the message.
// This embeds an image directly in the message attachment.
// +optional
@@ -1254,7 +1254,7 @@ type RocketChatConfig struct {
// linkNames defines whether to enable automatic linking of usernames and channels.
// When true, @username and #channel references become clickable links.
// +optional
LinkNames *bool `json:"linkNames,omitempty"`
LinkNames *bool `json:"linkNames,omitempty"` // nolint:kubeapilinter
// actions defines interactive actions to include in the message.
// These appear as buttons that users can click to trigger responses.
// +kubebuilder:validation:MinItems=1
@@ -1280,7 +1280,7 @@ type RocketChatFieldConfig struct {
// short defines whether this field should be a short field.
// When true, the field may be displayed inline with other short fields to save space.
// +optional
Short *bool `json:"short,omitempty"`
Short *bool `json:"short,omitempty"` // nolint:kubeapilinter
}
// RocketChatActionConfig defines actions for RocketChat messages.