|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
|
Esta es documentación inédita para Admission Controller 1.34-dev. |
Publicar directivas en Artifact Hub
Artifact Hub es un sitio web donde los usuarios pueden encontrar, instalar y publicar paquetes y configuraciones para proyectos de CNCF.
Las SUSE Security Admission Controller directivas pueden publicarse en Artifact Hub y hacerse descubribles para la amplia audiencia de usuarios de CNCF.
|
Artifact Hub es una plataforma de agregación de contenido y no aloja realmente los artefactos que se publican en él. Artifact Hub requiere que alojes físicamente los repositorios de imágenes de contenedor en un registro de contenedores o en un servidor web. Consulta la sección distribución de directivas para más información sobre cómo alojar tus directivas. |
Este documento se centra en los pasos necesarios para hacer que una directiva Admission Controller sea descubrible en Artifact Hub.
Prepara tu repositorio Git
Artifact Hub rastrea los repositorios Git en busca de archivos de metadatos especiales.
Existen diferentes tipos de diseños que puede tener el repositorio Git. Todos están documentados en profundidad en la documentación oficial de Artifact Hub.
Artifact Hub es flexible y te permite organizar tu código de estas maneras:
-
Tener un repositorio Git dedicado a Artifact Hub: este repositorio no contendrá ningún código fuente de directiva. Será una colección de los archivos YAML requeridos por Artifact Hub.
-
Añade un directorio de Artifact Hub en el repositorio Git que contiene la fuente de tu directiva. Esta es una iteración del enfoque anterior, centrándose en una sola directiva, la que está definida en el repositorio Git. Este enfoque permite mantener múltiples versiones de la directiva publicadas en Artifact Hub.
-
Añade los archivos
artifacthub-pkg.ymlyartifacthub-repo.ymla la raíz del repositorio Git que contiene el código fuente de la directiva. Este enfoque es el más sencillo. La única limitación es que solo la última versión de la directiva será visible en Artifact Hub.
El último enfoque se utiliza en nuestras plantillas de directivas oficiales. El repositorio Git que se ha creado incluye el archivo artifacthub-repo.yml, y nuestras acciones de GitHub generan y envían el artifacthub-pkg.yml a una rama artifacthub para que Artifact Hub lo consuma.
Pasos de Publicación
Antes de publicar una directiva en Artifact Hub, debes crear una cuenta allí.
Antes de publicar la directiva, asegúrate de que tu repositorio Git tenga el diseño adecuado, con un metadata.yml bien formateado y con las anotaciones obligatorias.
Si quieres hacer esto manualmente, puedes crear el archivo artifacthub-pkg.yml haciendo un kwctl scaffold artifacthub (con la versión >= 1.23). Este comando toma el metadata.yml en la vía actual y genera un artifacthub-pkg.yml. El artifacthub-pkg.yml contiene campos como version:, createdAt:, que deben coincidir con un formato específico y estar actualizados. El formato del artifacthub-pkg.yml se describe aquí.
Si utilizas nuestras acciones de GitHub >= v4.0.0, el flujo de trabajo de lanzamiento puede configurarse con la entrada artifacthub: true. Si está configurado así, después de un lanzamiento exitoso (después de que la directiva se haya construido, firmado y enviado con éxito), nuestras acciones de GitHub tienen un último trabajo que genera el artifacthub-pkg.yml para ti, luego comitea y envía los cambios a la rama artifacthub. Los archivos canónicos son siempre los que están en la rama main. Para el comportamiento de versiones anteriores de nuestras acciones de GitHub, consulta la documentación de versiones anteriores a 1.23.
Finalmente, asegúrate de que tu directiva esté publicada dentro de un registro de contenedores o en un servidor web.
|
En este momento, el contenido del archivo |
Una vez que todo esté en su lugar, inicia sesión en Artifact Hub y ve a tu plano de control.
Decide si quieres publicar la directiva como usuario o bajo una organización de Artifact Hub a la que pertenezcas. Esto se hace eligiendo el contexto correcto "del panel de control".
Luego, presiona el botón "Añadir" y completa el formulario:
-
Elige "Admission Controller directivas" como tipo.
-
Introduce un "Nombre" y "Nombre para mostrar" de tu elección.
-
Introduce la URL de tu repositorio Git.
-
Introduce
artifacthubcomo la rama a rastrear.
Finalmente, presiona el botón "Añadir". Esto te llevará de vuelta a la página "Repositorios", donde verás tu repositorio recién creado.
Cada repositorio tiene varios campos de información. Encuentra la propiedad "ID" del repositorio que acabas de crear y cópiala.
Regresa a tu repositorio Git y edita el artifacthub-repo.yml. Asegúrate de que la clave repositoryID que se encuentra dentro del documento tenga el valor que acabas de copiar de la página web de Artifact Hub.
|
El formato del archivo Ahora es un buen momento para hacer algunas personalizaciones adicionales a este archivo. |
Una vez que hayas terminado con los cambios, confirma el archivo artifacthub-repo.yml actualizado y súbelo. Durante el próximo escaneo, Artifact Hub encontrará este archivo y añadirá la insignia "Editor Verificado" a tu repositorio de Artifact Hub.
Manteniendo Artifact Hub en Sincronía
No olvides actualizar el contenido del archivo artifacthub-pkg.yml cada vez que publiques una nueva versión de tu directiva. Por ejemplo, debes actualizar el campo io.kubewarden.policy.version (que normalmente coincide con la etiqueta OCI de la directiva), y cualquier otra anotación que desees cambiar.
|
El contenido del archivo |