chore: bump socket-firewall chart and image versions - #5
Merged
Jeffreyhung merged 1 commit intoJul 7, 2026
Merged
Conversation
|
Terraform plan in terraform Plan: 0 to add, 1 to change, 0 to destroy.Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~ update in-place
<= read (data resources)
Terraform will perform the following actions:
# data.kubernetes_service.socket_firewall will be read during apply
# (depends on a resource or a module with changes pending)
<= data "kubernetes_service" "socket_firewall" {
+ id = (known after apply)
+ spec = (known after apply)
+ status = (known after apply)
+ metadata {
+ generation = (known after apply)
+ name = "socket-firewall"
+ namespace = "socket-firewall"
+ resource_version = (known after apply)
+ uid = (known after apply)
}
}
# helm_release.socket_firewall will be updated in-place
!~ resource "helm_release" "socket_firewall" {
id = "socket-firewall"
!~ metadata = [
- {
- app_version = "1.1.335"
- chart = "socket-firewall"
- first_deployed = 1781303659
- last_deployed = 1782933704
- name = "socket-firewall"
- namespace = "socket-firewall"
- notes = <<-EOT
Socket Firewall deployed successfully!
## Self-Signed Certificates
Self-signed certificates were generated. Extract the CA certificate:
kubectl exec -n socket-firewall \
$(kubectl get pod -n socket-firewall -l app.kubernetes.io/name=socket-firewall -o jsonpath='{.items[0].metadata.name}') \
-- cat /etc/nginx/ssl/ca.crt > socket-ca.crt
Then trust the CA on developer machines or use a real certificate for production.
## Accessing the Firewall
For testing, use port-forward:
kubectl port-forward svc/socket-firewall 8443:443 -n socket-firewall
For production, expose via Ingress or change service.type to LoadBalancer.
## Usage
Path-based routing is enabled on domain: sfw.security.sentry.io
Configure package managers to use path prefixes:
npm: https://sfw.security.sentry.io/npm/
pypi: https://sfw.security.sentry.io/pypi/
maven: https://sfw.security.sentry.io/maven/
Example:
npm config set registry https://sfw.security.sentry.io/npm/
pip config set global.index-url https://sfw.security.sentry.io/pypi/simple
## Verify
Test the health endpoint:
curl -sk https://<firewall-ip>/health
See deployment recommendations in README.md for production setup.
EOT
- revision = 12
- values = jsonencode(
{
- affinity = {
- podAntiAffinity = {
- preferredDuringSchedulingIgnoredDuringExecution = [
- {
- podAffinityTerm = {
- labelSelector = {
- matchLabels = {
- "app.kubernetes.io/instance" = "socket-firewall"
}
}
- topologyKey = "kubernetes.io/hostname"
}
- weight = 100
},
]
}
}
- autoscaling = {
- enabled = true
}
- image = {
- pullPolicy = "IfNotPresent"
- repository = "socketdev/socket-registry-firewall"
- tag = "1.1.345"
}
- initContainers = {
- certGenerator = {
- securityContext = {
- allowPrivilegeEscalation = false
- capabilities = {
- drop = [
- "ALL",
]
}
- readOnlyRootFilesystem = true
- runAsNonRoot = true
- runAsUser = 1001
- seccompProfile = {
- type = "RuntimeDefault"
}
}
}
}
- pathRouting = {
- domain = "sfw.security.sentry.io"
- enabled = true
- routes = [
- {
- path = "/npm"
- registry = "npm"
- upstream = "https://registry.npmjs.org"
},
- {
- path = "/pypi"
- registry = "pypi"
- upstream = "https://pypi.org"
},
- {
- path = "/maven"
- registry = "maven"
- upstream = "https://repo1.maven.org/maven2"
},
]
}
- podSecurityContext = {
- fsGroup = 1001
}
- replicaCount = 2
- resources = {
- limits = {
- cpu = "1"
- memory = "768Mi"
}
- requests = {
- cpu = "500m"
- memory = "512Mi"
}
}
- service = {
- httpsTargetPort = "http"
- type = "ClusterIP"
}
- socket = {
- existingSecret = "socket-api-token"
- existingSecretKey = "SOCKET_SECURITY_API_TOKEN"
- failOpen = false
- failOpenUnscanned = false
}
- tls = {
- generateSelfSigned = true
}
}
)
- version = "0.4.1"
},
] -> (known after apply)
name = "socket-firewall"
!~ values = [
!~ <<-EOT
"affinity":
"podAntiAffinity":
"preferredDuringSchedulingIgnoredDuringExecution":
- "podAffinityTerm":
"labelSelector":
"matchLabels":
"app.kubernetes.io/instance": "socket-firewall"
"topologyKey": "kubernetes.io/hostname"
"weight": 100
"autoscaling":
"enabled": true
"image":
"pullPolicy": "IfNotPresent"
"repository": "socketdev/socket-registry-firewall"
- "tag": "1.1.345"
+ "tag": "2.0.4"
"initContainers":
"certGenerator":
"securityContext":
"allowPrivilegeEscalation": false
"capabilities":
"drop":
- "ALL"
"readOnlyRootFilesystem": true
"runAsNonRoot": true
"runAsUser": 1001
"seccompProfile":
"type": "RuntimeDefault"
"pathRouting":
"domain": "sfw.security.sentry.io"
"enabled": true
"routes":
- "path": "/npm"
"registry": "npm"
"upstream": "https://registry.npmjs.org"
- "path": "/pypi"
"registry": "pypi"
"upstream": "https://pypi.org"
- "path": "/maven"
"registry": "maven"
"upstream": "https://repo1.maven.org/maven2"
"podSecurityContext":
"fsGroup": 1001
"replicaCount": 2
"resources":
"limits":
"cpu": "1"
"memory": "768Mi"
"requests":
"cpu": "500m"
"memory": "512Mi"
"service":
"httpsTargetPort": "http"
"type": "ClusterIP"
"socket":
"existingSecret": "socket-api-token"
"existingSecretKey": "SOCKET_SECURITY_API_TOKEN"
"failOpen": false
"failOpenUnscanned": false
"tls":
"generateSelfSigned": true
EOT,
]
!~ version = "0.4.1" -> "0.6.0"
# (25 unchanged attributes hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.✅ Plan applied in Terraform Apply #17 Outputscluster_name = "socket-firewall"
firewall_domain = "sfw.security.sentry.io"
firewall_health_url = "https://sfw.security.sentry.io/health"
firewall_load_balancer_ip = "34.98.104.179"
firewall_namespace = "socket-firewall"
firewall_service_name = "socket-firewall"
kubeconfig_command = "gcloud container fleet memberships get-credentials socket-firewall --project sentry-socket"
tls_certificate_name = "socket-firewall-cert"
tls_dns_authorization_record = {
data = "6a407a91-86a0-4dc8-a434-e72cdc012e0e.9.authorize.certificatemanager.goog."
name = "_acme-challenge.sfw.security.sentry.io."
type = "CNAME"
} |
| helm_chart_version = "0.4.1" | ||
| firewall_image_tag = "1.1.345" | ||
| helm_chart_version = "0.6.0" | ||
| firewall_image_tag = "2.0.4" |
There was a problem hiding this comment.
Bug: The major version bump of the firewall image to 2.x may be incompatible with hardcoded configuration values, such as the API token environment variable name.
Severity: HIGH
Suggested Fix
Review the release notes for the firewall image version 2.0.4 to identify any breaking changes related to configuration. Update any hardcoded values, such as the environment variable name for the API token in terraform/helm.tf, to match the requirements of the new version.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: terraform/terraform.tfvars#L17
Potential issue: The firewall image is being upgraded from version 1.1.345 to 2.0.4. A
major version bump from 1.x to 2.x often introduces breaking changes. The current
configuration in `terraform/helm.tf` hardcodes values like `socket.existingSecretKey =
"SOCKET_SECURITY_API_TOKEN"`. If the new 2.x image expects a different environment
variable for the API token, the firewall could fail to authenticate. This might result
in a crash or a fail-open state, which is a security risk for a critical component.
Also affects:
terraform/helm.tf
Did we get this right? 👍 / 👎 to inform future reviews.
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.
Automated weekly version check found newer releases.
Updates
helm_chart_version:0.4.1→0.6.0firewall_image_tag:1.1.345→2.0.4Follow-up
terraform plancheck on this PR.main.Triggered by check-firewall-versions.