Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions config/v1alpha1/types_cluster_monitoring.go
Original file line number Diff line number Diff line change
Expand Up @@ -2240,19 +2240,15 @@ type Retention struct {
// When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
// The default value is 15.
// Minimum value is 1 day.
// Maximum value is 365 days (1 year).
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=365
// +optional
DurationInDays int32 `json:"durationInDays,omitempty"`
// sizeInGiB specifies the maximum storage size in gibibytes (GiB) that Prometheus
// can use for data blocks and the write-ahead log (WAL).
// When the limit is reached, Prometheus will delete oldest data first.
// When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity.
// Minimum value is 1 GiB.
// Maximum value is 16384 GiB (16 TiB).
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=16384
// +optional
SizeInGiB int32 `json:"sizeInGiB,omitempty"`
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4140,9 +4140,7 @@ spec:
When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
The default value is 15.
Minimum value is 1 day.
Maximum value is 365 days (1 year).
format: int32
maximum: 365
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note, a maximum of 2,147,483,647 here is equivalent to ~58835 centuries. Seems like an unreasonably high number that would never be set.

Without more context, I would think it to be reasonable to increase this to something like 3650 to account for ~10 years of retention. That seems pretty high to me for metrics, but 🤷

minimum: 1
type: integer
sizeInGiB:
Expand All @@ -4152,9 +4150,7 @@ spec:
When the limit is reached, Prometheus will delete oldest data first.
When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity.
Minimum value is 1 GiB.
Maximum value is 16384 GiB (16 TiB).
format: int32
maximum: 16384
minimum: 1
type: integer
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4140,9 +4140,7 @@ spec:
When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
The default value is 15.
Minimum value is 1 day.
Maximum value is 365 days (1 year).
format: int32
maximum: 365
minimum: 1
type: integer
sizeInGiB:
Expand All @@ -4152,9 +4150,7 @@ spec:
When the limit is reached, Prometheus will delete oldest data first.
When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity.
Minimum value is 1 GiB.
Maximum value is 16384 GiB (16 TiB).
format: int32
maximum: 16384
minimum: 1
type: integer
type: object
Expand Down
4 changes: 2 additions & 2 deletions config/v1alpha1/zz_generated.swagger_doc_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions openapi/generated_openapi/zz_generated.openapi.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 46 additions & 5 deletions openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -15834,6 +15834,7 @@
"properties": {
"kms": {
"description": "kms defines the configuration for the external KMS instance that manages the encryption keys, when KMS encryption is enabled sensitive resources will be encrypted using keys managed by an externally configured KMS instance.\n\nThe Key Management Service (KMS) instance provides symmetric encryption and is responsible for managing the lifecyle of the encryption keys outside of the control plane. This allows integration with an external provider to manage the data encryption keys securely.",
"default": {},
"$ref": "#/definitions/com.github.openshift.api.config.v1.KMSPluginConfig"
},
"type": {
Expand Down Expand Up @@ -20514,6 +20515,19 @@
}
}
},
"com.github.openshift.api.config.v1.NetworkObservabilitySpec": {
"description": "NetworkObservabilitySpec defines the configuration for network observability installation",
"type": "object",
"required": [
"installationPolicy"
],
"properties": {
"installationPolicy": {
"description": "installationPolicy controls whether network observability is installed during cluster deployment. Valid values are \"InstallAndEnable\" and \"NoAction\". When set to \"InstallAndEnable\", ensure that network observability will be installed and enabled on the cluster. If already installed, no action taken, but if it gets uninstalled, it will install it again. When set to \"NoAction\", nothing will be done regarding Network observability.",
"type": "string"
}
}
},
"com.github.openshift.api.config.v1.NetworkSpec": {
"description": "NetworkSpec is the desired network configuration. As a general rule, this SHOULD NOT be read directly. Instead, you should consume the NetworkStatus, as it indicates the currently deployed configuration. Currently, most spec fields are immutable after installation. Please view the individual ones for further details on each.",
"type": "object",
Expand Down Expand Up @@ -20541,6 +20555,11 @@
"default": {},
"$ref": "#/definitions/com.github.openshift.api.config.v1.NetworkDiagnostics"
},
"networkObservability": {
"description": "networkObservability is an optional field that configures network observability installation during cluster deployment (day-0). When omitted, unless this is a SNO cluster, network observability will be installed if not already present, after that, no action taken.",
"default": {},
"$ref": "#/definitions/com.github.openshift.api.config.v1.NetworkObservabilitySpec"
},
"networkType": {
"description": "networkType is the plugin that is to be deployed (e.g. OVNKubernetes). This should match a value that the cluster-network-operator understands, or else no networking will be installed. Currently supported values are: - OVNKubernetes This field is immutable after installation.",
"type": "string",
Expand Down Expand Up @@ -22323,7 +22342,7 @@
"type": "object",
"properties": {
"allowedRegistries": {
"description": "allowedRegistries are the only registries permitted for image pull and push actions. All other registries are denied.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.",
"description": "allowedRegistries are the only registries permitted for image pull and push actions. All other registries are denied. Each entry must be a valid registry scope in the format hostname[:port][/path], optionally prefixed with \"*.\" for wildcard subdomains (e.g., \"*.example.com\"). The hostname must consist of valid DNS labels separated by dots, where each label contains only alphanumeric characters and hyphens and does not start or end with a hyphen. Entries must not be empty, must not include tags (e.g., \":latest\") or digests (e.g., \"@sha256:...\"), and must be at most 256 characters in length. The list may contain at most 1024 entries.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.",
"type": "array",
"items": {
"type": "string",
Expand All @@ -22332,7 +22351,7 @@
"x-kubernetes-list-type": "atomic"
},
"blockedRegistries": {
"description": "blockedRegistries cannot be used for image pull and push actions. All other registries are permitted.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.",
"description": "blockedRegistries cannot be used for image pull and push actions. All other registries are permitted. Each entry must be a valid registry scope in the format hostname[:port][/path], optionally prefixed with \"*.\" for wildcard subdomains (e.g., \"*.example.com\"). The hostname must consist of valid DNS labels separated by dots, where each label contains only alphanumeric characters and hyphens and does not start or end with a hyphen. Entries must not be empty, must not include tags (e.g., \":latest\") or digests (e.g., \"@sha256:...\"), and must be at most 256 characters in length. The list may contain at most 1024 entries.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.",
"type": "array",
"items": {
"type": "string",
Expand All @@ -22350,7 +22369,7 @@
"x-kubernetes-list-type": "set"
},
"insecureRegistries": {
"description": "insecureRegistries are registries which do not have a valid TLS certificates or only support HTTP connections.",
"description": "insecureRegistries are registries which do not have a valid TLS certificates or only support HTTP connections. Each entry must be a valid registry scope in the format hostname[:port][/path], optionally prefixed with \"*.\" for wildcard subdomains (e.g., \"*.example.com\"). The hostname must consist of valid DNS labels separated by dots, where each label contains only alphanumeric characters and hyphens and does not start or end with a hyphen. Entries must not be empty, must not include tags (e.g., \":latest\") or digests (e.g., \"@sha256:...\"), and must be at most 256 characters in length. The list may contain at most 1024 entries.",
"type": "array",
"items": {
"type": "string",
Expand Down Expand Up @@ -24844,6 +24863,11 @@
"default": {},
"$ref": "#/definitions/com.github.openshift.api.config.v1alpha1.NodeExporterCollectorProcessesConfig"
},
"softirqs": {
"description": "softirqs configures the softirqs collector, which exposes detailed softirq statistics from /proc/softirqs. softirqs is optional. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is disabled. Enable when you need visibility into kernel softirq processing across CPUs.",
"default": {},
"$ref": "#/definitions/com.github.openshift.api.config.v1alpha1.NodeExporterCollectorSoftirqsConfig"
},
"systemd": {
"description": "systemd configures the systemd collector, which collects statistics on the systemd daemon and its managed services. systemd is optional. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is disabled. Enabling this collector with a long list of selected units may produce metrics with high cardinality. If you enable this collector, closely monitor the prometheus-k8s deployment for excessive memory usage. Enable when you need metrics for specific units; scope units carefully.",
"default": {},
Expand Down Expand Up @@ -25002,6 +25026,23 @@
}
}
},
"com.github.openshift.api.config.v1alpha1.NodeExporterCollectorSoftirqsConfig": {
"description": "NodeExporterCollectorSoftirqsConfig provides configuration for the softirqs collector of the node-exporter agent. The softirqs collector exposes detailed softirq statistics from /proc/softirqs. It is disabled by default.",
"type": "object",
"required": [
"collectionPolicy"
],
"properties": {
"collectionPolicy": {
"description": "collectionPolicy declares whether the softirqs collector collects metrics. This field is required. Valid values are \"Collect\" and \"DoNotCollect\". When set to \"Collect\", the softirqs collector is active and softirq statistics are collected. When set to \"DoNotCollect\", the softirqs collector is inactive.\n\nPossible enum values:\n - `\"Collect\"` means the collector is active and will produce metrics.\n - `\"DoNotCollect\"` means the collector is inactive and will not produce metrics.",
"type": "string",
"enum": [
"Collect",
"DoNotCollect"
]
}
}
},
"com.github.openshift.api.config.v1alpha1.NodeExporterCollectorSystemdCollectConfig": {
"description": "NodeExporterCollectorSystemdCollectConfig holds configuration options for the systemd collector when it is actively collecting metrics. At least one field must be specified.",
"type": "object",
Expand Down Expand Up @@ -25902,12 +25943,12 @@
"type": "object",
"properties": {
"durationInDays": {
"description": "durationInDays specifies how many days Prometheus will retain metrics data. Prometheus automatically deletes data older than this duration. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 15. Minimum value is 1 day. Maximum value is 365 days (1 year).",
"description": "durationInDays specifies how many days Prometheus will retain metrics data. Prometheus automatically deletes data older than this duration. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The default value is 15. Minimum value is 1 day.",
"type": "integer",
"format": "int32"
},
"sizeInGiB": {
"description": "sizeInGiB specifies the maximum storage size in gibibytes (GiB) that Prometheus can use for data blocks and the write-ahead log (WAL). When the limit is reached, Prometheus will delete oldest data first. When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity. Minimum value is 1 GiB. Maximum value is 16384 GiB (16 TiB).",
"description": "sizeInGiB specifies the maximum storage size in gibibytes (GiB) that Prometheus can use for data blocks and the write-ahead log (WAL). When the limit is reached, Prometheus will delete oldest data first. When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity. Minimum value is 1 GiB.",
"type": "integer",
"format": "int32"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4140,9 +4140,7 @@ spec:
When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
The default value is 15.
Minimum value is 1 day.
Maximum value is 365 days (1 year).
format: int32
maximum: 365
minimum: 1
type: integer
sizeInGiB:
Expand All @@ -4152,9 +4150,7 @@ spec:
When the limit is reached, Prometheus will delete oldest data first.
When omitted, no size limit is enforced and Prometheus uses available PersistentVolume capacity.
Minimum value is 1 GiB.
Maximum value is 16384 GiB (16 TiB).
format: int32
maximum: 16384
minimum: 1
type: integer
type: object
Expand Down