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

Align kubebuilder markers with shipped CRDs

Abierto Apto para principiantes
#2,091 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@KhizerRehan ya está trabajando en esto.

Desde el 25/9/2026.

  • #2092 de @KhizerRehan — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
go, kubernetes

Línea de trabajo

Comienza buscando los marcadores de kubebuilder en las definiciones de Go de Machine, MachineSet y MachineDeployment, y luego compáralos con los tres esquemas CRD de examples/machine-controller.yaml en las líneas 23, 72 y 126. Ejecuta controller-gen y verifica que la salida generada coincida con los CRD incluidos, sin cambiar el YAML, el comportamiento del controlador ni la salida de kubectl get.

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

Descripción

What happened

The +kubebuilder:* markers on Machine, MachineSet and MachineDeployment no longer match the CRDs shipped in examples/machine-controller.yaml, so a controller-gen run would not be output-neutral.

Found while sweeping every CRD in a live cluster with kubectl explain <crd>.spec. All three cluster.k8s.io types failed:

error: field "spec" does not exist
Image

That failure has its own cause — the shipped CRDs publish a stub schema (type: object plus x-kubernetes-preserve-unknown-fields: true, no properties), so explain has nothing to resolve past the root:

CRD Schema in examples/machine-controller.yaml explain .spec
machines.cluster.k8s.io line 23, stub field "spec" does not exist
machinesets.cluster.k8s.io line 72, stub field "spec" does not exist
machinedeployments.cluster.k8s.io line 126, stub field "spec" does not exist

Publishing a real structural schema is out of scope here and needs its own issue. Auditing the markers to explain the failure is what turned up three mismatches against the shipped CRDs:

Fix: markers follow the shipped YAML. No change to CRD YAML, controller behaviour, or kubectl get output.

Lenguaje dominante
Go
Estrellas
326
Forks
140
Merge medio
16 h 47 min
PR fusionados (30 d)
13

Preparar el entorno

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 kubermatic/machine-controller

Todos los issues de kubermatic/machine-controller

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.