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

Initial Implementation #1

Closed
MoonMoon1919 opened this issue Jul 31, 2018 · 4 comments
Closed

Initial Implementation #1

MoonMoon1919 opened this issue Jul 31, 2018 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@MoonMoon1919
Copy link

MoonMoon1919 commented Jul 31, 2018

My general thoughts are that it should include the following resources:

  • launch config
  • autoscaling group
  • security group
  • dns record
  • iam instance profile
  • iam role
  • elb (w/ variable for enabled)
  • eip (w/ variable for enabled)

Variables:

  • min/max size
  • enabled
  • volume size
  • vpc id
  • user data script var (this would need to be a path using ${path.module} syntax in local module)
  • elb enabled/disabled
  • eip enabled/disabled
  • dns zone id
  • security groups
@MoonMoon1919 MoonMoon1919 added the enhancement New feature or request label Jul 31, 2018
@osterman
Copy link
Member

osterman commented Jul 31, 2018

Resources sound good, except for not sure how we can leverage the DNS record with an ASG?

We should also define the outputs. I think they would be...

outputs

  • security_group_id

variables

  • instance_type
  • namespace, stage, name, attributes, delimiter, tags - for label module
  • subnet_ids
  • ssh_key_pair

Note, the labels module will output tags_as_list_of_maps or something like that which is suitable for the autoscale group.

references

Refer to these modules/variables for inspiration:

Note, @Jamie-BitFlight has offered to donate any/all of his code under the bitflight-public repo to our cause, so feel free to borrow heavily against it @MoonMoon1919

@osterman osterman added this to Ready to Implement in Open Source Community Support via automation Jul 31, 2018
@MoonMoon1919
Copy link
Author

That sounds good. I like that.

I was thinking the DNS record would be used only if enabled and an ELB and EIP was requested. Thoughts?

@osterman
Copy link
Member

osterman commented Jul 31, 2018

I think the ALB belongs outside of this module for greatest flexibility and re-use. For example, we're using these ALB modules for ECS, but they will work for many other use-cases.

Check these out:

Perhaps the module can take as an input the target groups ARNs and use the aws_autoscaling_attachment resource in the autoscale module to attach to those arns. This will let you use the alb-ingress module to route traffic to that ARN.

https://www.terraform.io/docs/providers/aws/r/autoscaling_attachment.html

@MoonMoon1919
Copy link
Author

I like that, sounds good!

@osterman osterman changed the title Add module resources Initial Implementation Aug 7, 2018
@osterman osterman assigned aknysh and unassigned vadim-hleif Sep 10, 2018
Open Source Community Support automation moved this from Ready to Implement to Completed Sep 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

4 participants