Sha256: d36027f6af3f7c2cf9c0184ac269274c2aab70db2c7d8b2210cfe8927b77580d

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

nucleon_require(File.dirname(__FILE__), :docker_resource)

#---

module CM
module Plugin
class AuthDockerResource < Nucleon.plugin_class(:CM, :docker_resource)

  #-----------------------------------------------------------------------------
  # Plugin interface

  def normalize(reload)
    super

    if settings[:docker_username] && settings[:docker_password] && settings[:docker_email]
      begin
        Docker.authenticate!({
          'username' => settings[:docker_username],
          'password' => settings[:docker_password],
          'email' => settings[:docker_email]
        })
      rescue Docker::Error::AuthenticationError => error
        error('authentication_failed', { :error => error.message })
        raise error
      end
    else
      raise render_message('cm.resource.docker.info.no_credentials', {
        :username_option => 'docker_username',
        :password_option => 'docker_password',
        :email_option => 'docker_email'
      })
    end

    yield if block_given?
  end

  #-----------------------------------------------------------------------------
  # Checks

  #-----------------------------------------------------------------------------
  # Property accessors / modifiers

  #-----------------------------------------------------------------------------
  # Operations

  #-----------------------------------------------------------------------------
  # Utilities

end
end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cm-0.1.8 lib/core/plugin/auth_docker_resource.rb
cm-0.1.6 lib/core/plugin/auth_docker_resource.rb