Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ecs container advanced configuration #1396

Merged
merged 7 commits into from
Sep 17, 2020
Merged

Ecs container advanced configuration #1396

merged 7 commits into from
Sep 17, 2020

Conversation

roleyfoley
Copy link
Contributor

@roleyfoley roleyfoley commented Sep 15, 2020

Description

Adds a collection of changes for ECS to allow for advanced configurations

  • Support setting the hostname for a container within a task
  • Exposes volume driver configuration to users to use dynamic provisioning of volumes - mainly for the rexray/ebs volume
  • Support for overriding the container fragment Id when processing fragment files
  • Allows for override of the docker container image to align with the ability to override the image version
  • Adds support for placement constraints - Which allow you to restrict where a task is placed based on the labels assigned to either the ecs host or the task. For example attribute:ecs.availability-zone == ap-southeast-2a would only allow the task to be placed on an ec2 ecs host in ap-southeast-2a

This also adds support for docker in docker when running Jenkins agents. While not always a recommend approach this PR covers off most of the concerns outlined in http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

Motivation and Context

These changes have primarily been focussed on introducing the features required to make docker in docker work nicely on an ECS cluster for Jenkins agent hosting

How Has This Been Tested?

Tested on codepublican testing environment

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Refactor (non-breaking change which improves the structure or operation of the implementation)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Followup Actions

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • None of the above.

ml019
ml019 previously approved these changes Sep 15, 2020
@@ -2,6 +2,11 @@

[#assign
containerChildrenConfiguration = [
{
"Names" : ["Fragment", "Container"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AS this is new, reckon we drop the legacy name and just support "Fragment"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed

Copy link
Contributor

@ml019 ml019 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks fine

@ml019 ml019 merged commit 0d606ee into hamlet-io:master Sep 17, 2020
@roleyfoley roleyfoley deleted the ecs-container-advanced branch September 21, 2020 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants