Add a `crossplane xrd lint` command
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
- Área
- api, backend-api-design, cli
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
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
namefield. - 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
- 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 crossplane/cli
-
`credsStore` in docker config causes unit test failuresPosiblemente ocupada @sujeito-operator la tomó hace 53 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
crossplane/cli#282 ·
Los mantenedores suelen responder en 6 días
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
crossplane/cli#410 ·
Los mantenedores suelen responder en 6 días
-
render: label the Docker containers and networks render createsPosiblemente ocupada @jcogilvie la tomó hace 10 días. Abiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
crossplane/cli#401 ·
Los mantenedores suelen responder en 6 días
-
render: interrupting with Ctrl+C (SIGINT/SIGTERM) leaks Function containers, the render container, and the networkPosiblemente ocupada @jcogilvie la tomó hace 10 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
crossplane/cli#400 ·
Los mantenedores suelen responder en 6 días
-
render: Function cleanup failures are invisible without --verbosePosiblemente ocupada @jcogilvie la tomó hace 10 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
crossplane/cli#399 ·
Los mantenedores suelen responder en 6 días
Todos los issues de crossplane/cli
Issues similares
-
refine bluetooth scan listAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
AvengeMedia/DankMaterialShell#3761 ·
Los mantenedores suelen responder en 1 día
-
docs: clarify replacement for outdated Terms of Service URL in readme.mdPosiblemente ocupada @mohitjoshi-hey la tomó hoy. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
SocialGouv/iterion#2320 ·
Los mantenedores suelen responder en 1 día
-
helm chart: the first upgrade after install restarts the filer and S3 gateway although nothing changedPosiblemente ocupada @egezamb la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
[mesheryctl] Potential runtime panic (index out of range) in system status when pod container statuses are partially populatedPosiblemente ocupada @Ayush-AM la tomó hoy. Abiertocomponent/mesheryctl kind/bug language/go
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
meshery/meshery#22312 · 2 comentarios ·
Los mantenedores suelen responder en 1 día