class JamesBond::KubernetesDeployMission

Constants

CONFIGURATION_FILE_PATH
MISSION_MAIN_COMMANDS
MISSION_NAME

Public Instance Methods

build(config, params) click to toggle source
# File lib/james_bond/kubernetes_deploy_mission.rb, line 15
def build(config, params)
  config.name          = MISSION_NAME
  config.main_commands = MISSION_MAIN_COMMANDS

  arguments_parser do |parser|
    parser.banner =  "bond #{MISSION_MAIN_COMMANDS[0]} [options]"
    parser.string  "-t", "--tag", "The image tag to deploy."
    parser.string "-e", "--environment",
      "Environment to deploy to. Default: dev.",
      default: "dev"
  end
end
run_deploy_command(command:, mission_pool:) click to toggle source
# File lib/james_bond/kubernetes_deploy_mission.rb, line 28
def run_deploy_command(command:, mission_pool:)
  tag = command.options[:tag]
  tag ||= invoke_build(mission_pool)[:tag]

  command.options[:tag] = tag
  MissionKubernetes::PatchDeployHandler.new(command, config_file).run
end

Private Instance Methods

config_file() click to toggle source
# File lib/james_bond/kubernetes_deploy_mission.rb, line 44
def config_file
  @config_file ||= JamesBond::MissionKubernetes::Config.new(yaml_path: CONFIGURATION_FILE_PATH)
end
invoke_build(mission_pool) click to toggle source
# File lib/james_bond/kubernetes_deploy_mission.rb, line 38
def invoke_build(mission_pool)
  build = JamesBond::Core::Command.new( argv: ["build"], env: "dev")
  build_mission = mission_pool.decide_mission(build)
  build_mission.run_command(command: build, mission_pool: mission_pool)
end