github.com/GoogleCloudPlatform/testgrid@v0.0.174/cluster/README.md (about) 1 # Add a new component to the release 2 3 1. Create the component, such that no other components depend on it. (If it fails, you can debug without worrying about breaking production.) 4 1. **PR**: Add the component to the BUILD file, and send a PR for this. (Example: https://github.com/GoogleCloudPlatform/testgrid/pull/822). 5 1. Wait until Container Registry has a date-versioned image for the component. 6 - e.g. https://github.com/GoogleCloudPlatform/testgrid/pull/822 -> tabulator image with version`v20220210-v0.0.121-16-g5bceb0c` 7 1. **PR**: Create a configuration `<component>.yaml` file under `cluster/canary`, referencing the image version all components are using in production (so the autobumper can catch it). 8 1. Bind the service account(s) for the component in the `testgrid-canary` namespace: 9 10 ``` 11 NAMESPACE=testgrid-canary 12 PROJECT=<project> 13 COMPONENT=<component name> 14 SERVICE_ACCOUNT=<service account to bind to> 15 gcloud iam service-accounts add-iam-policy-binding --project=$PROJECT --role=roles/iam.workloadIdentityUser --member=serviceAccount:k8s-testgrid.svc.id.goog[$NAMESPACE/$COMPONENT] $SERVICE_ACCOUNT 16 ``` 17 1. **PR**: Create `<component>.yaml` under `cluster/prod`. 18 1. Bind the service account(s) for the component in the `testgrid` namespace: 19 20 ``` 21 NAMESPACE=testgrid 22 PROJECT=<project> 23 COMPONENT=<component name> 24 SERVICE_ACCOUNT=<service account to bind to> 25 gcloud iam service-accounts add-iam-policy-binding --project=$PROJECT --role=roles/iam.workloadIdentityUser --member=serviceAccount:k8s-testgrid.svc.id.goog[$NAMESPACE/$COMPONENT] $SERVICE_ACCOUNT 26 ```