chef/omnibus

S3 Publisher should share S3 Profile Configuration

tarcinil opened this issue · 0 comments

Description

S3 Publisher should inherit from s3_profile and not have to use publiser_s3_profile

Omnibus Version

Latest

Platform Version

el7

Replication Case

I was using the following string.

bundle exec omnibus publish s3 REDACTED pkg/package-<%= @_version %>-1.el7.x86_64.rpm --override s3_profile:REDACTED"

I expected that s3_profile should be inherited into the s3 publisher instead of needing to use publish_s3_profile. This would be considered a quality of life enhancement, and could likely be driven by Omnibus::Config and allow for order of operations.

If publish_s3*, use it, if not, check s3_*, else raise

Build Output

       �[31mMissing required attribute `publish_s3_access_key' for Config. You must
       specify a value for `publish_s3_access_key' in your DSL file:
       
           publish_s3_access_key "'ABCD1234'"
       
       Or set the value on the object:
       
           config.publish_s3_access_key("'ABCD1234'")
       �[0m
       �[31m
       /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/config.rb:438:in `block in <class:Config>'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/config.rb:627:in `instance_eval'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/config.rb:627:in `set_or_return'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/config.rb:57:in `block in default'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/config.rb:52:in `block in default'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/publishers/s3_publisher.rb:71:in `s3_configuration'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/s3_helpers.rb:57:in `client'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/s3_helpers.rb:109:in `bucket'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/s3_helpers.rb:135:in `store_object'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/publishers/s3_publisher.rb:34:in `block in publish'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/publishers/s3_publisher.rb:26:in `each'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/publishers/s3_publisher.rb:26:in `publish'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/publisher.rb:29:in `publish'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/cli/publish.rb:101:in `publish'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/cli/publish.rb:61:in `s3'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/cli/base.rb:33:in `dispatch'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:115:in `invoke'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:238:in `block in subcommand'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/cli/base.rb:33:in `dispatch'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/lib/omnibus/cli.rb:42:in `execute!'
         /home/centos/.bundle/ruby/2.6.0/omnibus-97490bb29fc5/bin/omnibus:16:in `<top (required)>'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/bin/omnibus:23:in `load'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/bin/omnibus:23:in `<top (required)>'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/cli/exec.rb:74:in `load'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/cli/exec.rb:28:in `run'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/cli.rb:463:in `exec'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/cli.rb:27:in `dispatch'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/cli.rb:18:in `start'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/exe/bundle:30:in `block in <top (required)>'
         /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
         /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/exe/bundle:22:in `<top (required)>'
         /opt/omnibus-toolchain/bin/bundle:23:in `load'
         /opt/omnibus-toolchain/bin/bundle:23:in `<main>'�[0m