docker-archive / infrakit.aws

Infrakit plugins for AWS.
21 stars 22 forks source link

Add subtypes for swarm bootstrap #34

Closed nwt closed 7 years ago

nwt commented 7 years ago

This is a cut at adding some subtypes to manage the additional AWS objects needed for bootstrapping a swarm with the resource plugin (docker/infrakit#357).

Not all AWS objects support tagging, and for those that do not, I've used object names generated deterministically from tags to allow the filtering in DescribeInstances that the resource plugin needs. This is unsatisfying for a few reasons (overrides user-specified names; filtering doesn't work with a subset of tags; character and length restrictions can cause collisions) so I hope there's a better idea out there.

A lot is missing: tests, documentation, tagging for some objects (auto scaling groups, load balancers, log groups), and auto scaling instance destruction. If this is on the right track, I'll fill in those blanks.

codecov[bot] commented 7 years ago

Codecov Report

Merging #34 into master will decrease coverage by 19.53%. The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #34       +/-   ##
==========================================
- Coverage   28.17%   8.64%   -19.54%     
==========================================
  Files           5      18       +13     
  Lines         291     949      +658     
==========================================
  Hits           82      82               
- Misses        194     852      +658     
  Partials       15      15
Impacted Files Coverage Δ
plugin/instance/sqs_queue.go 0% <0%> (ø)
plugin/instance/ec2_vpc.go 0% <0%> (ø)
plugin/instance/util.go 3.5% <0%> (-25.07%) :x:
plugin/instance/ec2_routetable.go 0% <0%> (ø)
plugin/instance/ec2_instance.go 36.52% <0%> (ø)
plugin/instance/ec2_securitygroup.go 0% <0%> (ø)
plugin/instance/iam_role.go 0% <0%> (ø)
plugin/instance/dynamodb_table.go 0% <0%> (ø)
plugin/instance/autoscaling_launchconfiguration.go 0% <0%> (ø)
plugin/instance/ec2_subnet.go 0% <0%> (ø)
... and 18 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update c99d1dd...f17f58a. Read the comment docs.

codecov[bot] commented 7 years ago

Codecov Report

Merging #34 into master will decrease coverage by 19.53%. The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #34       +/-   ##
==========================================
- Coverage   28.17%   8.64%   -19.54%     
==========================================
  Files           5      18       +13     
  Lines         291     949      +658     
==========================================
  Hits           82      82               
- Misses        194     852      +658     
  Partials       15      15
Impacted Files Coverage Δ
plugin/instance/cloudwatchlogs_loggroup.go 0% <0%> (ø)
plugin/instance/ec2_routetable.go 0% <0%> (ø)
plugin/instance/autoscaling_launchconfiguration.go 0% <0%> (ø)
plugin/instance/ec2_subnet.go 0% <0%> (ø)
plugin/instance/ec2_securitygroup.go 0% <0%> (ø)
plugin/instance/iam_role.go 0% <0%> (ø)
plugin/instance/iam_instanceprofile.go 0% <0%> (ø)
plugin/instance/ec2_instance.go 36.52% <0%> (ø)
plugin/instance/ec2_internetgateway.go 0% <0%> (ø)
plugin/instance/autoscaling_autoscalinggroup.go 0% <0%> (ø)
... and 18 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update c99d1dd...f17f58a. Read the comment docs.