diff --git a/.chloggen/codeboten_dep-gcloudstorage.yaml b/.chloggen/codeboten_dep-gcloudstorage.yaml new file mode 100644 index 0000000000000..eaeeb1c8ea6f9 --- /dev/null +++ b/.chloggen/codeboten_dep-gcloudstorage.yaml @@ -0,0 +1,4 @@ +change_type: 'deprecation' +component: exporter/google_cloud_storage +note: Introduce new snake case compliant name `google_cloud_storage` +issues: [46733] diff --git a/.chloggen/config.yaml b/.chloggen/config.yaml index ee702e3b9e28d..c18dd4136fce9 100644 --- a/.chloggen/config.yaml +++ b/.chloggen/config.yaml @@ -49,9 +49,9 @@ components: - exporter/elasticsearch - exporter/faro - exporter/file + - exporter/google_cloud_storage - exporter/googlecloud - exporter/googlecloudpubsub - - exporter/googlecloudstorage - exporter/googlemanagedprometheus - exporter/honeycombmarker - exporter/influxdb diff --git a/.chloggen/feature_gcs-use-existing-bucket.yaml b/.chloggen/feature_gcs-use-existing-bucket.yaml index 774793d8598b7..096a02b680bc0 100644 --- a/.chloggen/feature_gcs-use-existing-bucket.yaml +++ b/.chloggen/feature_gcs-use-existing-bucket.yaml @@ -4,7 +4,7 @@ change_type: breaking # The name of the component, or a single word describing the area of concern, (e.g. receiver/filelog) -component: exporter/googlecloudstorage +component: exporter/google_cloud_storage # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). note: "`reuse_if_exists` behavior changed: now checks bucket existence instead of attempting creation" diff --git a/exporter/googlecloudstorageexporter/README.md b/exporter/googlecloudstorageexporter/README.md index 8acad334cf31f..d9592d7762d8a 100644 --- a/exporter/googlecloudstorageexporter/README.md +++ b/exporter/googlecloudstorageexporter/README.md @@ -44,7 +44,7 @@ Here is an example configuration for this exporter: ```yaml exporters: - googlecloudstorage: + google_cloud_storage: encoding: text_encoding bucket: name: bucket-test @@ -65,7 +65,7 @@ extensions: ```yaml exporters: - googlecloudstorage: + google_cloud_storage: bucket: name: compressed-logs-bucket project_id: my-project @@ -82,7 +82,7 @@ When the service account lacks project-level bucket creation permissions but has ```yaml exporters: - googlecloudstorage: + google_cloud_storage: bucket: name: existing-bucket project_id: my-project diff --git a/exporter/googlecloudstorageexporter/factory.go b/exporter/googlecloudstorageexporter/factory.go index 9cf4ae6e6b420..f2ccfeb2a9291 100644 --- a/exporter/googlecloudstorageexporter/factory.go +++ b/exporter/googlecloudstorageexporter/factory.go @@ -8,16 +8,18 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/exporter" + "go.opentelemetry.io/collector/exporter/xexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudstorageexporter/internal/metadata" ) func NewFactory() exporter.Factory { - return exporter.NewFactory( + return xexporter.NewFactory( metadata.Type, createDefaultConfig, - exporter.WithLogs(createLogsExporter, metadata.LogsStability), - exporter.WithTraces(createTracesExporter, metadata.TracesStability), + xexporter.WithLogs(createLogsExporter, metadata.LogsStability), + xexporter.WithTraces(createTracesExporter, metadata.TracesStability), + xexporter.WithDeprecatedTypeAlias(metadata.DeprecatedType), ) } diff --git a/exporter/googlecloudstorageexporter/generated_component_test.go b/exporter/googlecloudstorageexporter/generated_component_test.go index ec0c5da5c5adf..12960b1f780e8 100644 --- a/exporter/googlecloudstorageexporter/generated_component_test.go +++ b/exporter/googlecloudstorageexporter/generated_component_test.go @@ -10,7 +10,7 @@ import ( "go.opentelemetry.io/collector/component/componenttest" ) -var typ = component.MustNewType("googlecloudstorage") +var typ = component.MustNewType("google_cloud_storage") func TestComponentFactoryType(t *testing.T) { require.Equal(t, typ, NewFactory().Type()) diff --git a/exporter/googlecloudstorageexporter/go.mod b/exporter/googlecloudstorageexporter/go.mod index 307f26371de3b..71116d8f32f9f 100644 --- a/exporter/googlecloudstorageexporter/go.mod +++ b/exporter/googlecloudstorageexporter/go.mod @@ -16,6 +16,7 @@ require ( go.opentelemetry.io/collector/confmap/xconfmap v0.147.1-0.20260312222452-c212d203a110 go.opentelemetry.io/collector/consumer v1.53.1-0.20260312222452-c212d203a110 go.opentelemetry.io/collector/exporter v1.53.1-0.20260312222452-c212d203a110 + go.opentelemetry.io/collector/exporter/xexporter v0.147.1-0.20260312222452-c212d203a110 go.opentelemetry.io/collector/extension v1.53.1-0.20260312222452-c212d203a110 go.opentelemetry.io/collector/pdata v1.53.1-0.20260312222452-c212d203a110 go.uber.org/goleak v1.3.0 @@ -60,8 +61,10 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.147.1-0.20260312222452-c212d203a110 // indirect go.opentelemetry.io/collector/featuregate v1.53.1-0.20260312222452-c212d203a110 // indirect go.opentelemetry.io/collector/internal/componentalias v0.147.1-0.20260312222452-c212d203a110 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.147.1-0.20260312222452-c212d203a110 // indirect go.opentelemetry.io/collector/pipeline v1.53.1-0.20260312222452-c212d203a110 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.39.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect diff --git a/exporter/googlecloudstorageexporter/go.sum b/exporter/googlecloudstorageexporter/go.sum index 0220e52f3b429..4cf0f39122f0a 100644 --- a/exporter/googlecloudstorageexporter/go.sum +++ b/exporter/googlecloudstorageexporter/go.sum @@ -143,12 +143,14 @@ go.opentelemetry.io/collector/consumer/consumererror v0.147.0 h1:c4jjAEke6AEqoxa go.opentelemetry.io/collector/consumer/consumererror v0.147.0/go.mod h1:9MwE9k6xHd3TGBSAeKSmt42dwWyxwUhYqfwPUx1ZQJY= go.opentelemetry.io/collector/consumer/consumertest v0.147.0 h1:AU3sUm2L3pezrg6hzPJAO19ZANQoCcfgbyanN0q360g= go.opentelemetry.io/collector/consumer/consumertest v0.147.0/go.mod h1:QWGFRmeYNbKaseDTNT3a2iGDmjl+DCZnLzMP7Rjj0JM= -go.opentelemetry.io/collector/consumer/xconsumer v0.147.0 h1:XJVQc2dYyalaFXMTa4/RE+aweQTiBpw1edfwdCIJSxw= -go.opentelemetry.io/collector/consumer/xconsumer v0.147.0/go.mod h1:mtwh1VsUoGjxwdmXEzjbswH7KAGByJNCIMHmhqwXeK0= +go.opentelemetry.io/collector/consumer/xconsumer v0.147.1-0.20260312222452-c212d203a110 h1:T+LrSQ9WPSShhd8AjBXtE4hbl/F6Hauy2Gkt68uXiNY= +go.opentelemetry.io/collector/consumer/xconsumer v0.147.1-0.20260312222452-c212d203a110/go.mod h1:mtwh1VsUoGjxwdmXEzjbswH7KAGByJNCIMHmhqwXeK0= go.opentelemetry.io/collector/exporter v1.53.1-0.20260312222452-c212d203a110 h1:uRCGEjSvLdrp/25fz9w3zBWOXcPK1ZDV0OKNZyVEGLo= go.opentelemetry.io/collector/exporter v1.53.1-0.20260312222452-c212d203a110/go.mod h1:btx35ssBsbR7UrSCZvH6uK5s3R/EhRVk0GlAIIbwIlQ= go.opentelemetry.io/collector/exporter/exporterhelper v0.147.0 h1:LSKMjcoq/sfhxYSMmdCSHcHnOQAysfRZXcjOLbz0Prk= go.opentelemetry.io/collector/exporter/exporterhelper v0.147.0/go.mod h1:6Yl9DTcsj8tRyjOfNFR0rUjkZil6Z7qwWcDb1fEfFvA= +go.opentelemetry.io/collector/exporter/xexporter v0.147.1-0.20260312222452-c212d203a110 h1:Px093WrEEI/106VTQUKoUiCbAxB2CMDQJ6goAOHkb0o= +go.opentelemetry.io/collector/exporter/xexporter v0.147.1-0.20260312222452-c212d203a110/go.mod h1:7mhvn0tBS9szBYMH37ttF4DK/DOt4DtxGjv2k+xvzq4= go.opentelemetry.io/collector/extension v1.53.1-0.20260312222452-c212d203a110 h1:gHyfokvRCepcVg80YXB/HT9CrFphMehI4+se8iMRUOM= go.opentelemetry.io/collector/extension v1.53.1-0.20260312222452-c212d203a110/go.mod h1:+xvUomF8thLpO+NRsA8m/9GkDChvoNRqaLqCLVCeMIo= go.opentelemetry.io/collector/extension/xextension v0.147.0 h1:qOTnVoLomYZVpCbynYI1z2Su7MyURW3UeTpXVPXydsg= @@ -161,8 +163,8 @@ go.opentelemetry.io/collector/internal/testutil v0.147.0 h1:DFlRxBRp23/sZnpTITK2 go.opentelemetry.io/collector/internal/testutil v0.147.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= go.opentelemetry.io/collector/pdata v1.53.1-0.20260312222452-c212d203a110 h1:QtUkT1C4U2ZFiojejF1o/a6EKS4T1mpf3NAZCBQOxFo= go.opentelemetry.io/collector/pdata v1.53.1-0.20260312222452-c212d203a110/go.mod h1:vJbzhtX2IRndf+vXIv3l28DeDWV15XhTlr8H+DQQNps= -go.opentelemetry.io/collector/pdata/pprofile v0.147.0 h1:yQS3RBvcvRcy9N7AnJvsxmse0AxJcRqBZfwMA22xBA8= -go.opentelemetry.io/collector/pdata/pprofile v0.147.0/go.mod h1:pm9mUqHNpT1SaCkxILu4FW1BvMAelh7EKhpSKe2KJIQ= +go.opentelemetry.io/collector/pdata/pprofile v0.147.1-0.20260312222452-c212d203a110 h1:X5fpQJQXyqDRu+47Od1lmtQx/zc8K8uLa7o6A707VRY= +go.opentelemetry.io/collector/pdata/pprofile v0.147.1-0.20260312222452-c212d203a110/go.mod h1:uAP3UsFM7t+xIYvoSm4zGXT4bKz+FzzxmA/4/8dG6d0= go.opentelemetry.io/collector/pdata/xpdata v0.147.0 h1:JZPYCIrIhmpmUJ1SNkGv13LQykBPY9eLpC+kQm8fex0= go.opentelemetry.io/collector/pdata/xpdata v0.147.0/go.mod h1:w3iv1rH00eMB/7lYBn9dDJuYujJUpgca5Zoz3KDLgrc= go.opentelemetry.io/collector/pipeline v1.53.1-0.20260312222452-c212d203a110 h1:hBQuBpbiepBpiMUD+/hO+ggdt1JOO0DwBpZEA9a14O8= diff --git a/exporter/googlecloudstorageexporter/internal/metadata/generated_status.go b/exporter/googlecloudstorageexporter/internal/metadata/generated_status.go index 394cda7ccb801..9734ed76112d0 100644 --- a/exporter/googlecloudstorageexporter/internal/metadata/generated_status.go +++ b/exporter/googlecloudstorageexporter/internal/metadata/generated_status.go @@ -7,8 +7,9 @@ import ( ) var ( - Type = component.MustNewType("googlecloudstorage") - ScopeName = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudstorageexporter" + Type = component.MustNewType("google_cloud_storage") + DeprecatedType = component.MustNewType("googlecloudstorage") + ScopeName = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudstorageexporter" ) const ( diff --git a/exporter/googlecloudstorageexporter/metadata.yaml b/exporter/googlecloudstorageexporter/metadata.yaml index 77e2db4c72540..025353a7bb6eb 100644 --- a/exporter/googlecloudstorageexporter/metadata.yaml +++ b/exporter/googlecloudstorageexporter/metadata.yaml @@ -1,4 +1,5 @@ -type: googlecloudstorage +type: google_cloud_storage +deprecated_type: googlecloudstorage display_name: Google Cloud Storage Exporter status: diff --git a/exporter/googlecloudstorageexporter/testdata/config.yaml b/exporter/googlecloudstorageexporter/testdata/config.yaml index d650d3e3ac618..a468f9e61a4ac 100644 --- a/exporter/googlecloudstorageexporter/testdata/config.yaml +++ b/exporter/googlecloudstorageexporter/testdata/config.yaml @@ -1,11 +1,11 @@ -googlecloudstorage: +google_cloud_storage: encoding: test bucket: region: test-region name: test-bucket project_id: test-project-id -googlecloudstorage/with_partition: +google_cloud_storage/with_partition: encoding: test bucket: region: test-region @@ -15,13 +15,13 @@ googlecloudstorage/with_partition: format: year=%Y prefix: my-logs -googlecloudstorage/empty_bucket_name: +google_cloud_storage/empty_bucket_name: encoding: test bucket: region: test-region project_id: test-project-id -googlecloudstorage/invalid_partition_format: +google_cloud_storage/invalid_partition_format: encoding: test bucket: region: test-region @@ -30,7 +30,7 @@ googlecloudstorage/invalid_partition_format: partition: format: year=%invalid -googlecloudstorage/with_gzip_compression: +google_cloud_storage/with_gzip_compression: encoding: test bucket: region: test-region @@ -38,7 +38,7 @@ googlecloudstorage/with_gzip_compression: project_id: test-project-id compression: gzip -googlecloudstorage/with_zstd_compression: +google_cloud_storage/with_zstd_compression: encoding: test bucket: region: test-region @@ -46,7 +46,7 @@ googlecloudstorage/with_zstd_compression: project_id: test-project-id compression: zstd -googlecloudstorage/unsupported_compression: +google_cloud_storage/unsupported_compression: encoding: test bucket: region: test-region diff --git a/reports/distributions/contrib.yaml b/reports/distributions/contrib.yaml index aa0de36a86111..65cfba29f53c2 100644 --- a/reports/distributions/contrib.yaml +++ b/reports/distributions/contrib.yaml @@ -35,9 +35,9 @@ components: - elasticsearch - faro - file + - google_cloud_storage - googlecloud - googlecloudpubsub - - googlecloudstorage - googlemanagedprometheus - honeycombmarker - influxdb