Hi,

As we are introducing multiple deployment patterns in PaaS artifacts based
on the discussion in [1], we need to introduce patterns for puppet modules
as well. This is mainly because we use puppet provisioning to build docker
images.

Patterns will be able to use with hieradata and the following is the hiera
hierarchy.

---
:hierarchy:
    - "wso2/%{::product_name}/%{::pattern}/%{::product_profile}"
    - "wso2/%{::product_name}/%{::pattern}/common"
    - "wso2/common"


Initially, we will ship two basic patterns which are single JVM and fully
distributed deployment. Product teams will be able to add more patterns by
adding relevant hieradata in later stages. You can refer sample patterns
done for WSO2 Application Server [2].

Hierarchy is created based on the following facts.

1. Pattern_01 will be always the vanilla pack.
2. There will be common.yaml file in every pattern except pattern_01 to
share common data among the pattern. For an example, common.yaml in
pattern_02 will have the values common to worker and manager profiles [3].
3. Hieradata which is common to all the products will be kept in
puppet-base repo [4] and product specific hieradata will be kept in
relevant product repo. To run any product with hieradata, you need to merge
hieradata in puppet-base and product repo.

Please share your thoughts.

[1] -
http://wso2-oxygen-tank.10903.n7.nabble.com/Managing-Multiple-Deployment-Patterns-in-PaaS-Artifacts-td142359.html
[2] -
https://github.com/wso2/puppet-as/tree/master/hieradata/dev/wso2/wso2as
[3] -
https://github.com/wso2/puppet-as/tree/master/hieradata/dev/wso2/wso2as/pattern_02
[4] -
https://github.com/wso2/puppet-base/blob/master/hieradata/dev/wso2/common.yaml

Thank you!
-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774078049 <%2B94772207163>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to