A todos nos encanta el sistema de control de versiones git. Tanto a nivel local como a nivel público en GitHub es una maravilla; lo que no me gusta tanto es el precio que suelen tener las soluciones privadas. Sin embargo, y con un poco de habilidad, podemos encontrar alternativas.
Los gurús del terminal ya conocemos muchas de las virtudes de bash. Sin embargo, es una utilidad muy grande y no es raro que cada vez que busquemos encontremos cosas nuevas. Esta vez, y casi por curiosidad, encontré una variable llamada PROMPT_COMMAND, que aunque no es conocida, es muy útil.
A veces tenemos la necesidad de exponer en internet algún puerto TCP de forma temporal, para hacer testing o alguna demo. Ya vimos como podemos hacer esto mediante túneles SSH reversos, aunque no siempre disponemos de un dominio público. En estos casos podemos usar un sistema de túneles llamado ngrok.
Vimos en un artículo anterior como trabajar con herramientas para agregar los logs en un mismo servidor, para su consulta. Algunos formatos de logs necesitan complejas formas de parseado para que puedan servir de base para nuestra consulta, y en el caso de logstash nos conviene un formato JSON válido.
Ya vimos en otro artículo como restringir los accesos a una web usando certificados SSL. Sin embargo, la generación de los mismos era un poco confusa. Sin embargo, existe una herramienta llamada easyrsa que nos permite generar peticiones de forma fácil, firmarlas con nuestra CA y obtener el producto final.
Hacía tiempo que esperaba ansiosamente la nueva versión de docker. La raíz de tanta expectación son las mejoras que la versión candidata anunciaba, especialmente el nuevo modelo de build. Se ha modificado los Dockerfile para que puedan generar varias imágenes en un solo fichero, algunas de ellas partiendo de otras.
Ya sabéis que me gusta mucho el lenguaje python. Muchos de mis ejemplos y algunas aplicaciones simples no merecen el uso de un framework tan grande como pueda ser django. Para estos casos me encantan los microframeworks, y aunque hay varias alternativas disponibles, me gusta especialmente un microframework llamado bottle.
Cuando construimos imágenes docker, muchas veces no somos conscientes del poder de la caché integrada. Si reordenamos algunas instrucciones y aplicamos algún truco, podemos evitarnos el hecho de reconstruir muchas de esas capas, llegando a reducir el tiempo de rebuild a prácticamente cero, siempre y cuando no hayan grandes cambios.
El otro día estaba haciendo un script de python que debía ejecutarse en un contenedor docker. A pesar de la cantidad de verbose que le puse, no era capaz de ver ningún texto cuando miraba los logs. Tras mucha búsqueda, finalmente encontré el culpable en la variable de entorno PYTHONUNBUFFERED.
El otro día me topé con un desarrollador que quiere desplegar sus contenedores Docker en el servidor de integración, pero no conoce la sintaxis del comando docker y prefiere una interfaz gráfica. Eso me llevó a investigar, buscando una opción bonita, funcional y ligera; al final, me topé con Portainer.
«« « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 » »»