Skip to content

Commit

Permalink
Add field for enabling EFS volume metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
bertinatto committed Apr 11, 2024
1 parent 3c04614 commit c0f376b
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 2 deletions.
21 changes: 21 additions & 0 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.

14 changes: 14 additions & 0 deletions openapi/openapi.json
Expand Up @@ -25791,6 +25791,20 @@
"description": "AWSCSIDriverConfigSpec defines properties that can be configured for the AWS CSI driver.",
"type": "object",
"properties": {
"efsVolumeMetricsFSRateLimit": {
"description": "efsVolumeMetricsFSRateLimit defines the rate limit, in goroutines per file system, for processing volume metrics. Requires efsVolumeMetricsOptIn to be enabled. The default rate limit set by the EFS CSI driver is 240 goroutines per file system.",
"type": "integer",
"format": "int32"
},
"efsVolumeMetricsOptIn": {
"description": "efsVolumeMetricsOptIn enables metrics for EFS CSI Driver volumes. When enabled, the CSI driver traverses the entire volume to calculate and return metrics. This operation can significantly impact system performance due to the extensive volume walk required. Use with caution in performance-sensitive environments.",
"type": "boolean"
},
"efsVolumeMetricsRefreshPeriod": {
"description": "efsVolumeMetricsRefreshPeriod specifies the frequency, in minutes, at which volume metrics are refreshed. Requires efsVolumeMetricsOptIn to be enabled to take effect. The default refresh period in the EFS CSI driver is 240 minutes.",
"type": "integer",
"format": "int32"
},
"kmsKeyARN": {
"description": "kmsKeyARN sets the cluster default storage class to encrypt volumes with a user-defined KMS key, rather than the default KMS key used by AWS. The value may be either the ARN or Alias ARN of a KMS key.",
"type": "string"
Expand Down
19 changes: 19 additions & 0 deletions operator/v1/types_csi_cluster_driver.go
Expand Up @@ -168,6 +168,25 @@ type AWSCSIDriverConfigSpec struct {
// +kubebuilder:validation:Pattern:=`^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b|aws-iso-e|aws-iso-f):kms:[a-z0-9-]+:[0-9]{12}:(key|alias)\/.*$`
// +optional
KMSKeyARN string `json:"kmsKeyARN,omitempty"`

// efsVolumeMetricsOptIn enables metrics for EFS CSI Driver volumes.
// When enabled, the CSI driver traverses the entire volume to calculate and return metrics.
// This operation can significantly impact system performance due to the extensive volume walk required.
// Use with caution in performance-sensitive environments.
// +optional
EFSVolumeMetricsOptIn bool `json:"efsVolumeMetricsOptIn,omitempty"`

// efsVolumeMetricsRefreshPeriod specifies the frequency, in minutes, at which volume metrics are refreshed.
// Requires efsVolumeMetricsOptIn to be enabled to take effect.
// The default refresh period in the EFS CSI driver is 240 minutes.
// +optional
EFSVolumeMetricsRefreshPeriod int `json:"efsVolumeMetricsRefreshPeriod,omitempty"`

// efsVolumeMetricsFSRateLimit defines the rate limit, in goroutines per file system, for processing volume metrics.
// Requires efsVolumeMetricsOptIn to be enabled.
// The default rate limit set by the EFS CSI driver is 240 goroutines per file system.
// +optional
EFSVolumeMetricsFSRateLimit int `json:"efsVolumeMetricsFSRateLimit,omitempty"`
}

// AzureDiskEncryptionSet defines the configuration for a disk encryption set.
Expand Down
Expand Up @@ -70,6 +70,27 @@ spec:
aws:
description: aws is used to configure the AWS CSI driver.
properties:
efsVolumeMetricsFSRateLimit:
description: efsVolumeMetricsFSRateLimit defines the rate
limit, in goroutines per file system, for processing volume
metrics. Requires efsVolumeMetricsOptIn to be enabled. The
default rate limit set by the EFS CSI driver is 240 goroutines
per file system.
type: integer
efsVolumeMetricsOptIn:
description: efsVolumeMetricsOptIn enables metrics for EFS
CSI Driver volumes. When enabled, the CSI driver traverses
the entire volume to calculate and return metrics. This
operation can significantly impact system performance due
to the extensive volume walk required. Use with caution
in performance-sensitive environments.
type: boolean
efsVolumeMetricsRefreshPeriod:
description: efsVolumeMetricsRefreshPeriod specifies the frequency,
in minutes, at which volume metrics are refreshed. Requires
efsVolumeMetricsOptIn to be enabled to take effect. The
default refresh period in the EFS CSI driver is 240 minutes.
type: integer
kmsKeyARN:
description: kmsKeyARN sets the cluster default storage class
to encrypt volumes with a user-defined KMS key, rather than
Expand Down
Expand Up @@ -50,6 +50,27 @@ spec:
aws:
description: aws is used to configure the AWS CSI driver.
properties:
efsVolumeMetricsFSRateLimit:
description: efsVolumeMetricsFSRateLimit defines the rate
limit, in goroutines per file system, for processing volume
metrics. Requires efsVolumeMetricsOptIn to be enabled. The
default rate limit set by the EFS CSI driver is 240 goroutines
per file system.
type: integer
efsVolumeMetricsOptIn:
description: efsVolumeMetricsOptIn enables metrics for EFS
CSI Driver volumes. When enabled, the CSI driver traverses
the entire volume to calculate and return metrics. This
operation can significantly impact system performance due
to the extensive volume walk required. Use with caution
in performance-sensitive environments.
type: boolean
efsVolumeMetricsRefreshPeriod:
description: efsVolumeMetricsRefreshPeriod specifies the frequency,
in minutes, at which volume metrics are refreshed. Requires
efsVolumeMetricsOptIn to be enabled to take effect. The
default refresh period in the EFS CSI driver is 240 minutes.
type: integer
kmsKeyARN:
description: kmsKeyARN sets the cluster default storage class
to encrypt volumes with a user-defined KMS key, rather than
Expand Down
7 changes: 5 additions & 2 deletions operator/v1/zz_generated.swagger_doc_generated.go

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

0 comments on commit c0f376b

Please sign in to comment.