Comments on getting `infrastructure-live-acme` up and running


#1

I’ve spent the last couple of weeks getting infrastructure-live-acme up and running - thanks @jim for all your help!
It’s awesome and I’ve learnt alot along the way. I think there may be some improvements to be had, so long as I understand the intent of the repo correctly.
I’m assuming that users will fork the repo along with also forking infrastructure-modules-acme, sample-app-frontend-acme and sample-app-backend-acme.
Let me know if i’ve misunderstood and if you’d accept a PR that could do all/some of:

  • use of ${get_aws_account_id()} when generating terraform state s3 bucket names (to ensure global uniqueness)
  • use of variables for github_org (to replace gruntwork.io in all the module urls with the location of the forked infrastructure-modules-acme)
  • use of variables for domain_name for use in route53 entry creation
  • extended use of replace-me to include the cidr addresses and account ids as well as the amis, so you can search the live settings repo and see if there are any more values that need to be changed,
  • default to empty for ssh_key_name and give explanation of how to generate this keypair
  • add to top level README the pre-requisite steps to take before cd main && terragrunt apply-all will work, e.g. replacing variables listed above, generating amis, generating lambda function, setting env_var for master_password

Of course, it could just be me that hit these issues and needs things spelling out in more detail…


#2

Hi @rishson! Glad to hear you’re making progress :slight_smile:

The Acme repos are examples of our “Reference Architecture” we set up for customers. The underlying code for that is already templated out so we can generate it quickly for each customer. The Acme code you’re seeing is actually an example output of that process. That’s why you’re seeing things that seem hard-coded and need to be replaced.

That said, I 100% agree that we should update the docs to make this more clear. Of especial importance is this comment:

add to top level README the pre-requisite steps to take before cd main && terragrunt apply-all will work, e.g. replacing variables listed above, generating amis, generating lambda function, setting env_var for master_password…

This is something we’re working on (“deploying the Reference Architecture from scratch”) and will add to the docs in the _docs folder in infrastructure-live. There are a lot of steps to get this right, with lots of gotchas along the way, so we appreciate your patience as we fill out this part of our documentation!


#3

OK, as promised, we’ve added docs on deploying the Reference Architecture from scratch. They will be part of the docs that come with every Reference Architecture deployment in the future, as well as part of the sample Acme Reference Architectures.

We hope you find those helpful and welcome feedback on anything that we may have missed or is unclear!