Hi Kishanthan,

Its a very valid point, and the frequency of updates can very much
different for each use case.

Adding more to Lakmal's reply, we have identified that periodic polling can
have a negative performance in some scenarios, specially on the git server
used. Therefore, the preferred way would be to use a event based artifact
update mechanism. We can use a git hook, and for authentication purpose, we
could use a custom token/key based mechanism.


On Sat, Jan 18, 2014 at 11:46 AM, Lakmal Warusawithana <[email protected]>wrote:

> Hi Krishanthan,
>
> We have to fix this. Here is the propose way for fixing this. We can
> generate a key(token) when user subscribe to cartridge. (this only valid
> for framework cartridge, which need to give artifact repository. e.g: git
> repo url ). This key return to user after subscribe. We should have REST
> endpoint to get artifact update notifications. User can create post commit
> hook from their git server (e.g github ..etc), and call above REST endpoint
> giving above mention key as token. This will verify with subscription token
> and pass ADC to take action for artifact update. It will create depsync
> message and send to instance notifier, which subscribe by Stratos agent,
> which reside in instance and update the artifacts.  There is no poling, it
> will trigger on demand.
>
>
> On Sat, Jan 18, 2014 at 9:37 AM, Kishanthan Thangarajah <
> [email protected]> wrote:
>
>> On Thu, Jan 16, 2014 at 9:30 PM, Isuru Haththotuwa <[email protected]>
>> wrote:
>> > Hi Devs,
>> >
>> > This is to discuss $subject.
>> >
>> > One approach is to use a git hook configured in the repository as an
>> > eventing mechanism [1]. Here, when the repository receives an git push,
>> an
>> > event will be fired and we can use this to get notifications that there
>> is
>> > an update. Currently, user interaction with Stratos is done through a
>> Rest
>> > API. We can use the same mechanism to receive events from the
>> repository.
>> > However, in this approach we would need to handle how to authenticate
>> the
>> > event which is received from the external repository.
>> >
>> > Another approach is to use a task in the cartridge agent itself to run
>> > periodically and check for updates in the git repository. This approach
>> is
>> > much simpler.
>> >
>> > WDYT?
>>
>> But the question would be how often the artifacts gets updated? If it
>> is frequent then periodic check seems to be good. If not, considering
>> performance, an event driven approach could be the option.
>>
>> How about having both the options and allow users to decide on which
>> they want to use?
>>
>> >
>> >
>> > [1]. http://developer.github.com/v3/repos/hooks/
>> >
>> > --
>> > Thanks and Regards,
>> >
>> > Isuru H.
>> > +94 716 358 048
>> >
>> >
>>
>
>
>
> --
> Lakmal Warusawithana
> Software Architect; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Thanks and Regards,

Isuru H.
+94 716 358 048* <http://wso2.com/>*

Reply via email to