lib/vidar/config.rb in vidar-0.1.6 vs lib/vidar/config.rb in vidar-0.2.0
- old
+ new
@@ -6,11 +6,21 @@
compose_file: -> { "docker-compose.ci.yml" },
default_branch: -> { "master" },
current_branch: -> { `git rev-parse --abbrev-ref HEAD`.strip.tr("/", "-") },
revision: -> { `git rev-parse HEAD`.strip },
revision_name: -> { `git show --pretty=format:"%s (%h)" -s HEAD`.strip },
- cluster: -> { `kubectl config current-context`.strip.split("_", 4)[-1] } # TODO: improve context cleanup
+ cluster_name: -> {
+ cluster_names = get(:cluster_names).to_s
+ current_context = `kubectl config current-context`.strip
+
+ if cluster_names.empty?
+ current_context
+ else
+ names_in_context = current_context.scan(Regexp.new(cluster_names))
+ names_in_context.flatten.first || current_context
+ end
+ }
}.freeze
class << self
attr_reader :data
attr_writer :manifest_file
@@ -24,9 +34,19 @@
@manifest_file || DEFAULT_MANIFEST_FILE
end
def loaded?
@loaded
+ end
+
+ def cluster_name
+ cluster_names = get(:cluster_names).to_s
+ current_context = `kubectl config current-context`.strip
+
+ return current_context if cluster_names.empty?
+
+ names_in_context = current_context.scan(Regexp.new(cluster_names))
+ names_in_context.flatten.first || current_context
end
def get(key)
load unless loaded?
value = @data[key.to_s] || DEFAULT_OPTIONS[key.to_sym]&.call