Harden EKS demo configs and manifests - #2
Draft
ryanmaclean wants to merge 2 commits into
Draft
Conversation
Co-authored-by: ryanmaclean <6923433+ryanmaclean@users.noreply.github.com>
Contributor
|
I can only run on private repositories. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This update modernizes and hardens the EKS demo repository so fresh deployments are safer, more reproducible, and easier to operate. The impact is reduced security risk (secret handling, privileged runtime settings, API exposure defaults), fewer deployment surprises, and better day-2 reliability for demo workloads.
Follow-up increments harden the CloudFormation bootstrap path by removing risky defaults, updating an end-of-life Lambda runtime, clarifying legacy ALB ingress behavior, and making nested stack orchestration more deterministic. This increment also improves IaC tooling guidance by prioritizing OpenTofu for a more permissive licensing path while retaining Terraform compatibility.
Changes
eksctl/script.shwith strict shell mode and explicit cluster/region/version/nodegroup parameters via environment-variable overrides.kubectl ... --dry-run=client | apply).secretKeyRef.operator/cluster-agent.yaml:metadata.name.AlwaystoIfNotPresent.DD_API_KEYvalue with Kubernetes secret reference.storedog/:creationTimestamp/statusgenerated fields from source manifests.datatostringDatafor valid and explicit secret rendering.IfNotPresentwhere appropriate.DD_KUBELET_TLS_VERIFY=true).required_providerswith version constraints and raised Terraform minimum version.workstation_external_cidrvariable override.aws eks get-tokenwithclient.authentication.k8s.io/v1beta1.kubeconfig,config_map_aws_auth) as sensitive.ProvisionBastionHostdefault fromEnabledtoDisabled.python3.7topython3.11.ProvisionALBIngressControlleras a legacy ALB ingress path in template parameter description.Metadata.DependsOnblocks with resource-levelDependsOndeclarations on nested stacks to enforce deterministic orchestration.terraformtotofu.terraformcan be used in place oftofu.Testing
hclfmtapplied to Terraform changes (terraform/eks-cluster.tf).tflintpassed for modified Terraform files.operator/cluster-agent.yamloperator/datadog-cluster-agent_service.yamlstoredog/advertisements.yamlstoredog/db.yamlstoredog/discounts.yamlstoredog/frontend.yamlhelm/values.yamlbash -n eksctl/script.shbash -n operator/operator_deploy.shpython yaml.composeagainstcloudformation/amazon-eks-template.yamlMetadata.DependsOnno longer present incloudformation/amazon-eks-template.yamlFormatandLinttools (README is not auto-processed by configured format/lint tooling in this repo).PR by Bits - View session in Datadog
Comment @DataDog to request changes