Registry login from config credentials
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
class Mrsk::Commands::Registry < Mrsk::Commands::Base
|
class Mrsk::Commands::Registry < Mrsk::Commands::Base
|
||||||
def login
|
def login
|
||||||
if (user = ENV["DOCKER_USER"]).present? && (password = ENV["DOCKER_PASSWORD"]).present?
|
ensure_credentials_present
|
||||||
# FIXME: Find a way to hide PW so it's not shown on terminal
|
"docker login #{config.registry["server"]} -u #{config.registry["username"]} -p #{config.registry["password"]}"
|
||||||
"docker login -u #{user} -p #{password}"
|
end
|
||||||
else
|
|
||||||
raise ArgumentError, "Missing DOCKER_USER or DOCKER_PASSWORD in ENV"
|
private
|
||||||
|
def ensure_credentials_present
|
||||||
|
unless config.registry && config.registry["username"].present? && config.registry["password"].present?
|
||||||
|
raise ArgumentError, "You must configure registry/username and registry/password"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,17 +1,13 @@
|
|||||||
require_relative "setup"
|
require_relative "setup"
|
||||||
|
|
||||||
registry = Mrsk::Commands::Registry.new
|
registry = Mrsk::Commands::Registry.new(MRSK_CONFIG)
|
||||||
|
|
||||||
namespace :mrsk do
|
namespace :mrsk do
|
||||||
namespace :registry do
|
namespace :registry do
|
||||||
desc "Login to the registry using ENV['DOCKER_USER'] and ENV['DOCKER_PASSWORD']"
|
desc "Login to the registry locally and remotely"
|
||||||
task :login do
|
task :login do
|
||||||
if ENV["DOCKER_USER"].present? && ENV["DOCKER_PASSWORD"].present?
|
|
||||||
run_locally { execute registry.login }
|
run_locally { execute registry.login }
|
||||||
on(MRSK_CONFIG.servers) { execute registry.login }
|
on(MRSK_CONFIG.servers) { execute registry.login }
|
||||||
else
|
|
||||||
puts "Skipping login due to missing ENV['DOCKER_USER'] and ENV['DOCKER_PASSWORD']"
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user