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

Reply via email to