Thanks Nirmal for your advice, we will do the need-full and update the
progress here!

Thanks.


On Wed, Jun 11, 2014 at 2:06 PM, Nirmal Fernando <nirmal070...@gmail.com>
wrote:

> Great progress guys!
>
>
> On Wed, Jun 11, 2014 at 3:57 PM, Roshan Wijesena <ros...@wso2.com> wrote:
>
>> 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}}
>>
>
> Are these the REST resource paths? If so, it is not correct to have these
> verbs (getModuleInstallationProgress) in it. We should design the paths
> properly. For an example, IMO, this should be something like; POST
> /module/status/{name}
>
> Also please send the permission model. I guess, you need something like
> table here, with all the operations :-)
>
>
>
>>  - 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.
>>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.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