Make an effort to match the primary_role from a list of specific roles.

This is less surprising than picking the first role and first host.
This commit is contained in:
Matthew Kent
2023-11-24 15:35:36 -08:00
parent b1dc188841
commit 79baa598fa
2 changed files with 11 additions and 1 deletions

View File

@@ -100,6 +100,15 @@ class CommanderTest < ActiveSupport::TestCase
assert_equal({ in: :groups, limit: 1, wait: 2 }, @kamal.boot_strategy)
end
test "try to match the primary role from a list of specific roles" do
configure_with(:deploy_primary_web_role_override)
@kamal.specific_roles = [ "web_*" ]
assert_equal [ "web_chicago", "web_tokyo" ], @kamal.roles.map(&:name)
assert_equal "web_tokyo", @kamal.primary_role
assert_equal "1.1.1.3", @kamal.primary_host
end
private
def configure_with(variant)
@kamal = Kamal::Commander.new.tap do |kamal|