hatched / ghost-charm

The Juju charm for the Ghost blogging application.
Other
9 stars 6 forks source link

Add ability to switch between nginx and apache #11

Open marcoceppi opened 10 years ago

hatched commented 10 years ago

This will be on hold until a maintained nginx charm makes it into the wild.

methodx commented 9 years ago

Hi there. Any updates about this? Maybe its time to make nginx support? I can make it.

UPD: I have checked some nginx charms. For example:

Can't say any of them will make it possible to run ghost with extra options, such as private config file or anything. I think, it should be possible to install nginx with ghost as a reverse proxy. Maybe as an option.

Will fork your charm and try to do so :)

hatched commented 9 years ago

At the moment I recommend everyone use the haproxy charm to handle reverse proxy and load balancing and because they will already have that set up I am working on the ability to add url rewrite and redirect functionality using the haproxy charm so I'm not sure what extra functionality nginx would add over the built in ghost server with this setup.

Was there something else you had in mind? haproxy > nginx > ghost setup?

hatched commented 9 years ago

The canvas photo on this blog post shows the setup I recommend people use http://fromanegg.com/post/97035773367/juju-explain-it-to-me-like-im-5. Of course these services could all be on the same machine for a small deployment.

methodx commented 9 years ago

Thanks for this link. I was thinking about ssl support, so nginx was the fron-end thing I wanted to add. But I can use haproxy for it. :)

hatched commented 9 years ago

I believe that SSL support was added in the HAProxy 1.5.x series and the promulgated HAProxy charms for Precise and Trusty both install the 1.4.x series....So I suppose that to gain the SSL support you have a few options:

In an effort to keep this charm as flexible and scalable as possible I'd like to keep additional services as external to the charm ie) added by relations. There may however be a use case for installing nginx by default with the ability to serve on 80, handle url rewrites & redirects and act as an SSL termination for people who just want to install the single charm and have it ready to go.

I'm not opposed to this however I'd like the option to disable nginx and allow the developer to rely on external charms for scalability. This of course assumes you want to contribute back to this charm. You're of course free to modify a fork however you want ;)

lazypower commented 9 years ago

Hatch, i think you're on the right path here in terms of concerns. I outline encapsulation of charm responsibilities in this blog post here - and what you've outlined follows that thought process. It's not so much about making a charm in the shortest possible timeline by mashing up concerns as it is about following best practices in charming patterns and ensuring that the services can grow as the landscape of charms continues to mature with as small of a maintenance overhead a possible.

Three cheers for hatch :beers: