From b164d50ff10e0fe74ffff061bcf3c4a461be5a70 Mon Sep 17 00:00:00 2001 From: Nick Hammond Date: Mon, 9 Jun 2025 19:36:27 -0700 Subject: [PATCH] Check for label presence in the validation, don't validate labels on simple role setup --- lib/kamal/configuration/validator.rb | 2 ++ lib/kamal/configuration/validator/accessory.rb | 2 +- lib/kamal/configuration/validator/role.rb | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/kamal/configuration/validator.rb b/lib/kamal/configuration/validator.rb index 6fe9c604..ae132e37 100644 --- a/lib/kamal/configuration/validator.rb +++ b/lib/kamal/configuration/validator.rb @@ -170,6 +170,8 @@ class Kamal::Configuration::Validator end def validate_labels!(labels) + return true if labels.blank? + with_context("labels") do labels.each do |key, _| with_context(key) do diff --git a/lib/kamal/configuration/validator/accessory.rb b/lib/kamal/configuration/validator/accessory.rb index df18f196..999ca558 100644 --- a/lib/kamal/configuration/validator/accessory.rb +++ b/lib/kamal/configuration/validator/accessory.rb @@ -6,7 +6,7 @@ class Kamal::Configuration::Validator::Accessory < Kamal::Configuration::Validat error "specify one of `host`, `hosts`, `role`, `roles`, `tag` or `tags`" end - validate_labels!(config["labels"]) if config.key?("labels") + validate_labels!(config["labels"]) validate_docker_options!(config["options"]) end diff --git a/lib/kamal/configuration/validator/role.rb b/lib/kamal/configuration/validator/role.rb index e5479217..d82025e0 100644 --- a/lib/kamal/configuration/validator/role.rb +++ b/lib/kamal/configuration/validator/role.rb @@ -2,12 +2,12 @@ class Kamal::Configuration::Validator::Role < Kamal::Configuration::Validator def validate! validate_type! config, Array, Hash - validate_labels!(config["labels"]) if config.key?("labels") if config.is_a?(Array) validate_servers!(config) else super + validate_labels!(config["labels"]) validate_docker_options!(config["options"]) end end