Sha256: ce589c77c031d9942c6c0f0548cb5a8f1572d952e6c0852feb89f5a303c2f45c
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
class KuberKit::ServiceDeployer::Strategies::DockerCompose < KuberKit::ServiceDeployer::Strategies::Abstract include KuberKit::Import[ "service_reader.reader", "shell.docker_compose_commands", "configs", ] STRATEGY_OPTIONS = [ :service_name, :command_name, :detached ] Contract KuberKit::Shell::AbstractShell, KuberKit::Core::Service => Any def deploy(shell, service) service_config = reader.read(shell, service) config_path = "#{configs.service_config_dir}/#{service.name}.yml" shell.write(config_path, service_config) strategy_options = service.attribute(:deployer, default: {}) unknown_options = strategy_options.keys.map(&:to_sym) - STRATEGY_OPTIONS if unknown_options.any? raise KuberKit::Error, "Unknow options for deploy strategy: #{unknown_options}. Available options: #{STRATEGY_OPTIONS}" end service_name = strategy_options.fetch(:service_name, service.name.to_s) command_name = strategy_options.fetch(:command_name, "bash") docker_compose_commands.run(shell, config_path, service: service_name, command: command_name, detached: !!strategy_options[:detached] ) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kuber_kit-0.3.8 | lib/kuber_kit/service_deployer/strategies/docker_compose.rb |