Skip to content

feature: add shared ResourceTag semantic label for provider tags/labels #2457

Description

@kunaals

Description

This is a follow-up to recent GCP unified label work (GCPLabel).

Today Cartography has provider-native metadata nodes:

  • AWSTag (AWS)
  • GCPLabel (GCP)

We should add a shared semantic layer for cross-cloud metadata tagging queries, tentatively named ResourceTag, while keeping provider-native node labels intact.

Proposed direction for a later PR (not this one):

  • Define a shared semantic label: ResourceTag.
  • Apply it to AWSTag and GCPLabel nodes (and optionally other provider equivalents later).
  • Keep provider-native node labels and provider-native relationship names for compatibility.
  • Update docs/ontology guidance so cross-cloud queries can target :ResourceTag.

Motivation

Users want consistent cross-cloud querying for key/value metadata attached to resources, regardless of provider naming differences (tags vs labels). A shared semantic label enables this without losing provider-specific fidelity.

Alternatives Considered

  • Keep separate semantics (Tag for AWS, Label for GCP): preserves provider terms but fragments cross-cloud queries.
  • Rename provider-native nodes to one global node type: more disruptive and higher migration risk.
  • Use Tag as the shared semantic name: viable, but ResourceTag is less overloaded and clearer in multi-cloud contexts.

Relevant Links

  • Current GCP schema docs: docs/root/modules/gcp/schema.md (GCPLabel)
  • Current AWS schema docs: docs/root/modules/aws/schema.md (AWSTag)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions