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
