pandastrike / huxley

API and CLI for Docker Deployment
9 stars 1 forks source link

Create Mixins that Include ELK Stack Components #26

Open PandaWhisperer opened 9 years ago

PandaWhisperer commented 9 years ago

Extracting remaining work from #8.

We want to ship Huxley with some ready-to-use mixins for common applications. This includes ElasticSearch and Kibana. Once the mixin API is finalized, templates can be extracted from the mint example.

freeformflow commented 9 years ago

Just to clarify what is meant by ELK stack. Dan would like to focus on Elasticsearch and Kibana only, not Logstash, for the Alpha iterations. Elasticsearch and Kibana are great for showing off the multi-component handling of Huxley, but Dan is less interested in mixins that don't directly deploy the user's code (like node, sinatra, rails, etc)

dyoder commented 9 years ago

@PandaPup Correct. However, I wouldn't say that I'm less interested in mixins that don't directly deploy applications (aka, user's code). I'm not quite sure where that came from.

What I was emphasizing is that most applications will have code specific to that application. They won't just be an arrangement of micro-services. However, Kibana is an exception, since some organizations will want a single dashboard for many applications. Thus, it makes sense to deploy it as a application itself, without any custom code.

We can imagine similar cases for databases, where an organization will have many applications sharing a single instance of, say, Redis.

For the moment, the way to handle this is to just to create a repo and use the mixin command to add whatever you like, but it seems a bit silly to have a repo for this. On the other hand, we need to store the launch descriptions somewhere, and git seems like just as good a place as any.

At any rate, it certainly works fine for now. That is, we just need an ELK (or EK, I suppose) repo with the launch descriptions for ES and Kibana, and then we can clone and deploy that.

freeformflow commented 9 years ago

I'm moving this to Alpha 05 since it is less important that the implementations we discussed earlier today.