Skip to content

TON-829: Accept Datadog Operator subscription - #349

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits into
masterfrom
fanny/TON-829/accept-operator-subscription
Aug 25, 2026
Merged

TON-829: Accept Datadog Operator subscription#349
gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits into
masterfrom
fanny/TON-829/accept-operator-subscription

Conversation

@fanny-jiang

@fanny-jiang fanny-jiang commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Note: Please remember to review the contribution guidelines
if you have not yet done so.

What does this PR do?

Adds an EKS-only CloudFormation custom resource that discovers the public free Datadog Operator offer, validates its terms and zero-cost pricing, creates and accepts the AWS Marketplace agreement, and waits for the Operator entitlement. Existing active agreements are reused, and stack deletion retains the Marketplace agreement.

The custom resource uses the modeled boto3 Marketplace Agreement client for signing, response parsing, and bounded retries, plus the SDK paginator for entitlements. Deadline-aware calls and structured logs preserve actionable subscription failures without maintaining a custom HTTP client.

Motivation

Allow the EKS Quick Start onboarding flow to accept the Datadog Operator Marketplace subscription before the instrumenter installs the managed add-on, without requiring Marketplace permissions on the Datadog integration role.

Testing Guidelines

  • Ran 147 Python unit tests covering subscription discovery, fail-closed free-offer validation, agreement creation and recovery, entitlement polling, deadlines, and CloudFormation responses.
  • Verified the required Marketplace Agreement methods and entitlement paginator against boto3/botocore 1.43.44.
  • Rendered the embedded Lambda source and validated the resulting template with cfn-lint.
  • Ran bash -n on the release script and git diff --check.

Additional Notes

The repository uses master as its default branch; no main ref exists. The subscription resources are created only when EKS instrumentation is selected.

@datadog-datadog-prod-us1-2

This comment has been minimized.

@fanny-jiang
fanny-jiang marked this pull request as ready for review August 21, 2026 20:28
@fanny-jiang
fanny-jiang requested a review from a team as a code owner August 21, 2026 20:28

@gpalmz gpalmz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Left a handful of comments, mostly about the size of this. Two I'd want resolved before merge: the bundled boto3 question in the first one, and the GovCloud/China behavior.

Comment thread aws_quickstart/accept_operator_subscription.py Outdated
Comment thread aws_quickstart/datadog_integration_permissions.yaml
Comment thread aws_quickstart/accept_operator_subscription.py
Comment thread aws_quickstart/datadog_integration_permissions.yaml Outdated
Comment thread aws_quickstart/accept_operator_subscription.py
Comment thread aws_quickstart/accept_operator_subscription.py

@gpalmz gpalmz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice cleanup, this reads a lot better. Left two small deadline-handling things and one consistency nit, none blocking. Assuming the python3.14 boto3 probe comes back clean on the other thread.

Comment thread aws_quickstart/accept_operator_subscription.py Outdated
Comment thread aws_quickstart/accept_operator_subscription.py Outdated
Comment thread aws_quickstart/accept_operator_subscription.py Outdated
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit bde2f76 into master Aug 25, 2026
8 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the fanny/TON-829/accept-operator-subscription branch August 25, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants