[chef-dev] Re: Open source Chef Server API: big changes in internal code is coming ?


Chronological Thread 
  • From: Christophe L < >
  • To: Noah Kantrowitz < >
  • Cc:
  • Subject: [chef-dev] Re: Open source Chef Server API: big changes in internal code is coming ?
  • Date: Mon, 14 May 2012 09:15:01 +0400

Hello,

Thanks for your answer.

So as far as I understand, if we modify the source code of the REST API or implementing a Rack middleware, we will have to rewrite everything in some times, but if we work at the HTTP/REST/JSON level, the new implementation should stay compatible with our work.
is my understanding correct please ?

in how much time approximatively the shift to the new backend implementation is planned to be released please ?

Our goal is to "place" some custom code between the client and the server. We were going to work at two level:
- modifying the source code of the REST API
- intercepting the HTTP request to the REST API in a Rack Middleware

What would be the best way to achieve that in a way that our code won't need to be changed when the new backend implementation will be release please ?

Thanks in advance for your feedback.

Best regards,
Christophe

On Sat, May 12, 2012 at 12:41 AM, Noah Kantrowitz < " target="_blank"> > wrote:

On May 11, 2012, at 6:42 AM, < "> > wrote:

> Hello,
>
> We were planning to :
> - modify the base source code of the Open Source Chef REST API
> - use the internal source code of the Open Source Chef REST API in a Rack
> middleware
>
> But then, we have read that Opscode plan to do big changes in the code bases of
> Chef Server (see below the references), for exemple, switching from Ruby to
> Erlang.
>
> So we are afraid that we will have to redo our work based on the actual chef
> source code in some months.
>
> Could you please give more information about the plan changes in code base ?
> for example:
> will the "chef-server-api\app\controllers" source code be totaly changed ?
> if we write ruby code based on open source code of Chef, until when will it be
> usable ?
>
> We are now thinking that we should only program based on REST API through HTTP
> ( initially we wanted to bypass the HTTP and authentication layer).

The backend implementation will be entirely changed (somewhat unavoidable given that it is moving to a new language), but at least at first there will be no backwards incompatible changes to the API protocol/format itself. If you want something that is going to work more permanently, them yes it would be best to grab one of the API client libraries (Spice, PyChef, jclouds-chef, etc) and interact with the server through that.

--Noah





Archive powered by MHonArc 2.6.16.

§