From b535dafe2aee273db97cf251047c93cad330f34b Mon Sep 17 00:00:00 2001 From: Trevor Knottnerus Date: Tue, 16 Sep 2025 10:59:31 -0700 Subject: [PATCH] Update to 0.51.0 of runtime and code-generator --- apis/v1alpha1/ack-generate-metadata.yaml | 12 +- apis/v1alpha1/enums.go | 130 +++++++---- cmd/controller/main.go | 29 ++- config/controller/deployment.yaml | 4 + config/controller/service.yaml | 2 +- .../services.k8s.aws_adoptedresources.yaml | 7 +- .../bases/services.k8s.aws_fieldexports.yaml | 2 +- config/rbac/cluster-role-controller.yaml | 30 +-- go.mod | 92 ++++---- go.sum | 212 ++++++++++-------- .../services.k8s.aws_adoptedresources.yaml | 7 +- helm/crds/services.k8s.aws_fieldexports.yaml | 2 +- helm/templates/_helpers.tpl | 30 +-- helm/templates/caches-role-binding.yaml | 28 ++- helm/templates/caches-role.yaml | 18 +- helm/templates/cluster-role-binding.yaml | 24 +- helm/templates/cluster-role-controller.yaml | 19 +- helm/templates/deployment.yaml | 25 ++- .../leader-election-role-binding.yaml | 11 +- helm/templates/leader-election-role.yaml | 9 +- helm/templates/role-reader.yaml | 9 +- helm/templates/role-writer.yaml | 9 +- helm/values.schema.json | 13 +- helm/values.yaml | 21 +- 24 files changed, 449 insertions(+), 296 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 8743567..01cc072 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,11 +1,11 @@ ack_generate_info: - build_date: "2024-08-14T05:57:50Z" - build_hash: bdf3f26f85071d50bad0cdb227cefb3ba32ff0d7 - go_version: go1.22.4 - version: v0.36.0-5-gbdf3f26 -api_directory_checksum: 99fce4720a80d07cb3f1a4e920b951e7364d24e0 + build_date: "2025-09-16T17:53:45Z" + build_hash: 9e29f017d9e942548af133d2f31aecae248a8816 + go_version: go1.25.0 + version: v0.51.0-3-g9e29f01 +api_directory_checksum: f304b41c38840865d173d4c997db3651669571ef api_version: v1alpha1 -aws_sdk_go_version: v1.55.5 +aws_sdk_go_version: v1.39.0 generator_config_info: file_checksum: 560a59c3b970e4eb919d46ab63853d6a7279d29b original_file_name: generator.yaml diff --git a/apis/v1alpha1/enums.go b/apis/v1alpha1/enums.go index f1d67dc..e80d983 100644 --- a/apis/v1alpha1/enums.go +++ b/apis/v1alpha1/enums.go @@ -18,49 +18,56 @@ package v1alpha1 type AmazonOpenSearchServerlessS3BackupMode string const ( - AmazonOpenSearchServerlessS3BackupMode_FailedDocumentsOnly AmazonOpenSearchServerlessS3BackupMode = "FailedDocumentsOnly" AmazonOpenSearchServerlessS3BackupMode_AllDocuments AmazonOpenSearchServerlessS3BackupMode = "AllDocuments" + AmazonOpenSearchServerlessS3BackupMode_FailedDocumentsOnly AmazonOpenSearchServerlessS3BackupMode = "FailedDocumentsOnly" ) type AmazonopensearchserviceIndexRotationPeriod string const ( AmazonopensearchserviceIndexRotationPeriod_NoRotation AmazonopensearchserviceIndexRotationPeriod = "NoRotation" - AmazonopensearchserviceIndexRotationPeriod_OneHour AmazonopensearchserviceIndexRotationPeriod = "OneHour" AmazonopensearchserviceIndexRotationPeriod_OneDay AmazonopensearchserviceIndexRotationPeriod = "OneDay" - AmazonopensearchserviceIndexRotationPeriod_OneWeek AmazonopensearchserviceIndexRotationPeriod = "OneWeek" + AmazonopensearchserviceIndexRotationPeriod_OneHour AmazonopensearchserviceIndexRotationPeriod = "OneHour" AmazonopensearchserviceIndexRotationPeriod_OneMonth AmazonopensearchserviceIndexRotationPeriod = "OneMonth" + AmazonopensearchserviceIndexRotationPeriod_OneWeek AmazonopensearchserviceIndexRotationPeriod = "OneWeek" ) type AmazonopensearchserviceS3BackupMode string const ( - AmazonopensearchserviceS3BackupMode_FailedDocumentsOnly AmazonopensearchserviceS3BackupMode = "FailedDocumentsOnly" AmazonopensearchserviceS3BackupMode_AllDocuments AmazonopensearchserviceS3BackupMode = "AllDocuments" + AmazonopensearchserviceS3BackupMode_FailedDocumentsOnly AmazonopensearchserviceS3BackupMode = "FailedDocumentsOnly" ) type CompressionFormat string const ( - CompressionFormat_UNCOMPRESSED CompressionFormat = "UNCOMPRESSED" CompressionFormat_GZIP CompressionFormat = "GZIP" - CompressionFormat_ZIP CompressionFormat = "ZIP" - CompressionFormat_Snappy CompressionFormat = "Snappy" CompressionFormat_HADOOP_SNAPPY CompressionFormat = "HADOOP_SNAPPY" + CompressionFormat_Snappy CompressionFormat = "Snappy" + CompressionFormat_UNCOMPRESSED CompressionFormat = "UNCOMPRESSED" + CompressionFormat_ZIP CompressionFormat = "ZIP" ) type Connectivity string const ( - Connectivity_PUBLIC Connectivity = "PUBLIC" Connectivity_PRIVATE Connectivity = "PRIVATE" + Connectivity_PUBLIC Connectivity = "PUBLIC" ) type ContentEncoding string const ( - ContentEncoding_NONE ContentEncoding = "NONE" ContentEncoding_GZIP ContentEncoding = "GZIP" + ContentEncoding_NONE ContentEncoding = "NONE" +) + +type DatabaseType string + +const ( + DatabaseType_MySQL DatabaseType = "MySQL" + DatabaseType_PostgreSQL DatabaseType = "PostgreSQL" ) type DefaultDocumentIDFormat string @@ -73,47 +80,50 @@ const ( type DeliveryStreamEncryptionStatus string const ( - DeliveryStreamEncryptionStatus_ENABLED DeliveryStreamEncryptionStatus = "ENABLED" - DeliveryStreamEncryptionStatus_ENABLING DeliveryStreamEncryptionStatus = "ENABLING" - DeliveryStreamEncryptionStatus_ENABLING_FAILED DeliveryStreamEncryptionStatus = "ENABLING_FAILED" DeliveryStreamEncryptionStatus_DISABLED DeliveryStreamEncryptionStatus = "DISABLED" DeliveryStreamEncryptionStatus_DISABLING DeliveryStreamEncryptionStatus = "DISABLING" DeliveryStreamEncryptionStatus_DISABLING_FAILED DeliveryStreamEncryptionStatus = "DISABLING_FAILED" + DeliveryStreamEncryptionStatus_ENABLED DeliveryStreamEncryptionStatus = "ENABLED" + DeliveryStreamEncryptionStatus_ENABLING DeliveryStreamEncryptionStatus = "ENABLING" + DeliveryStreamEncryptionStatus_ENABLING_FAILED DeliveryStreamEncryptionStatus = "ENABLING_FAILED" ) type DeliveryStreamFailureType string const ( - DeliveryStreamFailureType_RETIRE_KMS_GRANT_FAILED DeliveryStreamFailureType = "RETIRE_KMS_GRANT_FAILED" - DeliveryStreamFailureType_CREATE_KMS_GRANT_FAILED DeliveryStreamFailureType = "CREATE_KMS_GRANT_FAILED" - DeliveryStreamFailureType_KMS_ACCESS_DENIED DeliveryStreamFailureType = "KMS_ACCESS_DENIED" - DeliveryStreamFailureType_DISABLED_KMS_KEY DeliveryStreamFailureType = "DISABLED_KMS_KEY" - DeliveryStreamFailureType_INVALID_KMS_KEY DeliveryStreamFailureType = "INVALID_KMS_KEY" - DeliveryStreamFailureType_KMS_KEY_NOT_FOUND DeliveryStreamFailureType = "KMS_KEY_NOT_FOUND" - DeliveryStreamFailureType_KMS_OPT_IN_REQUIRED DeliveryStreamFailureType = "KMS_OPT_IN_REQUIRED" - DeliveryStreamFailureType_CREATE_ENI_FAILED DeliveryStreamFailureType = "CREATE_ENI_FAILED" - DeliveryStreamFailureType_DELETE_ENI_FAILED DeliveryStreamFailureType = "DELETE_ENI_FAILED" - DeliveryStreamFailureType_SUBNET_NOT_FOUND DeliveryStreamFailureType = "SUBNET_NOT_FOUND" - DeliveryStreamFailureType_SECURITY_GROUP_NOT_FOUND DeliveryStreamFailureType = "SECURITY_GROUP_NOT_FOUND" - DeliveryStreamFailureType_ENI_ACCESS_DENIED DeliveryStreamFailureType = "ENI_ACCESS_DENIED" - DeliveryStreamFailureType_SUBNET_ACCESS_DENIED DeliveryStreamFailureType = "SUBNET_ACCESS_DENIED" - DeliveryStreamFailureType_SECURITY_GROUP_ACCESS_DENIED DeliveryStreamFailureType = "SECURITY_GROUP_ACCESS_DENIED" - DeliveryStreamFailureType_UNKNOWN_ERROR DeliveryStreamFailureType = "UNKNOWN_ERROR" + DeliveryStreamFailureType_CREATE_ENI_FAILED DeliveryStreamFailureType = "CREATE_ENI_FAILED" + DeliveryStreamFailureType_CREATE_KMS_GRANT_FAILED DeliveryStreamFailureType = "CREATE_KMS_GRANT_FAILED" + DeliveryStreamFailureType_DELETE_ENI_FAILED DeliveryStreamFailureType = "DELETE_ENI_FAILED" + DeliveryStreamFailureType_DISABLED_KMS_KEY DeliveryStreamFailureType = "DISABLED_KMS_KEY" + DeliveryStreamFailureType_ENI_ACCESS_DENIED DeliveryStreamFailureType = "ENI_ACCESS_DENIED" + DeliveryStreamFailureType_INVALID_KMS_KEY DeliveryStreamFailureType = "INVALID_KMS_KEY" + DeliveryStreamFailureType_KMS_ACCESS_DENIED DeliveryStreamFailureType = "KMS_ACCESS_DENIED" + DeliveryStreamFailureType_KMS_KEY_NOT_FOUND DeliveryStreamFailureType = "KMS_KEY_NOT_FOUND" + DeliveryStreamFailureType_KMS_OPT_IN_REQUIRED DeliveryStreamFailureType = "KMS_OPT_IN_REQUIRED" + DeliveryStreamFailureType_RETIRE_KMS_GRANT_FAILED DeliveryStreamFailureType = "RETIRE_KMS_GRANT_FAILED" + DeliveryStreamFailureType_SECURITY_GROUP_ACCESS_DENIED DeliveryStreamFailureType = "SECURITY_GROUP_ACCESS_DENIED" + DeliveryStreamFailureType_SECURITY_GROUP_NOT_FOUND DeliveryStreamFailureType = "SECURITY_GROUP_NOT_FOUND" + DeliveryStreamFailureType_SUBNET_ACCESS_DENIED DeliveryStreamFailureType = "SUBNET_ACCESS_DENIED" + DeliveryStreamFailureType_SUBNET_NOT_FOUND DeliveryStreamFailureType = "SUBNET_NOT_FOUND" + DeliveryStreamFailureType_UNKNOWN_ERROR DeliveryStreamFailureType = "UNKNOWN_ERROR" + DeliveryStreamFailureType_VPC_ENDPOINT_SERVICE_NAME_NOT_FOUND DeliveryStreamFailureType = "VPC_ENDPOINT_SERVICE_NAME_NOT_FOUND" + DeliveryStreamFailureType_VPC_INTERFACE_ENDPOINT_SERVICE_ACCESS_DENIED DeliveryStreamFailureType = "VPC_INTERFACE_ENDPOINT_SERVICE_ACCESS_DENIED" ) type DeliveryStreamStatus string const ( + DeliveryStreamStatus_ACTIVE DeliveryStreamStatus = "ACTIVE" DeliveryStreamStatus_CREATING DeliveryStreamStatus = "CREATING" DeliveryStreamStatus_CREATING_FAILED DeliveryStreamStatus = "CREATING_FAILED" DeliveryStreamStatus_DELETING DeliveryStreamStatus = "DELETING" DeliveryStreamStatus_DELETING_FAILED DeliveryStreamStatus = "DELETING_FAILED" - DeliveryStreamStatus_ACTIVE DeliveryStreamStatus = "ACTIVE" ) type DeliveryStreamType string const ( + DeliveryStreamType_DatabaseAsSource DeliveryStreamType = "DatabaseAsSource" DeliveryStreamType_DirectPut DeliveryStreamType = "DirectPut" DeliveryStreamType_KinesisStreamAsSource DeliveryStreamType = "KinesisStreamAsSource" DeliveryStreamType_MSKAsSource DeliveryStreamType = "MSKAsSource" @@ -123,38 +133,38 @@ type ElasticsearchIndexRotationPeriod string const ( ElasticsearchIndexRotationPeriod_NoRotation ElasticsearchIndexRotationPeriod = "NoRotation" - ElasticsearchIndexRotationPeriod_OneHour ElasticsearchIndexRotationPeriod = "OneHour" ElasticsearchIndexRotationPeriod_OneDay ElasticsearchIndexRotationPeriod = "OneDay" - ElasticsearchIndexRotationPeriod_OneWeek ElasticsearchIndexRotationPeriod = "OneWeek" + ElasticsearchIndexRotationPeriod_OneHour ElasticsearchIndexRotationPeriod = "OneHour" ElasticsearchIndexRotationPeriod_OneMonth ElasticsearchIndexRotationPeriod = "OneMonth" + ElasticsearchIndexRotationPeriod_OneWeek ElasticsearchIndexRotationPeriod = "OneWeek" ) type ElasticsearchS3BackupMode string const ( - ElasticsearchS3BackupMode_FailedDocumentsOnly ElasticsearchS3BackupMode = "FailedDocumentsOnly" ElasticsearchS3BackupMode_AllDocuments ElasticsearchS3BackupMode = "AllDocuments" + ElasticsearchS3BackupMode_FailedDocumentsOnly ElasticsearchS3BackupMode = "FailedDocumentsOnly" ) type HECEndpointType string const ( - HECEndpointType_Raw HECEndpointType = "Raw" HECEndpointType_Event HECEndpointType = "Event" + HECEndpointType_Raw HECEndpointType = "Raw" ) type HTTPEndpointS3BackupMode string const ( - HTTPEndpointS3BackupMode_FailedDataOnly HTTPEndpointS3BackupMode = "FailedDataOnly" HTTPEndpointS3BackupMode_AllData HTTPEndpointS3BackupMode = "AllData" + HTTPEndpointS3BackupMode_FailedDataOnly HTTPEndpointS3BackupMode = "FailedDataOnly" ) type IcebergS3BackupMode string const ( - IcebergS3BackupMode_FailedDataOnly IcebergS3BackupMode = "FailedDataOnly" IcebergS3BackupMode_AllData IcebergS3BackupMode = "AllData" + IcebergS3BackupMode_FailedDataOnly IcebergS3BackupMode = "FailedDataOnly" ) type KeyType string @@ -174,8 +184,8 @@ type OrcCompression string const ( OrcCompression_NONE OrcCompression = "NONE" - OrcCompression_ZLIB OrcCompression = "ZLIB" OrcCompression_SNAPPY OrcCompression = "SNAPPY" + OrcCompression_ZLIB OrcCompression = "ZLIB" ) type OrcFormatVersion string @@ -188,9 +198,9 @@ const ( type ParquetCompression string const ( - ParquetCompression_UNCOMPRESSED ParquetCompression = "UNCOMPRESSED" ParquetCompression_GZIP ParquetCompression = "GZIP" ParquetCompression_SNAPPY ParquetCompression = "SNAPPY" + ParquetCompression_UNCOMPRESSED ParquetCompression = "UNCOMPRESSED" ) type ParquetWriterVersion string @@ -203,28 +213,28 @@ const ( type ProcessorParameterName string const ( + ProcessorParameterName_BufferIntervalInSeconds ProcessorParameterName = "BufferIntervalInSeconds" + ProcessorParameterName_BufferSizeInMBs ProcessorParameterName = "BufferSizeInMBs" + ProcessorParameterName_CompressionFormat ProcessorParameterName = "CompressionFormat" + ProcessorParameterName_DataMessageExtraction ProcessorParameterName = "DataMessageExtraction" + ProcessorParameterName_Delimiter ProcessorParameterName = "Delimiter" + ProcessorParameterName_JsonParsingEngine ProcessorParameterName = "JsonParsingEngine" ProcessorParameterName_LambdaArn ProcessorParameterName = "LambdaArn" - ProcessorParameterName_NumberOfRetries ProcessorParameterName = "NumberOfRetries" ProcessorParameterName_MetadataExtractionQuery ProcessorParameterName = "MetadataExtractionQuery" - ProcessorParameterName_JsonParsingEngine ProcessorParameterName = "JsonParsingEngine" + ProcessorParameterName_NumberOfRetries ProcessorParameterName = "NumberOfRetries" ProcessorParameterName_RoleArn ProcessorParameterName = "RoleArn" - ProcessorParameterName_BufferSizeInMBs ProcessorParameterName = "BufferSizeInMBs" - ProcessorParameterName_BufferIntervalInSeconds ProcessorParameterName = "BufferIntervalInSeconds" ProcessorParameterName_SubRecordType ProcessorParameterName = "SubRecordType" - ProcessorParameterName_Delimiter ProcessorParameterName = "Delimiter" - ProcessorParameterName_CompressionFormat ProcessorParameterName = "CompressionFormat" - ProcessorParameterName_DataMessageExtraction ProcessorParameterName = "DataMessageExtraction" ) type ProcessorType string const ( - ProcessorType_RecordDeAggregation ProcessorType = "RecordDeAggregation" - ProcessorType_Decompression ProcessorType = "Decompression" + ProcessorType_AppendDelimiterToRecord ProcessorType = "AppendDelimiterToRecord" ProcessorType_CloudWatchLogProcessing ProcessorType = "CloudWatchLogProcessing" + ProcessorType_Decompression ProcessorType = "Decompression" ProcessorType_Lambda ProcessorType = "Lambda" ProcessorType_MetadataExtraction ProcessorType = "MetadataExtraction" - ProcessorType_AppendDelimiterToRecord ProcessorType = "AppendDelimiterToRecord" + ProcessorType_RecordDeAggregation ProcessorType = "RecordDeAggregation" ) type RedshiftS3BackupMode string @@ -241,24 +251,46 @@ const ( S3BackupMode_Enabled S3BackupMode = "Enabled" ) +type SSLMode string + +const ( + SSLMode_Disabled SSLMode = "Disabled" + SSLMode_Enabled SSLMode = "Enabled" +) + +type SnapshotRequestedBy string + +const ( + SnapshotRequestedBy_FIREHOSE SnapshotRequestedBy = "FIREHOSE" + SnapshotRequestedBy_USER SnapshotRequestedBy = "USER" +) + +type SnapshotStatus string + +const ( + SnapshotStatus_COMPLETE SnapshotStatus = "COMPLETE" + SnapshotStatus_IN_PROGRESS SnapshotStatus = "IN_PROGRESS" + SnapshotStatus_SUSPENDED SnapshotStatus = "SUSPENDED" +) + type SnowflakeDataLoadingOption string const ( SnowflakeDataLoadingOption_JSON_MAPPING SnowflakeDataLoadingOption = "JSON_MAPPING" - SnowflakeDataLoadingOption_VARIANT_CONTENT_MAPPING SnowflakeDataLoadingOption = "VARIANT_CONTENT_MAPPING" SnowflakeDataLoadingOption_VARIANT_CONTENT_AND_METADATA_MAPPING SnowflakeDataLoadingOption = "VARIANT_CONTENT_AND_METADATA_MAPPING" + SnowflakeDataLoadingOption_VARIANT_CONTENT_MAPPING SnowflakeDataLoadingOption = "VARIANT_CONTENT_MAPPING" ) type SnowflakeS3BackupMode string const ( - SnowflakeS3BackupMode_FailedDataOnly SnowflakeS3BackupMode = "FailedDataOnly" SnowflakeS3BackupMode_AllData SnowflakeS3BackupMode = "AllData" + SnowflakeS3BackupMode_FailedDataOnly SnowflakeS3BackupMode = "FailedDataOnly" ) type SplunkS3BackupMode string const ( - SplunkS3BackupMode_FailedEventsOnly SplunkS3BackupMode = "FailedEventsOnly" SplunkS3BackupMode_AllEvents SplunkS3BackupMode = "AllEvents" + SplunkS3BackupMode_FailedEventsOnly SplunkS3BackupMode = "FailedEventsOnly" ) diff --git a/cmd/controller/main.go b/cmd/controller/main.go index 346f6cc..f6156de 100644 --- a/cmd/controller/main.go +++ b/cmd/controller/main.go @@ -16,6 +16,7 @@ package main import ( + "context" "os" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" @@ -37,17 +38,15 @@ import ( svctypes "github.com/aws-controllers-k8s/firehose-controller/apis/v1alpha1" svcresource "github.com/aws-controllers-k8s/firehose-controller/pkg/resource" - svcsdk "github.com/aws/aws-sdk-go/service/firehose" "github.com/aws-controllers-k8s/firehose-controller/pkg/version" ) var ( - awsServiceAPIGroup = "firehose.services.k8s.aws" - awsServiceAlias = "firehose" - awsServiceEndpointsID = svcsdk.EndpointsID - scheme = runtime.NewScheme() - setupLog = ctrlrt.Log.WithName("setup") + awsServiceAPIGroup = "firehose.services.k8s.aws" + awsServiceAlias = "firehose" + scheme = runtime.NewScheme() + setupLog = ctrlrt.Log.WithName("setup") ) func init() { @@ -69,7 +68,8 @@ func main() { resourceGVKs = append(resourceGVKs, mf.ResourceDescriptor().GroupVersionKind()) } - if err := ackCfg.Validate(ackcfg.WithGVKs(resourceGVKs)); err != nil { + ctx := context.Background() + if err := ackCfg.Validate(ctx, ackcfg.WithGVKs(resourceGVKs)); err != nil { setupLog.Error( err, "Unable to create controller manager", "aws.service", awsServiceAlias, @@ -99,11 +99,20 @@ func main() { for _, namespace := range namespaces { watchNamespaces[namespace] = ctrlrtcache.Config{} } + watchSelectors, err := ackCfg.ParseWatchSelectors() + if err != nil { + setupLog.Error( + err, "Unable to parse watch selectors.", + "aws.service", awsServiceAlias, + ) + os.Exit(1) + } mgr, err := ctrlrt.NewManager(ctrlrt.GetConfigOrDie(), ctrlrt.Options{ Scheme: scheme, Cache: ctrlrtcache.Options{ - Scheme: scheme, - DefaultNamespaces: watchNamespaces, + Scheme: scheme, + DefaultNamespaces: watchNamespaces, + DefaultLabelSelector: watchSelectors, }, WebhookServer: &ctrlrtwebhook.DefaultServer{ Options: ctrlrtwebhook.Options{ @@ -134,7 +143,7 @@ func main() { "aws.service", awsServiceAlias, ) sc := ackrt.NewServiceController( - awsServiceAlias, awsServiceAPIGroup, awsServiceEndpointsID, + awsServiceAlias, awsServiceAPIGroup, acktypes.VersionInfo{ version.GitCommit, version.GitVersion, diff --git a/config/controller/deployment.yaml b/config/controller/deployment.yaml index 2155dce..c1585b8 100644 --- a/config/controller/deployment.yaml +++ b/config/controller/deployment.yaml @@ -41,6 +41,8 @@ spec: - "$(LEADER_ELECTION_NAMESPACE)" - --reconcile-default-max-concurrent-syncs - "$(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)" + - --feature-gates + - "$(FEATURE_GATES)" image: controller:latest name: controller ports: @@ -76,6 +78,8 @@ spec: value: "ack-system" - name: "RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS" value: "1" + - name: "FEATURE_GATES" + value: "" securityContext: allowPrivilegeEscalation: false privileged: false diff --git a/config/controller/service.yaml b/config/controller/service.yaml index 711463d..d402fcb 100644 --- a/config/controller/service.yaml +++ b/config/controller/service.yaml @@ -11,4 +11,4 @@ spec: port: 8080 targetPort: http protocol: TCP - type: NodePort + type: ClusterIP diff --git a/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml b/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml index 65eff73..b7be322 100644 --- a/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml +++ b/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws @@ -78,11 +78,9 @@ spec: automatically converts this to an arbitrary string-string map. https://github.com/kubernetes-sigs/controller-tools/issues/385 - Active discussion about inclusion of this field in the spec is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 - Until this is allowed, or if it never is, we will produce a subset of the object meta that contains only the fields which the user is allowed to modify in the metadata. properties: @@ -105,13 +103,11 @@ spec: and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency type: string @@ -140,7 +136,6 @@ spec: Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces diff --git a/config/crd/common/bases/services.k8s.aws_fieldexports.yaml b/config/crd/common/bases/services.k8s.aws_fieldexports.yaml index 4d3a8f1..49b4f38 100644 --- a/config/crd/common/bases/services.k8s.aws_fieldexports.yaml +++ b/config/crd/common/bases/services.k8s.aws_fieldexports.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws diff --git a/config/rbac/cluster-role-controller.yaml b/config/rbac/cluster-role-controller.yaml index b7ed841..a467c9c 100644 --- a/config/rbac/cluster-role-controller.yaml +++ b/config/rbac/cluster-role-controller.yaml @@ -8,6 +8,7 @@ rules: - "" resources: - configmaps + - secrets verbs: - get - list @@ -21,38 +22,10 @@ rules: - get - list - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - patch - - watch - apiGroups: - services.k8s.aws resources: - adoptedresources - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - services.k8s.aws - resources: - - adoptedresources/status - verbs: - - get - - patch - - update -- apiGroups: - - services.k8s.aws - resources: - fieldexports verbs: - create @@ -65,6 +38,7 @@ rules: - apiGroups: - services.k8s.aws resources: + - adoptedresources/status - fieldexports/status verbs: - get diff --git a/go.mod b/go.mod index 2866406..4caa9f6 100644 --- a/go.mod +++ b/go.mod @@ -1,77 +1,87 @@ module github.com/aws-controllers-k8s/firehose-controller -go 1.22.0 - -toolchain go1.22.4 +go 1.23.0 require ( - github.com/aws-controllers-k8s/runtime v0.37.0 + github.com/aws-controllers-k8s/runtime v0.51.0 github.com/aws/aws-sdk-go v1.49.0 github.com/spf13/pflag v1.0.5 - k8s.io/apimachinery v0.30.1 - k8s.io/client-go v0.30.1 - sigs.k8s.io/controller-runtime v0.18.4 + k8s.io/apimachinery v0.32.1 + k8s.io/client-go v0.32.1 + sigs.k8s.io/controller-runtime v0.20.4 ) require ( + github.com/aws/aws-sdk-go-v2 v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/config v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 // indirect + github.com/aws/smithy-go v1.22.2 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cenkalti/backoff/v4 v4.2.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/evanphx/json-patch/v5 v5.9.0 // indirect + github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/fxamacker/cbor/v2 v2.7.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-openapi/swag v0.23.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect + github.com/google/btree v1.1.3 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.12 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/itchyny/gojq v0.12.6 // indirect github.com/itchyny/timefmt-go v0.1.3 // indirect github.com/jaypipes/envutil v1.0.0 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect - github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/prometheus/client_golang v1.18.0 // indirect - github.com/prometheus/client_model v0.5.0 // indirect - github.com/prometheus/common v0.45.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/client_golang v1.19.1 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/samber/lo v1.37.0 // indirect + github.com/x448/float16 v0.8.4 // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.26.0 // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/oauth2 v0.12.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/term v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect - golang.org/x/time v0.3.0 // indirect + go.uber.org/zap v1.27.0 // indirect + golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/oauth2 v0.27.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/term v0.30.0 // indirect + golang.org/x/text v0.23.0 // indirect + golang.org/x/time v0.7.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.30.1 // indirect - k8s.io/apiextensions-apiserver v0.30.1 // indirect - k8s.io/klog/v2 v2.120.1 // indirect - k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect - k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect + k8s.io/api v0.32.1 // indirect + k8s.io/apiextensions-apiserver v0.32.1 // indirect + k8s.io/klog/v2 v2.130.1 // indirect + k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect + k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect + sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index b195fdc..b755bf2 100644 --- a/go.sum +++ b/go.sum @@ -1,44 +1,74 @@ -github.com/aws-controllers-k8s/runtime v0.37.0 h1:NobDzkYdSnHG44glFmOKJkT5nqbBTcTZH8UDmv/4T6w= -github.com/aws-controllers-k8s/runtime v0.37.0/go.mod h1:gI2pWb20UGLP2SnHf1a1VzTd7iVVy+/I9VAzT0Y+Dew= +github.com/aws-controllers-k8s/runtime v0.51.0 h1:ZKu1DXPG7+CsvbEPLMCGqWFdfK37kSbceLzYf9lRZbw= +github.com/aws-controllers-k8s/runtime v0.51.0/go.mod h1:OkUJN+Ds799JLYZsMJrO2vDJ4snxUeHK2MgrQHbU+Qc= github.com/aws/aws-sdk-go v1.49.0 h1:g9BkW1fo9GqKfwg2+zCD+TW/D36Ux+vtfJ8guF4AYmY= github.com/aws/aws-sdk-go v1.49.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw= +github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= +github.com/aws/aws-sdk-go-v2/config v1.28.6 h1:D89IKtGrs/I3QXOLNTH93NJYtDhm8SYa9Q5CsPShmyo= +github.com/aws/aws-sdk-go-v2/config v1.28.6/go.mod h1:GDzxJ5wyyFSCoLkS+UhGB0dArhb9mI+Co4dHtoTxbko= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47 h1:48bA+3/fCdi2yAwVt+3COvmatZ6jUDNkDTIsqDiMUdw= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47/go.mod h1:+KdckOejLW3Ks3b0E3b5rHsr2f9yuORBum0WPnE5o5w= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE/Vb8fttJCLRPv8oAkprc0= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 h1:50+XsN70RS7dwJ2CkVNXzj7U2L1HKP8nqTd3XWEXBN4= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6/go.mod h1:WqgLmwY7so32kG01zD8CPTJWVWM+TzJoOVHwTg4aPug= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 h1:rLnYAfXQ3YAccocshIH5mzNNwZBkBo+bP6EhIxak6Hw= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7/go.mod h1:ZHtuQJ6t9A/+YDuxOLnbryAmITtr8UysSny3qcyvJTc= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 h1:JnhTZR3PiYDNKlXy50/pNeix9aGMo6lLpXwJ1mw8MD4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6/go.mod h1:URronUEGfXZN1VpdktPSD1EkAL9mfrV+2F4sjH38qOY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 h1:s4074ZO1Hk8qv65GqNXqDjmkf4HSQqJukaLuuW0TpDA= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2/go.mod h1:mVggCnIWoM09jP71Wh+ea7+5gAp53q+49wDFs1SW5z8= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= -github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= +github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= +github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= +github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= +github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -48,12 +78,10 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo= +github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/itchyny/gojq v0.12.6 h1:VjaFn59Em2wTxDNGcrRkDK9ZHMNa8IksOgL13sLL4d0= github.com/itchyny/gojq v0.12.6/go.mod h1:ZHrkfu7A+RbZLy5J1/JKpS4poEqrzItSTGDItqsfP0A= github.com/itchyny/timefmt-go v0.1.3 h1:7M3LGVDsqcd0VZH2U+x393obrzZisp7C0uEe921iRkU= @@ -62,8 +90,6 @@ github.com/jaypipes/envutil v1.0.0 h1:u6Vwy9HwruFihoZrL0bxDLCa/YNadGVwKyPElNmZWo github.com/jaypipes/envutil v1.0.0/go.mod h1:vgIRDly+xgBq0eeZRcflOHMMobMwgC6MkMbxo/Nw65M= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -81,8 +107,6 @@ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0 github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -90,129 +114,129 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8= -github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs= -github.com/onsi/gomega v1.32.0 h1:JRYU78fJ1LPxlckP6Txi/EYqJvjtMrDC04/MM5XRHPk= -github.com/onsi/gomega v1.32.0/go.mod h1:a4x4gW6Pz2yK1MAmvluYme5lvYTn61afQ2ETw/8n4Lg= +github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg= +github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo= +github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw= +github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= -github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= -github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= +github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/samber/lo v1.37.0 h1:XjVcB8g6tgUp8rsPsJ2CvhClfImrpL04YpQHXeHPhRw= github.com/samber/lo v1.37.0/go.mod h1:9vaz2O4o8oOnK23pd2TrXufcbdbJIa3b6cstBWKpopA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= -golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= +golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= +golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= +golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= +gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.30.1 h1:kCm/6mADMdbAxmIh0LBjS54nQBE+U4KmbCfIkF5CpJY= -k8s.io/api v0.30.1/go.mod h1:ddbN2C0+0DIiPntan/bye3SW3PdwLa11/0yqwvuRrJM= -k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws= -k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4= -k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U= -k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= -k8s.io/client-go v0.30.1 h1:uC/Ir6A3R46wdkgCV3vbLyNOYyCJ8oZnjtJGKfytl/Q= -k8s.io/client-go v0.30.1/go.mod h1:wrAqLNs2trwiCH/wxxmT/x3hKVH9PuV0GGW0oDoHVqc= -k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= -k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.18.4 h1:87+guW1zhvuPLh1PHybKdYFLU0YJp4FhJRmiHvm5BZw= -sigs.k8s.io/controller-runtime v0.18.4/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= +k8s.io/api v0.32.1 h1:f562zw9cy+GvXzXf0CKlVQ7yHJVYzLfL6JAS4kOAaOc= +k8s.io/api v0.32.1/go.mod h1:/Yi/BqkuueW1BgpoePYBRdDYfjPF5sgTr5+YqDZra5k= +k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw= +k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto= +k8s.io/apimachinery v0.32.1 h1:683ENpaCBjma4CYqsmZyhEzrGz6cjn1MY/X2jB2hkZs= +k8s.io/apimachinery v0.32.1/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE= +k8s.io/client-go v0.32.1 h1:otM0AxdhdBIaQh7l1Q0jQpmo7WOFIk5FFa4bg6YMdUU= +k8s.io/client-go v0.32.1/go.mod h1:aTTKZY7MdxUaJ/KiUs8D+GssR9zJZi77ZqtzcGXIiDg= +k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= +k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y= +k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4= +k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro= +k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= +sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= +sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= +sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= +sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA= +sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/helm/crds/services.k8s.aws_adoptedresources.yaml b/helm/crds/services.k8s.aws_adoptedresources.yaml index 65eff73..b7be322 100644 --- a/helm/crds/services.k8s.aws_adoptedresources.yaml +++ b/helm/crds/services.k8s.aws_adoptedresources.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws @@ -78,11 +78,9 @@ spec: automatically converts this to an arbitrary string-string map. https://github.com/kubernetes-sigs/controller-tools/issues/385 - Active discussion about inclusion of this field in the spec is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 - Until this is allowed, or if it never is, we will produce a subset of the object meta that contains only the fields which the user is allowed to modify in the metadata. properties: @@ -105,13 +103,11 @@ spec: and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency type: string @@ -140,7 +136,6 @@ spec: Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces diff --git a/helm/crds/services.k8s.aws_fieldexports.yaml b/helm/crds/services.k8s.aws_fieldexports.yaml index 4d3a8f1..49b4f38 100644 --- a/helm/crds/services.k8s.aws_fieldexports.yaml +++ b/helm/crds/services.k8s.aws_fieldexports.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.2 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl index ff2b54f..26ea502 100644 --- a/helm/templates/_helpers.tpl +++ b/helm/templates/_helpers.tpl @@ -55,6 +55,7 @@ rules: - "" resources: - configmaps + - secrets verbs: - get - list @@ -68,38 +69,10 @@ rules: - get - list - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - patch - - watch - apiGroups: - services.k8s.aws resources: - adoptedresources - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - services.k8s.aws - resources: - - adoptedresources/status - verbs: - - get - - patch - - update -- apiGroups: - - services.k8s.aws - resources: - fieldexports verbs: - create @@ -112,6 +85,7 @@ rules: - apiGroups: - services.k8s.aws resources: + - adoptedresources/status - fieldexports/status verbs: - get diff --git a/helm/templates/caches-role-binding.yaml b/helm/templates/caches-role-binding.yaml index 8c429f4..e911af3 100644 --- a/helm/templates/caches-role-binding.yaml +++ b/helm/templates/caches-role-binding.yaml @@ -1,26 +1,40 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: ack-namespaces-cache-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }}-namespaces-cache + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} roleRef: kind: ClusterRole apiGroup: rbac.authorization.k8s.io - name: ack-namespaces-cache-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }}-namespaces-cache subjects: - kind: ServiceAccount - name: ack-firehose-controller + name: {{ include "ack-firehose-controller.service-account.name" . }} namespace: {{ .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: ack-configmaps-cache-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }}-configmaps-cache namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} roleRef: kind: Role apiGroup: rbac.authorization.k8s.io - name: ack-configmaps-cache-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }}-configmaps-cache subjects: - kind: ServiceAccount - name: ack-firehose-controller - namespace: {{ .Release.Namespace }} \ No newline at end of file + name: {{ include "ack-firehose-controller.service-account.name" . }} + namespace: {{ .Release.Namespace }} diff --git a/helm/templates/caches-role.yaml b/helm/templates/caches-role.yaml index db1c389..6f69ecb 100644 --- a/helm/templates/caches-role.yaml +++ b/helm/templates/caches-role.yaml @@ -1,7 +1,14 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: ack-namespaces-cache-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }}-namespaces-cache + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} rules: - apiGroups: - "" @@ -15,8 +22,15 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: ack-configmaps-cache-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }}-configmaps-cache namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} rules: - apiGroups: - "" diff --git a/helm/templates/cluster-role-binding.yaml b/helm/templates/cluster-role-binding.yaml index 1d479af..eb7f247 100644 --- a/helm/templates/cluster-role-binding.yaml +++ b/helm/templates/cluster-role-binding.yaml @@ -2,11 +2,18 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "ack-firehose-controller.app.fullname" . }} + name: {{ include "ack-firehose-controller.app.fullname" . }}-rolebinding + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} roleRef: kind: ClusterRole apiGroup: rbac.authorization.k8s.io - name: ack-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }} subjects: - kind: ServiceAccount name: {{ include "ack-firehose-controller.service-account.name" . }} @@ -17,17 +24,26 @@ subjects: {{ $fullname := include "ack-firehose-controller.app.fullname" . }} {{ $releaseNamespace := .Release.Namespace }} {{ $serviceAccountName := include "ack-firehose-controller.service-account.name" . }} +{{ $chartVersion := include "ack-firehose-controller.chart.name-version" . }} +{{ $appVersion := .Chart.AppVersion | quote }} {{ range $namespaces }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ $fullname }} + name: {{ $fullname }}-{{ . }} namespace: {{ . }} + labels: + app.kubernetes.io/name: {{ $fullname }} + app.kubernetes.io/instance: {{ $.Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ $appVersion }} + k8s-app: {{ $fullname }} + helm.sh/chart: {{ $chartVersion }} roleRef: kind: Role apiGroup: rbac.authorization.k8s.io - name: ack-firehose-controller + name: {{ $fullname }}-{{ . }} subjects: - kind: ServiceAccount name: {{ $serviceAccountName }} diff --git a/helm/templates/cluster-role-controller.yaml b/helm/templates/cluster-role-controller.yaml index dc4cb13..2d33344 100644 --- a/helm/templates/cluster-role-controller.yaml +++ b/helm/templates/cluster-role-controller.yaml @@ -1,11 +1,20 @@ {{ $labels := .Values.role.labels }} +{{ $appVersion := .Chart.AppVersion | quote }} {{ $rbacRules := include "ack-firehose-controller.rbac-rules" . }} +{{ $fullname := include "ack-firehose-controller.app.fullname" . }} +{{ $chartVersion := include "ack-firehose-controller.chart.name-version" . }} {{ if eq .Values.installScope "cluster" }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: ack-firehose-controller + name: {{ include "ack-firehose-controller.app.fullname" . }} labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} {{- range $key, $value := $labels }} {{ $key }}: {{ $value | quote }} {{- end }} @@ -18,9 +27,15 @@ metadata: apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: ack-firehose-controller + name: {{ $fullname }}-{{ . }} namespace: {{ . }} labels: + app.kubernetes.io/name: {{ $fullname }} + app.kubernetes.io/instance: {{ $.Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ $appVersion }} + k8s-app: {{ $fullname }} + helm.sh/chart: {{ $chartVersion }} {{- range $key, $value := $labels }} {{ $key }}: {{ $value | quote }} {{- end }} diff --git a/helm/templates/deployment.yaml b/helm/templates/deployment.yaml index d0faca3..6dead50 100644 --- a/helm/templates/deployment.yaml +++ b/helm/templates/deployment.yaml @@ -10,6 +10,9 @@ metadata: app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} k8s-app: {{ include "ack-firehose-controller.app.name" . }} helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} +{{- range $key, $value := .Values.deployment.labels }} + {{ $key }}: {{ $value | quote }} +{{- end }} spec: replicas: {{ .Values.deployment.replicas }} selector: @@ -57,6 +60,10 @@ spec: - "$(ACK_RESOURCE_TAGS)" - --watch-namespace - "$(ACK_WATCH_NAMESPACE)" + - --watch-selectors + - "$(ACK_WATCH_SELECTORS)" + - --reconcile-resources + - "$(RECONCILE_RESOURCES)" - --deletion-policy - "$(DELETION_POLICY)" {{- if .Values.leaderElection.enabled }} @@ -103,6 +110,10 @@ spec: value: {{ .Values.aws.endpoint_url | quote }} - name: ACK_WATCH_NAMESPACE value: {{ include "ack-firehose-controller.watch-namespace" . }} + - name: ACK_WATCH_SELECTORS + value: {{ .Values.watchSelectors }} + - name: RECONCILE_RESOURCES + value: {{ join "," .Values.reconcile.resources | quote }} - name: DELETION_POLICY value: {{ .Values.deletionPolicy }} - name: LEADER_ELECTION_NAMESPACE @@ -140,6 +151,7 @@ spec: {{- if .Values.deployment.extraEnvVars -}} {{ toYaml .Values.deployment.extraEnvVars | nindent 8 }} {{- end }} + {{- if or .Values.aws.credentials.secretName .Values.deployment.extraVolumeMounts }} volumeMounts: {{- if .Values.aws.credentials.secretName }} - name: {{ .Values.aws.credentials.secretName }} @@ -149,9 +161,11 @@ spec: {{- if .Values.deployment.extraVolumeMounts -}} {{ toYaml .Values.deployment.extraVolumeMounts | nindent 10 }} {{- end }} + {{- end }} securityContext: allowPrivilegeEscalation: false privileged: false + readOnlyRootFilesystem: true runAsNonRoot: true capabilities: drop: @@ -186,12 +200,17 @@ spec: hostPID: false hostNetwork: {{ .Values.deployment.hostNetwork }} dnsPolicy: {{ .Values.deployment.dnsPolicy }} + {{- if or .Values.aws.credentials.secretName .Values.deployment.extraVolumes }} volumes: {{- if .Values.aws.credentials.secretName }} - name: {{ .Values.aws.credentials.secretName }} secret: secretName: {{ .Values.aws.credentials.secretName }} {{- end }} -{{- if .Values.deployment.extraVolumes }} -{{ toYaml .Values.deployment.extraVolumes | indent 8}} -{{- end }} + {{- if .Values.deployment.extraVolumes }} + {{- toYaml .Values.deployment.extraVolumes | nindent 8 }} + {{- end }} + {{- end }} + {{- with .Values.deployment.strategy }} + strategy: {{- toYaml . | nindent 4 }} + {{- end }} diff --git a/helm/templates/leader-election-role-binding.yaml b/helm/templates/leader-election-role-binding.yaml index ae7adcc..768dc44 100644 --- a/helm/templates/leader-election-role-binding.yaml +++ b/helm/templates/leader-election-role-binding.yaml @@ -2,16 +2,23 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: firehose-leader-election-rolebinding + name: {{ include "ack-firehose-controller.app.fullname" . }}-leaderelection {{ if .Values.leaderElection.namespace }} namespace: {{ .Values.leaderElection.namespace }} {{ else }} namespace: {{ .Release.Namespace }} {{ end }} + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: firehose-leader-election-role + name: {{ include "ack-firehose-controller.app.fullname" . }}-leaderelection subjects: - kind: ServiceAccount name: {{ include "ack-firehose-controller.service-account.name" . }} diff --git a/helm/templates/leader-election-role.yaml b/helm/templates/leader-election-role.yaml index bfc72e1..2671fe7 100644 --- a/helm/templates/leader-election-role.yaml +++ b/helm/templates/leader-election-role.yaml @@ -2,12 +2,19 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: firehose-leader-election-role + name: {{ include "ack-firehose-controller.app.fullname" . }}-leaderelection {{ if .Values.leaderElection.namespace }} namespace: {{ .Values.leaderElection.namespace }} {{ else }} namespace: {{ .Release.Namespace }} {{ end }} + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} rules: - apiGroups: - coordination.k8s.io diff --git a/helm/templates/role-reader.yaml b/helm/templates/role-reader.yaml index 561d2c7..cb85e09 100644 --- a/helm/templates/role-reader.yaml +++ b/helm/templates/role-reader.yaml @@ -3,8 +3,15 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: creationTimestamp: null - name: ack-firehose-reader + name: {{ include "ack-firehose-controller.app.fullname" . }}-reader namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} rules: - apiGroups: - firehose.services.k8s.aws diff --git a/helm/templates/role-writer.yaml b/helm/templates/role-writer.yaml index 9e85f2d..23a8848 100644 --- a/helm/templates/role-writer.yaml +++ b/helm/templates/role-writer.yaml @@ -3,8 +3,15 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: creationTimestamp: null - name: ack-firehose-writer + name: {{ include "ack-firehose-controller.app.fullname" . }}-writer namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "ack-firehose-controller.app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + k8s-app: {{ include "ack-firehose-controller.app.name" . }} + helm.sh/chart: {{ include "ack-firehose-controller.chart.name-version" . }} rules: - apiGroups: - firehose.services.k8s.aws diff --git a/helm/values.schema.json b/helm/values.schema.json index 7ccb485..e656c74 100644 --- a/helm/values.schema.json +++ b/helm/values.schema.json @@ -210,7 +210,10 @@ }, "watchNamespace": { "type": "string" - }, + }, + "watchSelectors": { + "type": "string" + }, "resourceTags": { "type": "array", "items": { @@ -236,6 +239,14 @@ }, "resourceMaxConcurrentSyncs": { "type": "object" + }, + "resources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource kinds to reconcile. If empty, all resources will be reconciled.", + "default": [] } }, "type": "object" diff --git a/helm/values.yaml b/helm/values.yaml index 6d6e8f3..f1eddeb 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -41,6 +41,9 @@ deployment: # To have DNS options set along with hostNetwork, you have to specify DNS policy # explicitly to 'ClusterFirstWithHostNet'. dnsPolicy: ClusterFirst + # Set rollout strategy for deployment. + # See: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy + strategy: {} extraVolumes: [] extraVolumeMounts: [] @@ -110,6 +113,10 @@ installScope: cluster # You can set multiple namespaces by providing a comma separated list of namespaces. e.g "namespace1,namespace2" watchNamespace: "" +# Set the value of labelsSelectors to be used by the controller to filter the resources to watch. +# You can set multiple labelsSelectors by providing a comma separated list of a=b arguments. e.g "label1=value1,label2=value2" +watchSelectors: "" + resourceTags: # Configures the ACK service controller to always set key/value pairs tags on # resources that it manages. @@ -133,6 +140,11 @@ reconcile: # An object representing the reconcile max concurrent syncs configuration for each specific # resource. resourceMaxConcurrentSyncs: {} + + # Set the value of resources to specify which resource kinds to reconcile. + # If empty, all resources will be reconciled. + # If specified, only the listed resource kinds will be reconciled. + resources: serviceAccount: # Specifies whether a service account should be created @@ -158,4 +170,11 @@ leaderElection: # can be individually enabled ("true") or disabled ("false") by adding key/value # pairs below. featureGates: - CARMv2: false + # Enables the Service level granularity for CARM. See https://github.com/aws-controllers-k8s/community/issues/2031 + ServiceLevelCARM: false + # Enables the Team level granularity for CARM. See https://github.com/aws-controllers-k8s/community/issues/2031 + TeamLevelCARM: false + # Enable ReadOnlyResources feature/annotation. + ReadOnlyResources: true + # Enable ResourceAdoption feature/annotation. + ResourceAdoption: true \ No newline at end of file