MCMMCM DocsEngineering (Internal)
HLDModulesDiscovery

Custom Tags

Canonical tag definitions, alias resolution, and coverage tracking across cloud resources.

Custom Tags

Custom Tags let users define canonical tag keys with normalised aliases and allowed values, then track coverage across all cloud resources and accounts. Rather than dealing with inconsistent tag names per provider (e.g. Env, env, environment), Custom Tags resolve everything to a single authoritative key and surface compliance gaps.


Why Custom Tags

Cloud resources accumulate inconsistent, provider-specific tags over time. Custom Tags solve this by:

  • Normalising raw resource tags to canonical keys via alias resolution.
  • Enforcing allowed values so tags carry consistent, queryable data.
  • Measuring coverage — which resources are tagged, which are not, and at what percentage.
  • Filtering resources across Discovery, FinOps, SecOps, and Orchestration by tag key + value.

Data Model

CustomTagDefinition

FieldTypeDescription
idstringUnique identifier (e.g. ctag-1)
keystringCanonical tag name (e.g. Environment)
aliasesstring[]Alternative raw tag names that resolve to this key (e.g. ["Env", "env", "environment"])
allowedValuesstring[]Preferred values for this tag (e.g. ["Production", "Development", "Staging"]). Empty means any value is accepted.
createdAtISO datetimeCreation timestamp

Tag Format on Resources

Tags on cloud resources are stored as Key:Value strings, e.g. "Env:Production". The Custom Tags engine resolves the raw key to its canonical form before display and filtering.

Built-in Tag Definitions (seed data)

KeyAliasesAllowed Values
EnvironmentEnv, env, environmentProduction, Development, Staging
Departmentdept, DeptEngineering, Finance, Operations, Security
Owner(none)(any)

UI Overview

Dashboard (/custom-tags)

Provides a platform-wide view of tag adoption.

KPI Cards

CardDescription
Total ResourcesAll resources across all connected accounts
Tagged ResourcesCount and percentage with at least one matched tag
Untagged ResourcesCount and percentage with no matched tags
Global Tag ScoreAverage coverage percentage across all tag definitions

Tag Definitions Table — lists every custom tag with:

  • Aliases (shown as badges)
  • Allowed Values (shown as badges)
  • Tagged Resources count
  • Coverage % with colour coding: green ≥ 80%, amber 50–79%, red < 50%
  • Status badge: Healthy / Review / Action needed

Tag Score by Account Table — per-account breakdown showing each tag key's coverage percentage. Rows sorted by overall score ascending to surface the worst-covered accounts first.


Create Tag (/custom-tags/new)

Two-panel layout:

  • Left panel — feature overview and a live example showing the tag structure.
  • Right panel — form with:
    • Tag Key (required, validated for uniqueness)
    • Aliases (multi-add, Enter or comma to add; resolved to the canonical key at query time)
    • Allowed Values (optional, multi-add; if empty, any value is accepted)
    • Live preview of how the tag resolves

Tag Detail (/custom-tags/[id])

Three tabs:

Overview

  • Stat cards: Total Resources, Tagged, Untagged, Coverage %
  • Overall Coverage progress bar
  • Value Distribution chart — resources grouped by tag value (including untagged)
  • Coverage by Account breakdown

Resources

  • DataTable of all resources with: name/ID, account, type, category, region, all tags, and the current value for this tag (Untagged badge in amber if missing)
  • Filters: Status, Account, Type, Category, Region, Tag Value
  • Bulk selection toolbar — select multiple resources and apply a tag value via CustomTagValuePicker

Settings

  • Edit Tag Key, Aliases, and Allowed Values inline
  • Danger Zone with Delete button

Alias Resolution

When the platform encounters a raw resource tag key, the resolution logic is:

  1. Check for an exact match against a CustomTagDefinition.key.
  2. Check for a case-sensitive match in any definition's aliases array.
  3. If matched, return the canonical key; otherwise the tag is unrecognised.

This ensures "Env", "env", and "environment" all map to the Environment tag definition.


Module Integration

Custom Tags are used across all modules as a first-class filter and grouping dimension:

ModuleUsage
DiscoveryFilter the resource inventory by tag key + value
FinOpsGroup costs by custom tag (e.g. cost by Department)
SecOpsFilter security findings by tagged resources
AccountsView per-account tagging coverage scores
OrchestrationTarget provisioning workflows at resources by tag

Coverage Colour Coding

CoverageColourStatus Badge
≥ 80%GreenHealthy
50–79%AmberReview
< 50%RedAction needed

On this page