On Sat, Jan 18, 2014 at 11:12 PM, Isuru Haththotuwa <[email protected]> wrote: > 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.
Yes, sounds like a good approach. > > > 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 > >
