class KuberKit::ServiceDeployer::Deployer
Constants
- StrategyNotFoundError
Public Class Methods
new(**injected_deps, &block)
click to toggle source
Calls superclass method
# File lib/kuber_kit/service_deployer/deployer.rb, line 11 def initialize(**injected_deps, &block) super(**injected_deps) add_default_strategies end
Public Instance Methods
deploy(shell, service, strategy_name)
click to toggle source
# File lib/kuber_kit/service_deployer/deployer.rb, line 27 def deploy(shell, service, strategy_name) deployer = @@strategies[strategy_name] raise StrategyNotFoundError, "Can't find strategy with name #{strategy_name}" if deployer.nil? deployer.deploy(shell, service) end
register_strategy(strategy_name, strategy)
click to toggle source
# File lib/kuber_kit/service_deployer/deployer.rb, line 16 def register_strategy(strategy_name, strategy) @@strategies ||= {} if !strategy.is_a?(KuberKit::ServiceDeployer::Strategies::Abstract) raise ArgumentError.new("should be an instance of KuberKit::ServiceDeployer::Strategies::Abstract, got: #{strategy.inspect}") end @@strategies[strategy_name] = strategy end
reset!()
click to toggle source
# File lib/kuber_kit/service_deployer/deployer.rb, line 35 def reset! @@strategies = {} end
Private Instance Methods
add_default_strategies()
click to toggle source
# File lib/kuber_kit/service_deployer/deployer.rb, line 40 def add_default_strategies register_strategy(:kubernetes, kubernetes) register_strategy(:docker, docker) register_strategy(:docker_compose, docker_compose) end