Commit Graph

336 Commits

Author SHA1 Message Date
Nicolas De Loof 8379bf467e
Let user pass EFS create option by driver_opts
fixes #781

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-14 11:52:03 +02:00
Nicolas De Loof a87300d1df
set filesystem name to make it more visible on AWS web console
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-13 15:08:40 +02:00
Nicolas De Loof 5d5765173e
Create volume for compose app
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-13 14:18:01 +02:00
Nicolas De Loof e903326e1a
Check external filesystems exist on compose up
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-13 10:43:01 +02:00
Nicolas De loof 45bb05ee19
Merge pull request #764 from docker/test_with_mock
More unit tests with aws-sdk behind an interface + mocks
2020-10-12 21:21:38 +02:00
Nicolas De Loof 432ce79e2c
More unig tests with aws-sdk behind an interface + mocks
Fix use of existing SecurityGroup

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-12 16:51:05 +02:00
Ulysses Souza 10632b008b Add version to UserAgent on ACI
This also refactors the Version insertion to make it global

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-10-12 09:15:32 +02:00
aiordache 265dd197c3 Add detach flag to `compose up`
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-07 15:51:43 +02:00
Nicolas De Loof e8507893ee
restore status in addition to reason as progress message
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-06 14:05:08 +02:00
Nicolas De Loof 481e069b2e
NLB don't support securityGroups
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-06 10:55:45 +02:00
aiordache c15d05f7f4 refactor task failure detection
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-05 19:37:13 +02:00
aiordache eadcb3be32 Error check stack delete
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-05 16:55:38 +02:00
aiordache d3effd2ead Detect task failures
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-05 16:55:35 +02:00
Nicolas De loof cc81a2546c
Merge pull request #719 from aiordache/ecs_norm_vol_names
Normalize volume name
2020-10-05 11:14:49 +02:00
Nicolas De loof 408ab6d43a
Merge pull request #688 from docker/resolv
Configure /etc/resolv.conf before container start by an init container
2020-10-05 10:56:16 +02:00
Nicolas De loof 10824fe7c1
Merge pull request #718 from docker/capacity_provider_shutdown
delete CapacityProvider before we invoke DeleteStack
2020-10-05 09:26:17 +02:00
Nicolas De Loof eab140ee71
delete CapacityProvider before we invoke DeleteStack
this is a workaround for CloudFormation issue to manage CapacityProvider <-> Cluster reverse dependency

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-10-02 18:22:13 +02:00
aiordache 21f5cf8b40 normalize volume name
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-02 15:50:25 +02:00
Nicolas De loof 7b9390d91f
Merge pull request #701 from docker/autoscale 2020-10-02 15:01:51 +02:00
aiordache cf906951bf Normalize volume names
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-02 14:54:23 +02:00
Nicolas De Loof 20a8f01269
Don't set securityGroup name, as all compose apps will create a `DefaultNetwork`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-30 15:26:12 +02:00
Nicolas De Loof 757b9bb221
Introduce x-aws-autoscale to support CPU based autoscaling
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-30 14:59:25 +02:00
Nicolas De Loof 1444d68685
Introduce a sidecard to setup resolv.conf search domain
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-29 12:23:27 +02:00
Nicolas De Loof b56e17cf27
Sidecar image to append resolvconf search directive
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-29 12:08:42 +02:00
Nicolas De Loof d5e0ec7aa6
`parse` to return awsResources then convert into CF template
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-29 08:31:11 +02:00
Nicolas De Loof 7034254911
introduce awsResources to replace CloudFormation parameters
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-24 19:34:41 +02:00
Nicolas De Loof b30cd649b9
Dispatch methods into more specific files
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-24 10:32:46 +02:00
Nicolas De Loof ed5d774180
createPolicies to rely on project/service not converted aws model
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-24 08:27:32 +02:00
Nicolas De loof 767ed0c20d
Merge pull request #633 from docker/ec2 2020-09-24 08:26:25 +02:00
Nicolas De Loof 6a226ace9d
disable LoadBalancer healthCheck
compose-spec only support command-based health check.
we need to investigate introducing URI-based health check support

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-23 16:05:29 +02:00
Nicolas De Loof 6f0ba3bac5
architecture document
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-23 12:19:34 +02:00
Nicolas De Loof d57a39958b
Compute machine type matching reservations
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-23 12:18:42 +02:00
Nicolas De Loof f2430afa06
Fix CPU limit computation targetting EC2
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-23 10:56:32 +02:00
Nicolas De Loof 2cfaf69546
Distinguish limits for Fargate and EC2
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-23 09:40:07 +02:00
Nicolas De Loof 109ba96743
Run on EC2 when a service require GPU
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-23 09:31:16 +02:00
Chris Crone d154c41586 Update copyright
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-22 12:13:00 +02:00
Guillaume Tardif 01ea2488a2
Merge pull request #630 from docker/cli_metrics_failures
Cli metrics failures
2020-09-18 18:26:54 +02:00
Nicolas De loof 57c14e70e1
Merge pull request #628 from docker/machine
Guess AWS machine type based on service resources reservations
2020-09-18 17:05:54 +02:00
Nicolas De loof b22ebd61c4
minor error improvement to match AWS docs
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>

Co-authored-by: Chris Crone <christopher.crone@docker.com>
2020-09-18 16:44:17 +02:00
Guillaume Tardif a71b2a39bd Add status field in API metrics
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-18 15:22:34 +02:00
Guillaume Tardif 3ccc603461 Add status field in CLI metrics : success, failure, cancelled
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-18 10:47:50 +02:00
Nicolas De Loof 101e1555b8
Some more functional design
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-17 12:44:55 +02:00
Guillaume Tardif e904c71b04
Merge pull request #624 from docker/feat-api-metrics
Add  interceptor for API metrics
2020-09-17 11:40:22 +02:00
Nicolas De Loof dbe87e23a9
Guess AWS machine type based on service resources reservations
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-17 11:03:25 +02:00
Guillaume Tardif 3bf6a00a61 goimports
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-17 10:58:01 +02:00
Nicolas De loof 387370d074
Merge pull request #623 from docker/external
Prefer external.name over x-aws-securitygroup
2020-09-17 10:22:28 +02:00
Nicolas De Loof 46cebb3194
Prefer external.name over x-aws-securitygroup
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-15 15:34:18 +02:00
Nicolas De Loof 30de56f64f
Introduce support for external EFS volumes
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-15 13:03:53 +02:00
Guillaume Tardif bcead6f5ce
Merge pull request #602 from docker/useragent
customize SDK user agent so AWS can track usage
2020-09-10 17:00:52 +02:00
Nicolas De Loof d649a5d92c
Use a custom user-agent so AWS can track usage
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-10 16:51:20 +02:00
Guillaume Tardif c7a456ab83
Merge pull request #593 from docker/volume_create
ACI Volume create
2020-09-10 15:32:12 +02:00
Guillaume Tardif 099b64935b Minor fixes
Co-authored-by: Chris Crone <christopher.crone@docker.com>

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-10 14:55:46 +02:00
Guillaume Tardif 08562b403e Connecting it all
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
Guillaume Tardif 9ed06ece5b Adding volume API & initial CLI command
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
Nicolas De Loof 2f4011bfe6
Distinguish TaskExecutionRole and TaskRole
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-08 15:25:24 +02:00
Nicolas De Loof fda09712c0
Null safety
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-08 10:51:14 +02:00
aiordache 66c92595e5 list stacks by project name for ecs
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-07 14:59:02 +02:00
aiordache 799b799f30 Implement `compose ls` for ACI
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-07 14:39:49 +02:00
Nicolas De loof 0dd6416742
Merge pull request #590 from docker/api_folder 2020-09-07 13:34:28 +02:00
Guillaume Tardif d06aa2827f Move containers, compose, secrets to /api
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-07 13:22:08 +02:00
Nicolas De Loof 1506c7ac9b
create ALB is protocol is set to "http" or "https"
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-07 12:24:48 +02:00
aiordache 02be463fd7 Add `compose ls` command for ECS
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-04 13:20:11 +02:00
Nicolas De Loof 7104b8126a
another hack-ish hack to support compose logs
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-01 16:02:06 +02:00
Nicolas De Loof 4bd8a8860f
implement "down" with (yet another) docker-compose hack
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-09-01 15:35:31 +02:00
Nicolas De Loof 4d11594df0
default description if none set by user
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-31 17:10:59 +02:00
Nicolas De Loof fed50d79f2
introduce ecs-local context
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-31 15:30:05 +02:00
Nicolas De Loof c1ecb2b7be
Check we have compose 1.27 or later
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-31 10:01:53 +02:00
Nicolas De Loof 7f8bb030e6
Introduce ECS emulation mode
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-31 10:01:52 +02:00
Nicolas De Loof cd27fcb9c8
Check VPC has DNS resolution enabled
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-28 10:59:48 +02:00
Nicolas De Loof edb30e7e82
Revisit compose API so it uses compose-go Project as parameter
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-27 10:59:20 +02:00
Guillaume Tardif 4879e88b04 Fix last references to /docker/api
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-25 16:26:36 +02:00
Guillaume Tardif ad5c465bd1
Merge pull request #485 from docker/repo-rename
Rename docker/api -> docker/compose-cli
2020-08-25 15:58:51 +02:00
Guillaume Lours 10b7197e4a Remove version in test compose files
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-24 10:15:42 +02:00
Chris Crone 4c6280b0e9 Rename docker/api -> docker/compose-cli
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-21 17:28:39 +02:00
Nicolas De Loof 1b43e0c1d6
Poll ECS logs until context is canceled
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-21 16:03:49 +02:00
Nicolas De Loof 66e25937c6
Merge remote-tracking branch 'origin/main' into ecs-import
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-19 11:28:31 +02:00
Nicolas De Loof ec4615ae57
Apply linter recommendations
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-19 08:16:19 +02:00
Nicolas De Loof 0a6d7b1c6d
Reduce cyclomatic complexity
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 16:25:26 +02:00
Nicolas De Loof 55a21122d0
Copytight header
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 15:34:40 +02:00
Nicolas De Loof 2791542fea
Merge remote-tracking branch 'origin/main' into ecs
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 10:36:17 +02:00
Nicolas De Loof cfbd963c3d
Adjust commands to latest compose-go
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 10:01:32 +02:00
Nicolas De Loof 6e6a11aa73
Introduce Secrets API
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 09:43:15 +02:00
Nicolas De Loof 91427d0492
introduce `Convert` in compose API
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 08:58:37 +02:00
Nicolas De Loof e02d8d549b
Make ECS integration a compose-cli backend
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:30:49 +02:00
Nicolas De Loof 7715ee8e59
Import docker/ecs-plugin as ECS backend
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:29:40 +02:00
aiordache 9eb0a10517
Init progress writer in WaitStackCompletion
Signed-off-by: aiordache <anca.iordache@docker.com>
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:45 +02:00
Nicolas De Loof f74cc8f0aa
Allow user to customize Roles / ManagedPolicy
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:44 +02:00
Nicolas De Loof 8182c98abf
Don't pretend we know resources to be created
some resources are controlled by a CloudFormation Condition and as such
won't be created. If we add them to the progresswriter, the latter will
never receive status update.

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:44 +02:00
aiordache de99add26b
Use docker/api progress writer
Signed-off-by: aiordache <anca.iordache@docker.com>
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:43 +02:00
Nicolas De Loof 83d65c02a0
Fix flacky test
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:43 +02:00
Nicolas De Loof d281f6cb3e
Allow fine tunning of awslogs
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:43 +02:00
Nicolas De Loof 5ed328d8df
Add service.env_file support
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:42 +02:00
Nicolas De Loof 7d927ebe4f
Compute rolling update min/max limits
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:42 +02:00
Nicolas De Loof 8e538683d3
Update Golden
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:41 +02:00
Nicolas De Loof d74796aca2
Pass secret definition to init container as json struct
this avoid yet another new micro-formats that is poorly documented

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:41 +02:00
Nicolas De Loof 4bfab35007
TestCase for the secrets init container
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:41 +02:00
Nicolas De Loof 85b3cbd6ea
use an initContainer to inject secrets as /run/secrets/xx
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:40 +02:00
Nicolas De Loof b05af0c0ac
Claim support for healthcheck.retries
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:40 +02:00
Nicolas De Loof 59e8eaf744
Don't set targetGroup a name to avoid conflicts
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:39 +02:00
Nicolas De Loof 35019564e4
Configure Deployment controller
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:26:39 +02:00