You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(cloudformation): tag every stack resource with Name BuildBot #436
Resources created by the BuildBot CloudFormation stack show no name in the AWS console's Name column (for example the BuildBot-VpcLinkSecurityGroup-* security group shows -). Every taggable resource in the stack should carry a Name tag of BuildBot, so it's clear in the console that it belongs to BuildBot.
Scope (agreed in chat)
Add a Name tag with value BuildBot (from the ApplicationName parameter) to every resource in cloudformation.json that supports tags.
Leave the security group's GroupDescription unchanged, because changing it would replace the security group and the VPC Link.
Don't add Description properties to the API, stage or integration.
cloudformation.json: add a Name tag to every taggable resource.
CHANGELOG.md: one Changed entry, made with the dotnet changelog tool.
Approach
The tag value is { "Ref": "ApplicationName" }, which resolves to BuildBot. Each resource type uses the tag format it requires:
Resource
Type
Tags format
VpcLinkSecurityGroup
AWS::EC2::SecurityGroup
list of Key/Value
TaskDefinition
AWS::ECS::TaskDefinition
list
ECSService
AWS::ECS::Service
list
TargetGroup
AWS::ElasticLoadBalancingV2::TargetGroup
list
LogGroup, ApiAccessLogGroup
AWS::Logs::LogGroup
list
VpcLink
AWS::ApiGatewayV2::VpcLink
map
Api
AWS::ApiGatewayV2::Api
map
ApiStage
AWS::ApiGatewayV2::Stage
map
ApiDomainName
AWS::ApiGatewayV2::DomainName
map
These resources don't support tags and are left as they are: Integration, the six Routes, ApiMapping, ListenerRule and the Route 53 RecordSet.
The following stay the same:
the security group's GroupDescription, because changing it would replace the security group and the VPC Link;
every resource name;
every other property.
Test strategy
cfn-lint and jq both pass on the template.
A scripted comparison of the template against origin/main shows that the only difference is the added Tags properties.
There is no C# change. The existing build and tests are run to confirm they still pass.
After deploy: the security group and the VPC Link show BuildBot in the console's Name column, and the stack update finishes with no resource replaced. The task definition gets a new revision, as it does on every deploy.
Assumptions
Updating tags on each of these resources happens in place, with no interruption. If CloudFormation documents a replacement for any type other than the task definition, the code writer reports it instead of tagging that resource.
The value comes from ApplicationName, not a hard-coded BuildBot, so the template stays generic.
Open questions
Deploy-ECS probably needs two more permissions to apply the tags: ecs:TagResource for the service and task definition, and elasticloadbalancing:AddTags for the target group. Do you want to check them or add them before this deploys? The EC2, API Gateway and logs tagging permissions are already covered by the policy added for feat(cloudformation): serve BuildBot through API Gateway on the internal load balancer #433.
Activity
credfeto commentedon Oct 16, 2026
Implementation Plan
Files to change
cloudformation.json: add aNametag to every taggable resource.CHANGELOG.md: oneChangedentry, made with the dotnet changelog tool.Approach
The tag value is
{ "Ref": "ApplicationName" }, which resolves toBuildBot. Each resource type uses the tag format it requires:Key/ValueThese resources don't support tags and are left as they are: Integration, the six Routes, ApiMapping, ListenerRule and the Route 53 RecordSet.
The following stay the same:
GroupDescription, because changing it would replace the security group and the VPC Link;Test strategy
cfn-lintandjqboth pass on the template.origin/mainshows that the only difference is the addedTagsproperties.BuildBotin the console's Name column, and the stack update finishes with no resource replaced. The task definition gets a new revision, as it does on every deploy.Assumptions
ApplicationName, not a hard-codedBuildBot, so the template stays generic.Open questions
Deploy-ECSprobably needs two more permissions to apply the tags:ecs:TagResourcefor the service and task definition, andelasticloadbalancing:AddTagsfor the target group. Do you want to check them or add them before this deploys? The EC2, API Gateway and logs tagging permissions are already covered by the policy added for feat(cloudformation): serve BuildBot through API Gateway on the internal load balancer #433.credfeto commentedon Oct 16, 2026