Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ module "comet_eks" {
eks_external_dns_addon_version = var.eks_external_dns_addon_version
eks_external_dns_r53_zones = var.eks_external_dns_r53_zones
eks_enable_metrics_server = var.eks_enable_metrics_server
eks_enable_network_policy = var.eks_enable_network_policy
eks_metrics_server_addon_version = var.eks_metrics_server_addon_version
eks_enable_kube_state_metrics = var.eks_enable_kube_state_metrics
eks_kube_state_metrics_addon_version = var.eks_kube_state_metrics_addon_version
Expand Down
11 changes: 10 additions & 1 deletion modules/comet_eks/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,16 @@ module "eks" {
{
# vpc-cni and kube-proxy are DaemonSets — not pinned to the system pool.
# vpc-cni must be ready before nodes join, so provision it before compute.
vpc-cni = { before_compute = true }
# DND-1082: when eks_enable_network_policy is set, turn on the CNI's
# Kubernetes NetworkPolicy enforcement (enableNetworkPolicy=true runs the
# aws-eks-nodeagent). NetworkPolicy objects are created-but-ignored until
# this is on. Off leaves the addon at AWS defaults (enforcement disabled).
vpc-cni = merge(
{ before_compute = true },
var.eks_enable_network_policy ? {
configuration_values = jsonencode({ enableNetworkPolicy = "true" })
} : {}
)
kube-proxy = {}
# coredns is a schedulable Deployment — HA (2 replicas + PDB + soft
# topology spread) plus system-pool pinning under Auto Mode. See the
Expand Down
6 changes: 6 additions & 0 deletions modules/comet_eks/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,12 @@ variable "eks_enable_metrics_server" {
default = true
}

variable "eks_enable_network_policy" {
description = "Enables Kubernetes NetworkPolicy enforcement in the VPC CNI managed addon (sets enableNetworkPolicy=true, which runs the aws-eks-nodeagent). Without it, NetworkPolicy objects are created but silently not enforced. Required for the opik-python-backend / PP-engine / Ollie-engine egress policies. Defaults to true — enforcement is a safe superset (policies only restrict pods they explicitly select; unselected pods stay fully open)."
type = bool
default = true
}

variable "eks_metrics_server_addon_version" {
description = "Pinned version of the metrics-server EKS managed addon. Set to null to use the AWS default for the cluster's Kubernetes version."
type = string
Expand Down
6 changes: 6 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,12 @@ variable "eks_enable_metrics_server" {
default = true
}

variable "eks_enable_network_policy" {
description = "Enables Kubernetes NetworkPolicy enforcement in the VPC CNI managed addon (sets enableNetworkPolicy=true, which runs the aws-eks-nodeagent). Without it, NetworkPolicy objects are created but silently not enforced. Required for the opik-python-backend / PP-engine / Ollie-engine egress policies. Defaults to true — enforcement is a safe superset (policies only restrict pods they explicitly select; unselected pods stay fully open)."
type = bool
default = true
}

variable "eks_metrics_server_addon_version" {
description = "Pinned version of the metrics-server EKS managed addon. Set to null to use the AWS default for the cluster's Kubernetes version."
type = string
Expand Down