wtsi-hgi / hgi-systems

Orchestration and configuration management of hgi systems (using terraform & ansible)
GNU General Public License v3.0
3 stars 3 forks source link

Restructuring of Terraform modules #53

Closed colin-nolan closed 6 years ago

colin-nolan commented 6 years ago

The directory structure of the Terraform modules is current rather unwieldy due to the organic way in which it has evolved; I'm finding it painful to identify the most up-to-date modules.

I would like to propose that we structure Terraform modules as such:

${service}/[${subService}/]${service}-[${subService}-]v${version}/

where [] denotes an optional part of the path as not all services will have sub-services.

e.g.

SSH Gateway:
ssh-gateway/ssh-gateway-v1/
ssh-gateway/ssh-gateway-v2/

Hail:
hail/compute/hail-compute-v1/
hail/compute/hail-compute-v2/
hail/master/hail-master-v1/

Arvados:
arvados/keep/arvados-keep-v1/
arvados/shell/arvados-shell-v1/
arvados/shell/arvados-shell-v2/
jrandall commented 6 years ago

If we must have annoying hierarchy all over the place, why not drop the repetition and just have arvados/keep/v1 ?

What are your expectations about things like clusters that actually assemble a lot of different components together into a package?

The longer term plan for this was supposed to be to actually refer to modules in an actual versioned way - i.e. in another repo that is tagged with a version.

colin-nolan commented 6 years ago

Resolved to: ${service}/v${version}/[${subService}/]