Skip to content

How to check that a product is configured correctly

This how-to guide will take you through the process of checking that all parts of a product have been created and are correctly configured for our most up-to-date processes.

There is a dedicated how-to covering how to start a new product from scratch.

The word "product" can mean many things in the DevOps division. In particular what a "product" means from a GitLab perspective may be different than from a "Google Cloud" perspective. We have a dedicated explainer covering products and service infrastructure.

The following sections cover the checks you should make.

Teams

Check that:

  • There is an appropriate delivery team present in team_data.json.
  • The user accounts in the team are of the form {crsid}@gcloudadmin.g.apps.cam.ac.uk.

For further steps, you need to know the name of the Google Groups which have been created representing the team members and roles.

Google Cloud resources

Check that:

For further steps, you need know the "meta project" id and "configuration bucket" id for the product. Ask teamCloud if you do not know these.

GitLab projects

Check that:

  • There is configuration in gitlab-project-factory for the product.
    • If there is no configuration but there are already GitLab projects, see the migration guide. teamCloud can help with tricky migrations.
  • The configuration specifies the meta project in the product_meta_project variable.
  • The configuration uses parent_group_id rather than parent_full_path.
  • Projects which build container images have container_expiration_policy set. See the configuration for the Regent House ballots product for a real-life example of container expiration policies.

For further steps, you need the numeric id of the GitLab product's group. This can be found on the group's page in GitLab.

GitLab CI runners

Check that:

  • There is configuration in gitlab-runner-infrastructure for your product.
  • The configuration specifies the Google Cloud configuration bucket.
  • The configuration specifies the numeric id of the GitLab product's group.

Summary

In this how-to you learned what configuration must be present for a product in order to use our current development automation processes.