Sha256: 3fa8a18abdea76e89faa7edf8fe296744ac624c1e911a2106026d3259424df38
Contents?: true
Size: 1.51 KB
Versions: 7
Compression:
Stored size: 1.51 KB
Contents
require 'json' require 'yaml' module Seira class Settings DEFAULT_CONFIG_PATH = '.seira.yml'.freeze attr_reader :config_path def initialize(config_path: DEFAULT_CONFIG_PATH) @config_path = config_path end def settings return @_settings if defined?(@_settings) @_settings = parse_settings end def organization_id settings['seira']['organization_id'] end def default_zone settings['seira']['default_zone'] end def applications settings['seira']['applications'].map { |app| app['name'] } end def config_for_app(app_name) settings['seira']['applications'].find { |app| app['name'] == app_name } end def valid_cluster_names settings['seira']['clusters'].keys end def clusters settings['seira']['clusters'] end def log_link_format settings['seira']['log_link_format'] end def full_cluster_name_for_shorthand(shorthand) return shorthand if valid_cluster_names.include?(shorthand) # Try iterating through each cluster to find the relevant alias clusters.each do |cluster_name, cluster_metadata| next if cluster_metadata['aliases'].nil? || cluster_metadata['aliases'].empty? return cluster_name if cluster_metadata['aliases'].include?(shorthand) end nil end def project_for_cluster(cluster) settings['seira']['clusters'][cluster]['project'] end private def parse_settings YAML.load_file(config_path) end end end
Version data entries
7 entries across 7 versions & 1 rubygems