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

Add a `crossplane xrd lint` command

Abierto
#69 9 comentarios 8 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 6 días

Nadie ha tomado este issue todavía.

  • #6385 de @undefinedhuman — cerrado sin fusionar

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
go, kubernetes, openapi

Línea de trabajo

Comienza con el comando crossplane xrd lint y compara su alcance previsto con crossplane beta validate. Revisa la documentación enlazada sobre buenas prácticas de diseño de API y determina qué comprobaciones de XRD están dentro del alcance, incluidos los requisitos de status, los nombres de arrays, los enums booleanos, las extensiones de merge y las descripciones de campos. La tarea estará terminada cuando el comando informe de resultados de lint accionables para las comprobaciones acordadas.

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

Descripción

enhancement
What problem are you facing?

https://github.com/crossplane/docs/issues/564 tracks documenting best practices for API design. Put otherwise, best practices for writing XRDs. It occurred to me today that we could probably write a linter for a lot of these.

It could make sense for this to be part of crossplane beta validate too, but I think validation and linting are slightly different things. An XRD could have a valid OpenAPI schema, but one that we wouldn't recommend.

How could Crossplane help solve your problem?

Add a linter for XRDs. Some things to look for:

  • Overly restrictive status fields. Status fields aren't written by users, so they typically shouldn't be required, or generally validated beyond their type (e.g maximum integers, etc).
  • Arrays of objects missing a name field.
  • Boolean fields, which Kubernetes API conventions would typically recommend be enums.
  • Missing server-side apply merge OpenAPI extensions where we'd expect them.
  • General OpenAPI hygiene - fields missing descriptions etc
Lenguaje dominante
Go
Estrellas
20
Forks
33
Merge medio
4 d 9 h
PR fusionados (30 d)
16

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 crossplane/cli

Todos los issues de crossplane/cli

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.