Hi all,

We have been working on Stratos manager - Puppet master communication  REST
API. Please find the progress update of it as below.

*Security*
We have used  HTTP basic auth[1] security mode over SSL so far, and in the
 future we can  extend this in to a further advance mode like OAuth  [2 ].

*EndPoints*
So far we have following endpoints.

1  /login - this will handle auth logging.

2  /getModuleList - this endpoint will  return current  installed modules
in puppet master.

   sample response json ["java", "php"]

3  /installPuppetModule/url/{cartridge URL}/name/{{Module name}} - we have
to pass cartridge url and module name,then this endpoint will take care of
module installation on puppet master.

4  /getModuleInstallationProgress/name/{{Module name}} - using this
endpoint we can see the actual progress of a installation process.

    sample response json
    [
         "Downloading: AAM1sXjadDd1s42Ez83xcC8mQSd9U7IFrfdIRl-JqWp07g?dl=1
Bytes: 1255
         ",
         "1255  [100.00%]
         ",
         "File Download complete
         "
    ]

5  /getModuleStatus/name/{{module name}} - this endpoint will return
"install" , "inprogress" ,"error" responses to the client according to
client request. Those status will be saved in 3 XML  files  at the moment.

6  /getAllModulesStatus-  This will return all modules with their
corresponding status value.

    sample response json {"inprogress": ["ruby"], "error": ["wordpress"],
"installed": ["java", "php"]}

We will provide comprehensive  documentation on this soon as we are working
on it.

Git hub - https://github.com/stratos-cartridge-store/python_restapi

[1] http://en.wikipedia.org/wiki/Basic_access_authentication
[2] http://en.wikipedia.org/wiki/OAuth

Thanks.


On Mon, Jun 2, 2014 at 4:15 AM, Lakmal Warusawithana <lak...@wso2.com>
wrote:

> AFAIU, puppet api's only support for install modules from puppet lab hence
> we can't used it. If we can point puppet module from our store and install
> from puppet api's we should used it from our generic client.
>
>
> On Mon, Jun 2, 2014 at 7:34 AM, Nirmal Fernando <nirmal070...@gmail.com>
> wrote:
>
>> Well, have a look at this;
>> http://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html
>>
>> Isn't this the same you are referring to?
>>
>>
>> On Mon, Jun 2, 2014 at 7:28 AM, Dakshika Jayathilaka <daksh...@wso2.com>
>> wrote:
>>
>>> Yes we already checked that, currently you can installed modules which
>>> reside on puppetlabs repo. but PMT[1] doesn't contain any exposed API for
>>> that.
>>>
>>>
>>> [1]
>>> http://puppetlabs.com/blog/module-of-the-week-puppet-module-tool-part-1
>>>
>>> *Dakshika Jayathilaka*
>>> Software Engineer
>>> WSO2, Inc.
>>> lean.enterprise.middleware
>>> 0771100911
>>>
>>>
>>> On Mon, Jun 2, 2014 at 1:10 AM, Nirmal Fernando <nirmal070...@gmail.com>
>>> wrote:
>>>
>>>> Puppet Lab's modules can be installed using puppet CLI. There should be
>>>> a REST API for that, I believe.
>>>>
>>>>
>>>> On Sun, Jun 1, 2014 at 6:36 PM, Dakshika Jayathilaka <daksh...@wso2.com
>>>> > wrote:
>>>>
>>>>> Hi Pradeep,
>>>>>
>>>>> AFAIK puppetlabs REST API currently doesn't support for module
>>>>> deployment. Unfortunately its limited.  Also we are trying to implement
>>>>> generic agent which can be further improve to support for Docker and Chef
>>>>> as wel.
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> *Dakshika Jayathilaka*
>>>>>  Software Engineer
>>>>> WSO2, Inc.
>>>>> lean.enterprise.middleware
>>>>> 0771100911
>>>>>
>>>>>
>>>>> On Sun, Jun 1, 2014 at 6:02 PM, Pradeep Fernando <pradee...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Roshan,
>>>>>>
>>>>>> There seems to be a REST API exposed by puppet master.
>>>>>>
>>>>>> http://docs.puppetlabs.com/guides/rest_api.html
>>>>>>
>>>>>> Can't we use that ? Is it a limited API ?
>>>>>>
>>>>>> thanks,
>>>>>> --Pradeep
>>>>>>
>>>>>>
>>>>>> On Sun, Jun 1, 2014 at 3:07 PM, Roshan Wijesena <ros...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> We are going to do  REST communication between Puppet Master's node
>>>>>>> and Stratos  Manager's node as described below.
>>>>>>>
>>>>>>> We will use webpy[1] simple python opensource framework in order to
>>>>>>> build our REST API to communicate with Puppet master's node. In order to
>>>>>>> achieve this we may follow below steps.
>>>>>>>
>>>>>>> 1. Install Webpy framework + our python REST API code  on Puppet
>>>>>>> Master's Computer. Initially we  have decided  to stay on Webpy's built 
>>>>>>> in
>>>>>>> web server,but when we are getting more hits on our store we might need 
>>>>>>> to
>>>>>>> install webpy on Light-httpd server or HTTPD server in order to handle 
>>>>>>> more
>>>>>>> requests as they recommend it.
>>>>>>>
>>>>>>> 2. Indeed this service must be very secured as we are executing some
>>>>>>> root command using our API . For an example we need to extract puppet
>>>>>>> modules to puppet master's /etc/puppet/ folder!!. So our security plan 
>>>>>>> is
>>>>>>> to use SSL with built in cherrypy server [2] and secure our API using a
>>>>>>> security token.
>>>>>>>
>>>>>>> 3. At last but not least we may create automation scripts in order
>>>>>>> to automate above steps.
>>>>>>>
>>>>>>> Here below I ll list some sample REST calls that we are going to
>>>>>>> shoot!
>>>>>>>
>>>>>>> List Current available puppet Modules - GET  
>>>>>>> https://{{Server}}/listmodules.
>>>>>>> (out put should be a json)
>>>>>>>
>>>>>>> Install a module - GET https://{{Server}}/install/{{Module-name}}.
>>>>>>>
>>>>>>> So this is our current plan for the integration and this is  open to
>>>>>>> discuss !!
>>>>>>>
>>>>>>> [1] http://webpy.org/
>>>>>>>
>>>>>>> [2] http://webpy.org/cookbook/ssl
>>>>>>>
>>>>>>> Thanks very much.
>>>>>>>
>>>>>>> --
>>>>>>> Best Regards,
>>>>>>>  Senior Software Engineer-WSO2 Inc.
>>>>>>> Roshan Wijesena
>>>>>>> Mobile: *+94752126789*
>>>>>>> Email: ros...@wso2.com
>>>>>>> *WSO2, Inc. :** wso2.com <http://wso2.com/>*
>>>>>>> lean.enterprise.middleware.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Pradeep Fernando.
>>>>>> http://pradeepfernando.blogspot.com/
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Best Regards,
>>>> Nirmal
>>>>
>>>> Nirmal Fernando.
>>>> PPMC Member & Committer of Apache Stratos,
>>>> Senior Software Engineer, WSO2 Inc.
>>>>
>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>
>>>
>>>
>>
>>
>> --
>> Best Regards,
>> Nirmal
>>
>> Nirmal Fernando.
>> PPMC Member & Committer of Apache Stratos,
>> Senior Software Engineer, WSO2 Inc.
>>
>> Blog: http://nirmalfdo.blogspot.com/
>>
>
>
>
> --
> Lakmal Warusawithana
> Vice President, Apache Stratos
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Best Regards,
 Senior Software Engineer-WSO2 Inc.
Roshan Wijesena
Mobile: *+94752126789*
Email: ros...@wso2.com
*WSO2, Inc. :** wso2.com <http://wso2.com/>*
lean.enterprise.middleware.

Reply via email to