remind101 / empire

A PaaS built on top of Amazon EC2 Container Service (ECS)
BSD 2-Clause "Simplified" License
2.69k stars 158 forks source link

Docs: "Exposing an App Publicly" is missing half of the story #1012

Open dblackdblack opened 8 years ago

dblackdblack commented 8 years ago

The "exposing an app publicly" section describes what is required to allow empire to accept incoming HTTP requests but it doesn't tell you what DNS records you need to create in order to actually route traffic to the app. Also what does "domain" mean? Is it a Route53 HostedZone? A CNAME? An A record?

I'm trying to spin up Empire to test it out against other PaaSes and the quickstart guide doesn't end in a "Hello World" app running in a web browser, which would seem to me to be the minimum bar for a quickstart guide for a PaaS.

dblackdblack commented 8 years ago

BTW thank you for putting in the effort to open source this product. Sorry if I came off as bitchy and ungrateful.

phobologic commented 8 years ago

Thanks for the feedback @dblackdblack - we're hoping to focus more on tightening up the docs as we push towards 1.0. Things have been in flux, and it's been hard to keep up, but that's not a great excuse :) I'll see if I can get something in the docs for this later today!

ejholmes commented 8 years ago

In retrospect, we probably should have just made this part of the quickstart guide.

To answer your questions @dblackdblack:

Also what does "domain" mean? Is it a Route53 HostedZone? A CNAME? An A record?

Nothing at the moment. The only purpose this serves at the moment is flagging the app as public/private, so it doesn't actually matter what you put here. This will likely get replaced/removed before a 1.0 release, since it's just cruft from building off of the Heroku Platform API that we haven't got around to cleaning up.

So, to expose an app publicly, you can just add a fake domain:

$ emp domain-add foo -a acme-inc

Once exposed, and the app is deployed again, the ELB/ALB will be an "internet-facing" ELB, and you can grab the DNS for it from the AWS console.