Tagging Standards
This page documents our standard AWS resource tags. Each section below defines one tag: what it's for, when it's required, and the format its values should follow. Additional sections will be added as we define more tagging standards.
How Tags Are Applied
Tags are applied to resources in a few ways:
default_tags— defined per environment interraform.tfvarsand applied by the AWS provider to all resources in that environment (for example, theOwnertag in the dev environment).- Per-resource
tagsmaps — most resource definitions interraform.tfvarsaccept atagsmap. For EC2 instances, theinstancemodule merges these with the automatically generatedNametag.
Standard tags defined on this page should be set in the per-resource tags map unless the standard says otherwise.
application
The application tag identifies the application or workload a resource supports. Its primary purpose is grouping hosts by application in Ansible: the ansible-epic dynamic inventory (see inventory.azure.constructed.yml) builds an app_<application> group from the tag (e.g. app_kuiper, app_systempulse), so tagging an instance is all it takes to place it in the right Ansible group and pick up that application's group_vars. Hosts missing the tag fall into app_unclassified.
The tag also enables grouping, filtering, and reporting by application elsewhere (for example, in Cost Explorer and resource groups).
Format
- Key:
application(all lowercase) - Value: lowercase letters and digits only — no spaces, hyphens, or underscores. Multi-word application names are run together (
System Pulse→systempulse), and abbreviated names use the abbreviation (Hyperspace Web→hsw). - Use the same value for every resource belonging to the same application so grouping and filtering work consistently.
- The value becomes the Ansible group name suffix (
app_<value>), so it must match the application name used in the ansible-epic repo'sgroup_vars. - Always use the value from the table below. If the application isn't listed yet, add it to the table in the same change that introduces the tag.
Application Values
| Application | Tag Value |
|---|---|
| Authentication Hyperspace Web | ahsw |
| Cogito Clarity | cog |
| Hyperspace Web | hsw |
| Interconnect Background | icbg |
| Interconnect Foreground | icfg |
| IRIS/ODB | odb |
| Kuiper | kuiper |
| Multipurpose SQL Server | msql |
| NGINX | nginx |
| SMTP Forwarder | smtp |
| System Pulse | systempulse |
Where to Set It
Add the tag to the tags map of the resource definition in the environment's terraform.tfvars: