Recorrer archivos con range sobre .Files.Glob
Generación de ConfigMaps a partir de un directorio de archivos.
Recorrer archivos con range sobre .Files.Glob es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Incluir archivos en un chart
Los charts pueden incluir archivos adicionales junto con los templates. El objeto .Files permite que sus templates lean esos archivos incluidos.
Buscar archivos con Glob
El método .Files.Glob devuelve los archivos cuyas rutas coinciden con un patrón, como todos los archivos de un directorio de configuración.
{{ $files := .Files.Glob "configs/*.conf" }}Recorrer las coincidencias
Combine Glob con range para iterar sobre cada archivo coincidente, obteniendo su ruta y sus bytes sin procesar dentro del bucle.
{{ range $path, $bytes := .Files.Glob "configs/*" }}Generar un ConfigMap
Un uso clásico consiste en crear un ConfigMap cuyas claves de datos sean nombres de archivo y cuyos valores sean el contenido de esos archivos.
El atajo AsConfig
Para ese caso exacto, AsConfig convierte directamente el resultado de un glob en un bloque de datos listo para usar en un ConfigMap.
data: {{ (.Files.Glob "configs/*").AsConfig | nindent 2 }}Secretos con AsSecrets
Su equivalente, AsSecrets, codifica cada archivo en Base64 para que el resultado de un glob pueda rellenar un recurso Secret.
data: {{ (.Files.Glob "secret/*").AsSecrets | nindent 2 }}Usar el nombre base
Dentro de un bucle, a menudo solo querrá el nombre del archivo como clave, así que aplique la función base para eliminar la parte del directorio.
{{ base $path }}: |Leer el contenido de cada archivo
La variable del bucle contiene bytes sin procesar, así que pásela por toString o nindent para colocar el contenido correctamente bajo su clave.
{{ $content | toString | nindent 4 }}Los patrones Glob son relativos
Los patrones Glob se resuelven desde la raíz del chart y omiten los archivos ocultos, así que mantenga los recursos incluidos en carpetas con nombres claros.
Mantener la salida válida
La indentación es importante: use nindent para cada bloque, de modo que las claves y los cuerpos generados queden anidados correctamente bajo data.
Leer un solo archivo
Cuando necesite un solo archivo en lugar de un conjunto, .Files.Get devuelve directamente su contenido, sin necesidad de ningún bucle.
{{ .Files.Get "configs/app.conf" }}Comprobación rápida
Comprobación rápida de la búsqueda de archivos con glob.
Resumen
Ha aprendido a seleccionar archivos incluidos con .Files.Glob, recorrerlos con range y generar ConfigMaps mediante AsConfig o AsSecrets. 🎉
Preguntas frecuentes
¿La lección «Recorrer archivos con range sobre .Files.Glob» es gratis?
Sí — el texto completo de «Recorrer archivos con range sobre .Files.Glob» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Recorrer archivos con range sobre .Files.Glob»?
Generación de ConfigMaps a partir de un directorio de archivos. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Recorrer archivos con range sobre .Files.Glob»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fusión profunda con mergeOverwrite y dict
- tpl: renderizar cadenas a partir de valores
- Recorrer archivos con range sobre .Files.Glob
- fail y validaciones personalizadas