Standardized resource tagging strategy for GistPin infrastructure.
| Category | Prefix | Purpose |
|---|---|---|
| Automation | gistpin:managed-by, gistpin:provisioner |
Provisioning metadata |
| Cost Allocation | gistpin:cost-center, gistpin:project, gistpin:service |
Billing and cost tracking |
| Ownership | gistpin:owner, gistpin:team, gistpin:contact-email |
Resource responsibility |
| Operational | gistpin:tier, gistpin:criticality, gistpin:backup |
Runbook and operations |
| Security | gistpin:data-classification, gistpin:compliance |
Security posture |
| Lifecycle | gistpin:created-by, gistpin:decommission-date |
Resource lifecycle |
| Tier | Name | Backup | Retention | Classification |
|---|---|---|---|---|
| 1 | Critical | Daily | 365 days | Restricted |
| 2 | Important | Daily | 90 days | Sensitive |
| 3 | Standard | Weekly | 30 days | Internal |
| 4 | Dev/Test | None | 7 days | Public |
Apply tier-based tags in Terraform:
resource "aws_s3_bucket" "data" {
bucket = "gistpin-data"
tags = local.tier1_critical_tags
}For service-specific tags, merge with service map:
resource "aws_s3_bucket" "analytics" {
bucket = "gistpin-analytics"
tags = merge(local.tier3_standard_tags, local.service_tags["analytics"])
}Tagging compliance is enforced via:
- Sentinel policy –
infrastructure/terraform/tagging-taxonomy.tfdeploys the policy - AWS Config rules –
required-tagsandgistpin-tagging-taxonomyrules - CI/CD gating – Terraform Cloud policy checks on every plan
# List resources missing required tags
aws resourcegroupstaggingapi get-resources --tag-filters Key=gistpin:environment
# Check Config compliance
aws configservice describe-compliance-by-config-rule --config-rule-names gistpin-tagging-taxonomy