Skip to content

feat(domains): add TrackingCAA record support#170

Merged
drish merged 1 commit intomainfrom
feat/tracking-caa-record
Apr 15, 2026
Merged

feat(domains): add TrackingCAA record support#170
drish merged 1 commit intomainfrom
feat/tracking-caa-record

Conversation

@rehanvdm
Copy link
Copy Markdown
Contributor

@rehanvdm rehanvdm commented Apr 15, 2026

Summary

The Domains API now returns an extra DNS record on POST /domains and GET /domains/:id when a tracking subdomain is configured and the customer's root domain has CAA records that would prevent AWS from issuing a certificate for the tracking subdomain:

{
  "record": "TrackingCAA",
  "name": "",
  "type": "CAA",
  "ttl": "Auto",
  "value": "0 issue \"amazon.com\"",
  "status": "verified"
}

Records are returned as plain hashes in this SDK, so no source change is required — the record deserializes today. This PR extends the existing creates a domain with tracking_subdomain spec to include and assert on the new record.

Test plan

  • CI runs bundle exec rspec (local Ruby is older than the project minimum, so deferring to CI)

Tracking: Linear ENG-4844

🤖 Generated with Claude Code


Summary by cubic

Adds support for returning a TrackingCAA DNS record when a tracking subdomain is set and the root domain’s CAA would block AWS from issuing the tracking certificate. Updates the tracking subdomain spec to cover this case (per Linear ENG-4844).

  • New Features
    • POST /domains and GET /domains/:id may include a TrackingCAA record with type: "CAA", value: "0 issue \"amazon.com\"", and ttl: "Auto".
    • SDK already deserializes record hashes; no source change needed.
    • Extends the create-with-tracking-subdomain spec to assert the new record.

Written for commit fcc21f0. Summary will update on new commits.

The Domains API now returns an extra DNS record `TrackingCAA` (type
`CAA`, value `0 issue "amazon.com"`) when a `tracking_subdomain` is
configured AND the customer's root domain has CAA records that would
prevent AWS from issuing the tracking-domain certificate.

Records are returned as plain hashes in this SDK so no source change
is needed — extends the create-with-tracking-subdomain spec with the
new record fixture.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file

Confidence score: 4/5

  • This PR looks safe to merge overall, with limited runtime risk since the flagged change is in tests (spec/domains_spec.rb) rather than production code.
  • The main issue is concrete: new assertions access nested records with symbol keys, but parsed nested response data is typically string-keyed, which can cause misleading spec failures or incorrect test coverage.
  • Pay close attention to spec/domains_spec.rb - update nested records assertions to use string keys so tests reflect real parsed response structures.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="spec/domains_spec.rb">

<violation number="1" location="spec/domains_spec.rb:139">
P2: Access nested `records` fields with string keys in these new assertions; symbol keys here don't reflect real parsed responses.

(Based on your team's feedback about nested arrays/hashes using string keys.) [FEEDBACK_USED]</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread spec/domains_spec.rb
@drish drish merged commit 9007109 into main Apr 15, 2026
8 checks passed
@drish drish deleted the feat/tracking-caa-record branch April 15, 2026 14:32
@rehanvdm rehanvdm restored the feat/tracking-caa-record branch April 16, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants