Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Bug?: (Helm) unable to add rule to previously created (default) firewall

Abierto
#18 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
go, helm

Línea de trabajo

Empieza por helm/controller/templates/firewall.yaml e internal/controller/cloudfirewall_controller.go alrededor de las líneas enlazadas. Compara los metadatos de propiedad de Helm con el CloudFirewall predeterminado creado por el controlador, y reproduce la instalación con los valores predeterminados seguida de la adición de una regla. Se considera terminado cuando ese flujo de trabajo ya no falla porque Helm no puede adoptar el firewall existente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The helm template for the CloudFirewall has one big if statement around it:

https://github.com/linode/cloud-firewall-controller/blob/8eae0593716403589d4b070840967399b0b153d7/helm/controller/templates/firewall.yaml#L1-L1

This means that if you install the helm chart with default values, no (Helm managed) CloudFirewall will be created. However the Golang controller code will create a default firewall if no CloudFirewall exists:

https://github.com/linode/cloud-firewall-controller/blob/8eae0593716403589d4b070840967399b0b153d7/internal/controller/cloudfirewall_controller.go#L660-L679

Later on adding a rule via Helm however will now fail, because it will try to create a Helm managed CloudFirewall (see above) where the object already exists. Helm will fail with:

╷
│ Error: Unable to continue with update: CloudFirewall "primary" in namespace "kube-system" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "cloud-firewall-controller"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "kube-system"
│ 
│   with helm_release.linode_firewall_controller,
│   on main.tf line 70, in resource "helm_release" "linode_firewall_controller":
│   70: resource "helm_release" "linode_firewall_controller" {
│ 
╵

Note: the above is actually a failure of Helm wrapped in Terraform because I'm doing the helm install via Terraform, but that's besides the point. Helm is correct in the sense that because the original CloudFirewall was not created by Helm previously, it should not suddenly manage it and will therefor fail.

Lenguaje dominante
Go
Estrellas
17
Forks
9
Merge medio
5 min
PR fusionados (30 d)
1

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de linode/cloud-firewall-controller

Todos los issues de linode/cloud-firewall-controller

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.