OpenRuko TODOs

150 views
Skip to first unread message

Romain P

unread,
Nov 21, 2012, 5:42:43 AM11/21/12
to open...@googlegroups.com
Hi everybody, 

I just created this mailing list to discuss the OpenRuko TODOs.

I think, we could use this mailing list to discuss about OpenRuko in general.
But If we need to discuss about a bug or a new feature of an existing OpenRuko project, we should use GitHub issues for that. It looks more appropriate.

In the previous weeks, I did several small patches to make OpenRuko works on my machine.
But now that "works on my machine" excuse is a relic of the past it could be great to have integration tests to make sure we don't break anything.
Integration tests could run in Vagrant so everybody can run the tests easily in a fresh VM.
If we provide such a VM, we should find an alternative to S3, https://github.com/jubos/fake-s3 (I don't want my S3_KEY and S3_SECRET to leak on internet) and make the fake S3 accessible for dynos.

Here is a list of commands that are working on my machine: 
 * `openruko create` --> need a sed, we should find an alternative to this.
 * `git push heroku master`
 * `git ps`
 * `git ps:scale web=0`
 * `git ps:scale web=1`

There is some OpenRuko features that still doesn't want to work at home, but looks to be implemented :
 * `openruko run bash` is not working. It looks as if the provision_job was not taken by a dynohost.
 * `openruko logs` show me nothing. A pull request is in progress

I didn't test other commands, nor non web process.

There is also some big parts not yet implemented:

 * http routing mesh.
Actually the dyno web port is not stored in the database and generated randomly (https://github.com/openruko/dynohost/blob/master/dynohost/dynocontroller.js#L196).
We should store this information somewhere to plug a reverse-proxy.
There is an existing reverse-proxy that does a part the job, but it adds a dependency on Redis. Is it acceptable ? https://github.com/dotcloud/hipache

The HTTP Routing mesh also wake up idle dyno : https://devcenter.heroku.com/articles/dynos#the-dyno-manifold

 * full logplex api
Heroku Logplex is not really OpenSource, but things are changing and it may be the case some day : https://github.com/heroku/logplex/commit/7b45125fb8c5936ff9c8c94f65ea1a2980fb4390#commitcomment-2177403
If we are able to use Heroku Logplex, there is not need of OpenRuko Logplex, but we don't know when Heroku Logplex will be ready.
HerokuLogPlex add two dependency : Erlang and Redis.
To make the transition possible, we need to clone the Heoku Logplex API.

 * better log report (via logplex ?)
When deploying an applications, logs are written in 4 differents places (console.log, dynohost/run-xxxx, rukorun/out.err, logplex). It's quite hard to debug.
We should unify this and Logplex looks to be a good candidate.

* better LXC isolation
mounts are not read-only but should be.
Unfortunatley, dynos are logging into  dynohost/run-xxxx and rukorun/out.err

 * erosion resistance.
Keep dynos running even after dyno crash, dynohost crash, ...


By now, I will start reporting TODOs in the Github issues (TODOs mentioned in this mail, and TODOs mentioned in READMEs).


Cheers
Romain

PS : I recommend to read the two following links, it's very interesting :

Romain

unread,
Nov 21, 2012, 8:46:15 AM11/21/12
to open...@googlegroups.com
I report each TODO in a Github issue.

Feel free to comment them.

Cheers
Romain


2012/11/21 Romain P <fili...@gmail.com>

--
 
 

Reply all
Reply to author
Forward
0 new messages