Team Data Manager¶
[Team | Cloud Team] [Tech Lead | rh841] [Service Owner | amc203] [Service Manager | ad2139] [Product Manager | TBC]
This page gives an overview of the Team Data Manager service, describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.
Service Description¶
The Team Data Manager service automates user and group management within the GCP UIS DevOps environment based on team configurations defined in the team-data.json file, which is stored in the uis/devops/infra/terraform/team-data repository.
Triggered via Pub/Sub events upon changes to this file in GitLab, the service dynamically manages corresponding Google Workspace groups within the dedicated DevOps domain (gcloudadmin.g.apps.cam.ac.uk). Specifically, it creates, updates, or deletes groups aligned with defined teams and their roles such as admin, deploy, and view ensuring memberships accurately reflect the current team / product composition.
Additionally, Team Data Manager handles lifecycle management of user accounts within the gcloudadmin.g.apps.cam.ac.uk domain, independently of the primary accounts. It automatically provisions new gcloudadmin accounts, suspends accounts when users no longer hold specified team roles, and performs account deletions as required.
Service Status¶
The Team Data Manager service is currently live.
Contact¶
Technical queries and support should be directed to cloud@uis.cam.ac.uk and will be picked up by a member of the team working on the service. To ensure that you receive a response, always direct requests to cloud@uis.cam.ac.uk rather than reaching out to team members directly.
Issues discovered in the functionality of the service or new feature requests should be opened as GitLab issues in the application repository.
Issues discovered with deployment, e.g. mis-configured permissions, scheduling issues, etc, should be opened as GitLab issues in the deployment project.
Environments¶
The Team Data Manager is currently deployed to the following environments:
Name | Trigger | Topic | Cloud Run URL |
---|---|---|---|
Production | GitLab team_data.json change | team-data-78839498 | https://team-data-manager-660808166190.europe-west2.run.app |
Development | GitLab team_data_development.json change | team-data-91677033 | https://team-data-manager-1064852164861.europe-west2.run.app |
Notification channel(s) for environments¶
Environment | Display name | |
---|---|---|
Production | Team Data - DevOps Team email Channel | cloud@uis.cam.ac.uk |
Source code¶
The source code for the Team Data Manager service is spread over the following repositories:
Repository | Description |
---|---|
Services | The source code for the main services |
Infrastructure Deployment | The Terraform infrastructure code for deploying the services to GCP |
Technologies used¶
The following gives an overview of the technologies the Team Data Manager service is built on.
Category | Language | Framework(s) |
---|---|---|
Server | Python | ucam-faas |
GCP deployment | Terraform | Google Cloud Platform |
Operational documentation¶
The following gives an overview of how the Team Data Manager service is deployed and maintained.
How and where the Team Data Manager service is deployed¶
Deployment is via our standard terraform deployment CI pipeline.
Deploying a new release¶
Making a new release of the application is done via release automation. When merged, a new release tag is pushed to the repository along with a Docker image being pushed to Google's Artefact registry.
Deployment is performed by:
- Updating the deployment project's repository with any changes, including bumping the deployed web application release.
- Using the "play" buttons in the CI pipeline to deploy to production when happy.
Monitoring¶
Monitoring is configured as per our standard Google Cloud Run application module.
Debugging¶
The README.md file in the source code repositories provide information about running / debugging local instances of the applications.
For deployed instances, comprehensive logging is provided via Google Cloud Logging. The logs can be viewed in the Google Cloud Console.
Service Management¶
The Team responsible for this service is Cloud Team.
The Tech Lead for this service is rh841.
The Service Owner for this service is amc203.
The Service Manager for this service is ad2139.
The Product Manager for this service is TBC.
The following engineers have operational experience with this service and are able to respond to support requests or incidents: