From efca6aebb79c1f59f95e73d2d8ee67834ba0a4d5 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 7 Jan 2023 21:50:41 +0100 Subject: [PATCH] Add absolute_image to account for custom registry --- lib/mrsk/configuration.rb | 4 ++++ test/configuration_test.rb | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 test/configuration_test.rb diff --git a/lib/mrsk/configuration.rb b/lib/mrsk/configuration.rb index 002e20e1..18be37fb 100644 --- a/lib/mrsk/configuration.rb +++ b/lib/mrsk/configuration.rb @@ -24,6 +24,10 @@ class Mrsk::Configuration @version ||= ENV["VERSION"] || `git rev-parse HEAD`.strip end + def absolute_image + [ config.registry["server"], image ].compact.join("/") + end + def image_with_version "#{image}:#{version}" end diff --git a/test/configuration_test.rb b/test/configuration_test.rb new file mode 100644 index 00000000..7a5c4162 --- /dev/null +++ b/test/configuration_test.rb @@ -0,0 +1,16 @@ +require "test_helper" +require "mrsk/configuration" + +class ConfigurationTest < ActiveSupport::TestCase + setup do + @config = { service: "app", image: "dhh/app", registry: { "username" => "dhh", "password" => "secret" } } + end + + test "absolute image" do + configuration = Mrsk::Configuration.new(@config) + assert_equal "dhh/app", configuration.absolute_image + + configuration = Mrsk::Configuration.new(@config.tap { |c| c[:registry].merge!({ "server" => "ghcr.io" }) }) + assert_equal "ghcr.io/dhh/app", configuration.absolute_image + end +end