pirog / kalabox-ui

Kalabox GUI.
http://www.kalabox.io
MIT License
5 stars 3 forks source link

Begin to plan (and build) for the things we will need to implement in future sprints. #25

Closed pirog closed 10 years ago

pirog commented 10 years ago

We want to turn some of our func from V1 into open, small, componentized node modules. Here is a list of some candidates.

1. Installer script wrapper

We will want a node module to execute arbitrary scripts for OSX/Win/Debian along the lines of https://github.com/TooTallNate/node-applescript so that we can use our current installer scripts via node. I think this should simplify our installer and make it more stable.

  1. /etc/hosts handling: https://github.com/kalabox/kalabox/issues/20

We may want to do something a little better than hostile. See for the discussion https://github.com/kalabox/kalabox/issues/20

3. Check to make sure we have internet connects and appropriate ports are open.

We need a way to wrap our app in this so the app can get notified when the internet or required ports are blocked. Needs to work cross-platform.

  1. We will need a client wrapper for Boot2Docker: https://github.com/kalabox/kalabox/issues/59

Likely more to come as we move forward.

@mikemilano, any other ideas here?

pirog commented 10 years ago

very prelim still but wanted to put it on your radar @NHQ

mikemilano commented 10 years ago

@pirog

The modules will probably look more like angularjs modules vs traditional node modules. We can expose existing modules through angular modules, but any new custom stuff would probably make sense to be developed as an angular module.

pirog commented 10 years ago

@mikemilano that makes sense to me.

one of the goals of this meta issue is to try and determine which of these modules (if any) can be made into non-kalabox specific node/angular modules that @NHQ and his team can help us develop and maintain otuside the scope of KB2. I think we can probably find a lot of these little modules as we drill down a bit further into each one.

we also will def want to check what already exists too. for example i think there is a decent docker remote api client with https://github.com/apocas/dockerode that we may want to wrap or contrib too.

a good first step might be to see what is out there that may 1.) just solve our need 2.) give us a starting point

NHQ commented 10 years ago

Are you going from the ground-up, refactoring and building a thing that probably won't operate for a while? Or, are you trying to keep the whole app working through phases of completion (eg. adding docker deployment)?

pirog commented 10 years ago

We def want to try to build something usable first (even if it requires some manual set up and config by the user) and then continue to add complexity (features) to the project.

On Mon, Aug 11, 2014 at 6:44 PM, JOHNNY notifications@github.com wrote:

Are you going from the ground-up, refactoring and building a thing that probably won't operate for a while? Or, are you trying to keep the whole app working through phases of completion (eg. adding docker deployment)?

— Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-51864049.

Cheers,

Mike Pirog Kalamuna www.kalamuna.com

NHQ commented 10 years ago

i know substack has some docker thing on his short list...

NHQ commented 10 years ago

^ a control for running CI stuff

pirog commented 10 years ago

integration for existing CI services or something else? always interested in what my fav unix philosopher is doing :)

NHQ commented 10 years ago

Setting up and restarting dockers for use with existing CI, namely testling.com services.

On Wed, Aug 13, 2014 at 11:51 AM, Mike Pirog notifications@github.com wrote:

integration for existing CI services or something else? always interested in what my fav unix philosopher is doing :)

— Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-52093104.

pirog commented 10 years ago

Awesome. I'll ping you and SS with some details soon to see if there is some overlap!

On Wed, Aug 13, 2014 at 12:58 PM, JOHNNY notifications@github.com wrote:

Setting up and restarting dockers for use with existing CI, namely testling.com services.

On Wed, Aug 13, 2014 at 11:51 AM, Mike Pirog notifications@github.com wrote:

integration for existing CI services or something else? always interested in what my fav unix philosopher is doing :)

— Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-52093104.

— Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-52102069.

Cheers,

Mike Pirog Kalamuna www.kalamuna.com

NHQ commented 10 years ago

substack says sinker works, but is not "hackable", and support for non linux systems is poor (kalabox runs in VM...?). However, it is only usable for single chunk replication, not persistent connections and continuous syncing. For that he needs to build a binary differ module. I got him and dominic discussing how best to do that. Which is good, cuz it seemed impossible to me!

Stack is gonna make a low level module list for this sinker/docker stuff, in the style he does so well.

On Fri, Aug 15, 2014 at 12:32 PM, Mike Pirog notifications@github.com wrote:

Awesome. I'll ping you and SS with some details soon to see if there is some overlap!

On Wed, Aug 13, 2014 at 12:58 PM, JOHNNY notifications@github.com wrote:

Setting up and restarting dockers for use with existing CI, namely testling.com services.

On Wed, Aug 13, 2014 at 11:51 AM, Mike Pirog notifications@github.com wrote:

integration for existing CI services or something else? always interested in what my fav unix philosopher is doing :)

— Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-52093104.

— Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-52102069.

Cheers,

Mike Pirog Kalamuna www.kalamuna.com

Reply to this email directly or view it on GitHub https://github.com/kalabox/kalabox/issues/25#issuecomment-52348303.

pirog commented 10 years ago

The docker containers will run in a linux VM but sinker needs to be installed on both host/client i think? So it will be a Linux/Linux, Win/Linux, OSX/Linux model which might not work in the latter two variants.

pirog commented 10 years ago

@NHQ im going to be more detailed about this in an email to you guys but i wanted to list all the things we should start thinking about now/building now for future dev iterations.

  1. a boot2docker node client to handle interaction with the boot2docker VM https://github.com/kalabox/kalabox/issues/59
  2. possibly a better docker client than dockerode if it doesnt seem to work well. https://github.com/kalabox/kalabox/issues/61
  3. A node implementation of most of the install scripts here https://github.com/kalabox/kalastack-docker modified as per https://github.com/kalabox/kalabox/issues/51
  4. Some sort of auto-rsync/unison client that can keep the users application code inside a docker data volume bi-directionally synced with the users host machine (mac/linux/windows).
  5. Related to 2, a mechanism for deploying an application and possibly its containers elsewhere. https://github.com/kalabox/kalabox/issues/61

@mikemilano @fluxsauce these are things we also should be thinking and planning for

  1. What does a "docker json plugin" look like? (MM and i did some work on this already) https://github.com/kalabox/kalabox/issues/61
  2. What does a "new site json plugin" look like? https://github.com/kalabox/kalabox/issues/62
  3. What does a "switchboard json plugin look like"?
  4. What node scaffolding do we need to translate this meta data into actionable UX things. 1 -> into building out a docker architecture for a new or pulled site, 2. -> for allowing the user to spin up a new kind of site like Panopoly or Wordpress, 3. So the UI knows things like what the provider auth form looks like, how to route user choices about pulling, pushing, etc to the correct container etc.

IF ANYONE IS GOING TO START WORK ON THESE THINGS PLEASE OPEN UP A NEW ISSUE FOR EACH!!!

pirog commented 10 years ago

I think i've split all these issues out into seperate ones so closing this.