diff --git a/lib/cloud_controller/blobstore/client_provider.rb b/lib/cloud_controller/blobstore/client_provider.rb index 677a8a9325f..f9ffa8b3131 100644 --- a/lib/cloud_controller/blobstore/client_provider.rb +++ b/lib/cloud_controller/blobstore/client_provider.rb @@ -20,6 +20,12 @@ def self.provide(options:, directory_key:, root_dir: nil, resource_type: nil) when 'storage-cli' provide_storage_cli(options, directory_key, root_dir, resource_type) when 'fog', nil, '' + Steno.logger('cc.blobstore').warn( + 'blobstore.fog-deprecated', + message: "[DEPRECATION WARNING] The fog blobstore client is DEPRECATED and will be REMOVED. " \ + "Please migrate to blobstore_type 'storage-cli' as soon as possible. " \ + "See https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0043-cc-blobstore-storage-cli.md for details." + ) provide_fog(options, directory_key, root_dir) else provide_webdav(options, directory_key, root_dir) diff --git a/spec/unit/lib/cloud_controller/blobstore/client_provider_spec.rb b/spec/unit/lib/cloud_controller/blobstore/client_provider_spec.rb index bd0c1685a23..5baa9fea698 100644 --- a/spec/unit/lib/cloud_controller/blobstore/client_provider_spec.rb +++ b/spec/unit/lib/cloud_controller/blobstore/client_provider_spec.rb @@ -32,6 +32,15 @@ module Blobstore expect(FogClient).to have_received(:new) end + it 'logs a deprecation warning' do + logger = instance_double(Steno::Logger, warn: nil) + allow(Steno).to receive(:logger).with('cc.blobstore').and_return(logger) + + ClientProvider.provide(options: options, directory_key: 'key') + + expect(logger).to have_received(:warn).with('blobstore.fog-deprecated', hash_including(:message)) + end + context 'when an aws encryption option is requested' do before do options.merge!(fog_aws_storage_options: { encryption: 'my organic algo' })