Hi

With the new architecture, ADC looks trivial and straight forward. For any
of the instances joining to stratos can communicate via the messaging bus.
So that we can ensure the reliable messaging for the notification of
artifacts. But rather having the ADC in CC (cloud controller), i suggest to
have it in the SM (stratos manager) itself due to the following reasons:

* We are exposing an endpoint (API) to external users to send the git hook
notification. So this API would better to reside in SM rather than having
it in CC, since we don't allow the external user to call the CC directly.
SM can handle the authorization for the external git notification as well.
So that it will be a trusted communication afterwards.

* Since the subscription details are also available in SM (in the
database), instead of going to CC just to publish the notification message,
we can write a publisher in SM to publish the notification to the
cartridges by specifying the cluster information and the git URL. In ADC
case, we don't need any other topology information from CC.

The Topic structure will be:

DepthSync --> cluster-domain[1..n] --> gitURL

FYI:
The cartridge instance will be a subscriber to this topic. It can validate
the message using the cluster-domain and if the message is for that
instance, it will trigger the git pull with the gitURL to the specific
location (the given app path through the payload). We can include it in the
cartridge agent.

Thanks,
Reka


-- 
Reka Thirunavukkarasu
Software Engineer,
WSO2, Inc.:http://wso2.com,
Mobile: +94776442007

Reply via email to