Document how to group things for GCP and GitLab product factories and GKE runners
Following on conversations with @rk725, @ad2139, @rjg21 and @ek599, add some guidance on the whole "gcp-product-factory", "gitlab-product-factory" and GKE runners config.
At a high level:
-
HOWTO for "I want to start a new product and there should be one of those for everything" (!279 (merged)) -
HOWTO/checklist for "I want to migrate an existing product" (!279 (merged)) -
Explanations for: - How do I group things/what are "products" in each of those cases. (!279 (merged))
- How should groups/etc be created in GitLab (!279 (merged))
- Where things should live (!279 (merged))
-
Reference on what each sets up and how they depend on each other. (!279 (merged))
As a summary from discussions:
- Group Google "products" as makes sense for sharing GCP resources. (E.g. if one has multiple GitLab projects which all define a set of inter-connected components within a single GCP deployment, they live in the same Google product.)
- Group GitLab "products" as makes sense for development. (E.g. if one wants to see all issues from a set of GitLab projects as one, or manage IAM permissions as one, put them in the same group and, hence, same GitLab product.)
- Group GitLab GKE runner "products" as makes sense from a CI IAM perspective. (E.g. CI jobs in a set of projects all need to be able to access the same Google resource/secret, group them into the same runner "product".)
Edited by Dr Rich Wareham