Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Versionado y distribución de políticas

5 tareas · 38 min · Principiante

Una política que vive en un solo repositorio es fácil de gobernar; la que se reparte entre veinte equipos ya es un producto con consumidores. Cuando cambia, cada consumidor la recibe cuando alguien lo decide, no cuando el autor la publica, y una etiqueta que se mueve convierte cada publicación en un cambio no anunciado para todos. En Bahareque Constructora cuatro repositorios traen el mismo paquete de políticas de cuatro maneras distintas, y uno de ellos empezó a fallar sin haber tocado su código. Lees el registro de cambios, la forma en que cada repositorio consume el paquete y el estado del registro para reconstruir qué pasó.

0 de 5 · 0%

Objetivo de la sala

Una política que vive en un solo repositorio es fácil de gobernar; la que se reparte entre veinte equipos ya es un producto con consumidores. Cuando cambia, cada consumidor la recibe cuando alguien lo decide, no cuando el autor la publica, y una etiqueta que se mueve convierte cada publicación en un cambio no anunciado para todos. En Bahareque Constructora cuatro repositorios traen el mismo paquete de políticas de cuatro maneras distintas, y uno de ellos empezó a fallar sin haber tocado su código. Lees el registro de cambios, la forma en que cada repositorio consume el paquete y el estado del registro para reconstruir qué pasó.

Quien consume un paquete de políticas depende de su comportamiento: qué reglas deniegan, qué reglas avisan. Cambiar una advertencia por una denegación rompe a los consumidores aunque el código del paquete no cambie de forma. Por eso conviene versionar las políticas como cualquier interfaz: un cambio que puede frenar a otros equipos pide un número de versión que lo diga y un aviso antes de publicarse.

Conftest puede traer políticas de varios orígenes con conftest pull: un registro compatible con OCI, un repositorio de Git o una dirección HTTPS. En el caso del registro, la etiqueta del paquete decide qué versión recibe cada consumidor.

Responde para continuar

¿Por qué cambiar una regla de advertencia a denegación es un cambio que exige cuidado de versión?

Ver pista de ayuda

Piensa en quién se entera del cambio y cuándo.

Una etiqueta de versión concreta (por ejemplo, un número completo) siempre apunta a lo mismo mientras nadie la reescriba. Una etiqueta como latest o una rama como main se mueven: cada publicación nueva cambia lo que reciben quienes las usan. Para una política que puede bloquear despliegues, eso es una forma de cambiar el comportamiento de los demás sin que ellos lo decidan.

Lee cómo cada repositorio obtiene el paquete.

Responde para continuar

Escribe el nombre del repositorio que obtiene el paquete con una etiqueta que se mueve.

Ver pista de ayuda

Con la terminal, `cat repos/consumo.txt`. Busca el que no fija un número de versión.

Fijar versiones tiene un costo: los repositorios se quedan atrás. Un repositorio atrasado no recibe las políticas nuevas ni las correcciones; si una regla tenía un error, sigue con él. La distribución sana tiene dos tareas: fijar versiones y medir cuántos consumidores van por detrás para empujarlos a actualizar con un plazo.

Cuenta los repositorios que fijan una versión anterior a la 1.4.0.

Responde para continuar

¿Cuántos repositorios fijan una versión del paquete anterior a la 1.4.0?

Ver pista de ayuda

Compara el número de versión de cada comando de `repos/consumo.txt`. Una etiqueta que se mueve no es una versión fija.

Un registro de cambios es útil cuando el número de versión dice la verdad. Una versión menor debería traer funciones nuevas que no rompen a nadie; un cambio que puede frenar despliegues es de otra clase. Si el número no avisa, quien actualiza «solo una menor» recibe un bloqueo que no esperaba.

Lee el registro de cambios y el estado del registro, y localiza la versión que causó el incidente.

Responde para continuar

Escribe la versión del paquete cuyo cambio de comportamiento se publicó sin avisar de la ruptura y rompió a un consumidor.

Ver pista de ayuda

Lee `CHANGELOG.md` y `repos/estado-registro.txt`: la etiqueta que se mueve apunta a esa versión.

Un cambio que endurece una política se publica en dos pasos: primero una versión que trae la regla nueva en auditoría (o con un cambio de versión mayor que avise de la ruptura), un plazo para que los consumidores vean sus hallazgos, y solo después la versión que bloquea. Cada repositorio actualiza cuando está listo, no cuando el autor publica.

Responde para continuar

¿Cómo debe publicarse el endurecimiento de una regla para no sorprender a los consumidores?

Ver pista de ayuda

Busca la que da a los consumidores tiempo para ver sus hallazgos antes del bloqueo.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad