Sha256: 459272ec2aef674789043f1b9f60c90eb9bf991ddb65e82d18ea75162f833eae
Contents?: true
Size: 1.18 KB
Versions: 2
Compression:
Stored size: 1.18 KB
Contents
class KuberKit::ServiceDeployer::Deployer StrategyNotFoundError = Class.new(KuberKit::NotFoundError) include KuberKit::Import[ "core.service_store", "service_deployer.strategies.kubernetes", "service_deployer.strategies.kubernetes_runner" ] def initialize(**injected_deps) super(injected_deps) add_default_strategies end 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 Contract KuberKit::Shell::AbstractShell, KuberKit::Core::Service, Symbol => Any 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 def reset! @@strategies = {} end private def add_default_strategies register_strategy(:kubernetes, kubernetes) register_strategy(:kubernetes_runner, kubernetes_runner) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kuber_kit-0.2.9 | lib/kuber_kit/service_deployer/deployer.rb |
kuber_kit-0.2.8 | lib/kuber_kit/service_deployer/deployer.rb |