Add config validation for KubernetesApplicationSpec in pipedv1
Los mantenedores suelen responder en 2 días
@adityamukesh ya está trabajando en esto.
Desde el 16/10/2026.
- #7143 de @ayushsarode — cerrado sin fusionar
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 74/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- go, kubernetes
- Área
- devops, infrastructure
Línea de trabajo
Comienza en pkg/app/pipedv1/plugin/kubernetes/config, en el TODO para la validación de KubernetesApplicationSpec, y compara los patrones de validación en los plugins de multicluster Kubernetes, analysis y terraform. Añade pruebas para valores predeterminados válidos, entradas mutuamente excluyentes de Helm y Kustomize, métodos compatibles de enrutamiento de tráfico y requisitos de etiquetas de variante; ejecuta las pruebas del paquete y confirma que los valores predeterminados mínimos de JSON siguen siendo válidos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What would you like to be added:
Implement proper validation for KubernetesApplicationSpec in the pipedv1 Kubernetes plugin (pkg/app/pipedv1/plugin/kubernetes/config), replacing the current // TODO: Validate KubernetesApplicationSpec fields. stub.
Validation should cover at least:
-
Mutually exclusive input options
- Reject configs that set both
input.helmChartandinput.kustomizeOptions.
- Reject configs that set both
-
Traffic routing method
- When
trafficRoutingis set, allow only supported methods ("",podselector,istio) and fail clearly on unknown values.
- When
-
Variant labels
- Require non-empty
variantLabel.key,primaryValue,canaryValue, andbaselineValue. - Require
primaryValue,canaryValue, andbaselineValueto be unique.
- Require non-empty
Add unit tests for valid configs, each failure case, and that JSON unmarshaling applies defaults so a minimal {} spec remains valid after defaults are set.
Why is this needed:
Invalid Kubernetes application configs are currently accepted and only fail later during plan/sync (or produce confusing progressive-delivery behavior). Early validation:
- Surfaces configuration mistakes immediately with actionable error messages.
- Prevents impossible combinations (e.g. Helm chart + Kustomize options).
- Protects progressive delivery by ensuring variant labels and traffic-routing method are usable before a deployment starts.
- Aligns the single-cluster Kubernetes plugin with existing validation patterns used by other plugins (e.g. multicluster Kubernetes, analysis, terraform).
- Lenguaje dominante
- Go
- Estrellas
- 1.4k
- Forks
- 391
- Merge medio
- 4 d 1 h
- PR fusionados (30 d)
- 58
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pipe-cd/pipecd
-
Applications at the repository root are not triggered by new commitsPosiblemente ocupada @Daksha1611 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 2 días
-
pipedv1 kubernetes plugins ignore trafficRouting.istio.host in K8S_TRAFFIC_ROUTINGPosiblemente ocupada @Dhirenderchoudhary la tomó hoy. Abierto
Dificultad 2/5 Medio día Aptitud para principiantes 74/100
pipe-cd/pipecd#7626 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
pipectl transfer restore application drops backed-up labelsPosiblemente ocupada @bhavishyajain545 la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
pipe-cd/pipecd#7622 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 2 días
Todos los issues de pipe-cd/pipecd
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
docker-compose: postgres healthcheck should probe TCP (pg_isready -h localhost)Posiblemente ocupada @zezo-mohamed22 la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
OneBusAway/watchdog#305 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
self-care self-care:agent-discoverability
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
githubnext/gh-cao#20928 ·
Los mantenedores suelen responder en 1 día
-
automation documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
SocialGouv/iterion#3287 ·
Los mantenedores suelen responder en 1 día