Hi Anuruddha, On Fri, Aug 5, 2016 at 7:30 PM, Anuruddha Liyanarachchi <[email protected] > wrote: > > > - Submodule will always be cloned into an uneditable directory : > By default, this directory name will be same as the repo name of submodule > [3]. This can be changed by specifying a relative path, but the submodule > will always be cloned into a separate directory. > > This directory cannot be modified and partial cloning is also not possible > [4]. >
Yes, that's by design. > > In order for puppet apply to work we need to add wso2esb modules folder > inside <puppet_common_artifacts>/moduels folder. Similarly, hieradata > should be merged. > Hieradata can be kept inside the puppet-<product> repository for the time being. Will move them to the paas-artifacts repositories later on once we decouple hieradata from the puppet module. > > AFAIU it is not straight forward to create correct puppet structure due to > these limitations in sub-modules. > Appreciate your thoughts on this. > Please see [5] to see how I created puppet-base and puppet-esb repositories without any problem: [5] https://github.com/imesh/puppet-base [6] https://github.com/imesh/puppet-esb Thanks > > On Fri, Aug 5, 2016 at 1:25 PM, Akila Ravihansa Perera <[email protected] > > wrote: > >> Hi, >> >> We have come across several issues in current repository structure and >> release model of Puppet, Dockerfiles, Mesos artifacts, Kubernetes artifacts >> etc. (deployment artifacts). To name a few; >> - Publishing Puppet modules to PuppetForge is problematic >> - Releasing planning is bit complicated since all the Puppet modules >> should be released >> - Not possible to release a specific Puppet module for a product since >> all the modules resides in a single repo >> >> To overcome these issues we can split each Puppet module, Dockerfile, >> Mesos artifacts, K8S artifacts into its own repo. For eg: >> >> >> - wso2/puppet-<product> >> - wso2/docker-<product> >> - wso2/aws-artifacts-<product> >> - wso2/mesos-artifacts-<product> >> - wso2/kubernetes-artifacts-<product> >> >> >> Now there are common Puppet resources being used by product modules, and >> these can be hosted in wso2/puppet-common repo. Similarly we can host >> common artifacts in wso2/mesos-artifacts-common, >> wso2/kubernetes-artifacts-common >> >> Also we can host Hieradata in the same repo as platform specific repo. >> For eg: >> >> >> - mesos-artifacts-<product>/hieradata/ >> - kubernetes-artifacts-<product>/hieradata/ >> >> >> Common Hiera data for each platform can be hosted in wso2/ >> <platform>-artifacts-common repo. We can ship default Hiera data with a >> Vagrantfile in the wso2-<product> repo. >> >> Using this approach it would be much easier to do frequent releases of >> Puppet modules, especially when a new product is released. By having common >> repos (puppet-common, docker-common etc.) as Git sub-modules of product >> specific repos (puppet-wso2esb, docker-wso2esb), transition will be >> seamless for the users and no additional maintenance cost to developers. >> >> Another concern is release versioning for Puppet modules. As per some >> offline discussions, having product version number + puppet version suffix >> seems to be appropriate since it would be easier for users find the >> compatible and latest Puppet module for a specific product. >> >> *Another option* is to make Puppet module for specific product >> compatible across all the versions released under the same platform >> version. For eg; >> wso2esb-4.9.0 and wso2esb-5.0.0 which is released under platform version >> 4.4.0 should be supported by puppet-wso2esb 4.4.0 family. Older versions of >> puppet-wso2esb may not support products released after, but it should be >> backward compatible with all the products released under the same platform >> version. >> >> Please note that repo names are not finalized yet and are still open to >> suggestions. Please do share your thoughts. >> >> Thanks. >> >> -- >> Akila Ravihansa Perera >> WSO2 Inc.; http://wso2.com/ >> >> Blog: http://ravihansa3000.blogspot.com >> > > > > -- > *Thanks and Regards,* > Anuruddha Lanka Liyanarachchi > Software Engineer - WSO2 > Mobile : +94 (0) 712762611 > Tel : +94 112 145 345 > a <[email protected]>[email protected] > -- *Imesh Gunaratne* Software Architect WSO2 Inc: http://wso2.com T: +94 11 214 5345 M: +94 77 374 2057 W: https://medium.com/@imesh TW: @imesh lean. enterprise. middleware
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
