lib/hako/schedulers/ecs.rb in hako-0.12.0 vs lib/hako/schedulers/ecs.rb in hako-0.13.0

- old
+ new

@@ -24,15 +24,13 @@ @started_at = nil @container_instance_arn = nil end def deploy(containers) - app = containers.fetch('app') - front = containers.fetch('front') front_port = determine_front_port @scripts.each { |script| script.deploy_started(containers, front_port) } - definitions = create_definitions(containers, front_port) + definitions = create_definitions(containers) if @dry_run definitions.each do |d| Hako.logger.info "Add container #{d}" end @@ -41,12 +39,10 @@ if task_definition == :noop Hako.logger.info "Task definition isn't changed" task_definition = @ecs.describe_task_definition(task_definition: @app_id).task_definition else Hako.logger.info "Registered task definition: #{task_definition.task_definition_arn}" - upload_front_config(@app_id, front, app.port) - Hako.logger.debug "Uploaded front configuration to s3://#{front.s3.bucket}/#{front.s3.key(@app_id)}" end service = create_or_update_service(task_definition.task_definition_arn, front_port) if service == :noop Hako.logger.info "Service isn't changed" else @@ -56,11 +52,11 @@ Hako.logger.info 'Deployment completed' end end def oneshot(containers, commands, env) - definitions = create_definitions(containers, -1) + definitions = create_definitions(containers) definitions.each do |definition| definition.delete(:essential) end if @dry_run @@ -271,18 +267,13 @@ else :noop end end - def create_definitions(containers, front_port) + def create_definitions(containers) containers.map do |name, container| - case name - when 'front' - front_container(container, front_port) - else - app_container(name, container) - end + create_definition(name, container) end end def register_task_definition_for_oneshot(definitions) family = "#{@app_id}-oneshot" @@ -304,38 +295,22 @@ host: { source_path: volume['source_path'] }, } end end - def front_container(front, front_port) - environment = front.env.map { |k, v| { name: k, value: v } } + def create_definition(name, container) + environment = container.env.map { |k, v| { name: k, value: v } } { - name: 'front', - image: front.image_tag, - cpu: front.cpu, - memory: front.memory, - links: front.links, - port_mappings: [{ container_port: 80, host_port: front_port, protocol: 'tcp' }], - essential: true, - environment: environment, - docker_labels: front.docker_labels, - mount_points: front.mount_points, - } - end - - def app_container(name, app) - environment = app.env.map { |k, v| { name: k, value: v } } - { name: name, - image: app.image_tag, - cpu: app.cpu, - memory: app.memory, - links: app.links, - port_mappings: [], + image: container.image_tag, + cpu: container.cpu, + memory: container.memory, + links: container.links, + port_mappings: container.port_mappings, essential: true, environment: environment, - docker_labels: app.docker_labels, - mount_points: app.mount_points, + docker_labels: container.docker_labels, + mount_points: container.mount_points, } end def run_task(task_definition, commands, env) environment = env.map { |k, v| { name: k, value: v } }