Resolve several GKE Autopilot gaps with Helm#3234
Conversation
Enable clusterChecks.useClusterChecksRunners in the comprehensive DDA so the CCR Deployment appears in all comprehensive golden variants. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
🛑 Gate Violations
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c40c15f085
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| containerdDirVolumeName, | ||
| criDirVolumeName, | ||
| }, | ||
| RemoveEnvVars: []string{common.DDHostRootEnvVar}, |
There was a problem hiding this comment.
Disable SBOM modes when removing their required mounts
On GKE Autopilot with features.sbom.host.enabled or containerImage.uncompressedLayersSupport, this provider cap removes the host/container runtime mounts and DD_HOST_ROOT, but ManageNodeAgent still leaves DD_SBOM_HOST_ENABLED=true and DD_SBOM_CONTAINER_USE_MOUNT=true in the agent env before this runs. The resulting pod schedules without the required host paths but still tells the agent to perform those scans, which can produce failed or incorrect SBOM results instead of actually suppressing the unsupported modes.
Useful? React with 👍 / 👎.
70ff427 to
cc1b297
Compare
cc1b297 to
3b0f2fd
Compare
tbavelier
left a comment
There was a problem hiding this comment.
Everything looks good to me but d5d9a35: I don't understand the comment nor the intent. This annotation is automatically injected by Autopilot on the pods at admission time. From my understanding, it has no effect/need on the daemonset itself directly and daemonset remains managed by the operator ? I commented on a local build this change and had no issues in my cluster, so curious to understand further
…ion" This reverts commit 3b0f2fd. GPU and SBOM suppressions are kept; F4 validation will handle user-facing errors for unsupported features. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Resolved conflicts in golden files by regenerating with our code changes applied on top of main's renderer updates. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Drop the misleading cafeb8c (which accidentally reverted the GPU/SBOM suppression drop instead of the no-connect annotation commit). Revert d5d9a35: the autopilot.gke.io/no-connect annotation belongs on the pod template, not the DaemonSet object metadata, and requires a narrower version range than an unconditional apply. Removing ApplyProviderObjectAnnotations and its two call sites from controller_reconcile_agent.go. GPU and SBOM provider suppressions are restored as-is (they were correctly dropped in 3b0f2fd since Helm hard-fails on those features for Autopilot; partial suppression is misleading). Golden files regenerated. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
# Conflicts: # internal/controller/testutils/renderer/testdata/golden/comprehensive-aks.golden.yaml # internal/controller/testutils/renderer/testdata/golden/comprehensive-autopilot.golden.yaml # internal/controller/testutils/renderer/testdata/golden/comprehensive-baseline.golden.yaml # internal/controller/testutils/renderer/testdata/golden/comprehensive-eks-hostname-from-file.golden.yaml
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-v1.29 v1.29
# Navigate to the new working tree
cd .worktrees/backport-v1.29
# Create a new branch
git switch --create backport-3234-to-v1.29
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 84a47fdc34c9e9d4bc027f2b73c88ef2f751947d
# Push it to GitHub
git push --set-upstream origin backport-3234-to-v1.29
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-v1.29Then, create a pull request where the |
* set DD_PROVIDER_KIND en and env.datadoghq.com/kind annotation in agent * Step 2: feature supressions, FIPS proxy * Add no-connect annotation to agent DS * add CCR to comprehensive golden test fixture Enable clusterChecks.useClusterChecksRunners in the comprehensive DDA so the CCR Deployment appears in all comprehensive golden variants. * set DD_PROVIDER_KIND in CRC, DCA; DD_CLOUD_PROVIDER_METADATA in DCA * Drop GPU and SBOM supression to be handled by feature validation * Fix golden test * Revert "Drop GPU and SBOM supression to be handled by feature validation" This reverts commit 3b0f2fd. GPU and SBOM suppressions are kept; F4 validation will handle user-facing errors for unsupported features. * Revert no-connect annotation (d5d9a35); restore GPU/SBOM drop Drop the misleading cafeb8c (which accidentally reverted the GPU/SBOM suppression drop instead of the no-connect annotation commit). Revert d5d9a35: the autopilot.gke.io/no-connect annotation belongs on the pod template, not the DaemonSet object metadata, and requires a narrower version range than an unconditional apply. Removing ApplyProviderObjectAnnotations and its two call sites from controller_reconcile_agent.go. GPU and SBOM provider suppressions are restored as-is (they were correctly dropped in 3b0f2fd since Helm hard-fails on those features for Autopilot; partial suppression is misleading). Golden files regenerated. --------- (cherry picked from commit 84a47fd) Co-authored-by: Claude Sonnet 4.6 <[email protected]> Co-authored-by: Timothée Bavelier <[email protected]>
What does this PR do?
CONTP-1802
GPU pod-resources, SBOM host volumes,and FIPS sidecar on GKE Autopilot via provider capabilities.Add autopilot.gke.io/no-connect: "true" annotation to the agent DaemonSet on GKE AutopilotMotivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Minimum Agent Versions
Are there minimum versions of the Datadog Agent and/or Cluster Agent required?
Describe your test plan
Apply
Verify:
env.datadoghq.com/kind: gke-autopilotDD_PROVIDER_KIND: gke-autopilot,DD_CLOUD_PROVIDER_METADATA: [gcp]DD_CLOUD_PROVIDER_METADATA: [gcp]DD_CLOUD_PROVIDER_METADATA: [gcp],DD_PROVIDER_KIND: gke-autopilot--
Checklist
bug,enhancement,refactoring,documentation,tooling, and/ordependenciesqa/skip-qalabel