Tag: Devops

10 entradas encontradas

DuckDB and httpfs behind a proxy: the secret nobody tells you

DuckDB and httpfs behind a proxy: the secret nobody tells you

4 min de lectura

The problem: httpfs ignores your environment variables

If you work with DuckDB and the httpfs extension to read remote Parquet files, CSVs from S3, or any HTTP resource, you probably assume that the HTTP_PROXY and HTTPS_PROXY environment variables work just like every other tool. Curl respects them. wget respects them. Python requests respects them. Node.js respects them.

DuckDB does not.

I ran into this while working in a corporate environment with a mandatory proxy. I had a script reading Parquet files from Google Cloud Storage using httpfs, and it simply would not work. No clear error, no descriptive timeout, just silence. Meanwhile, a curl to the same resource with the same environment variables returned data without issue.

DuckDB y httpfs detrás de un proxy: el secreto que nadie te cuenta

DuckDB y httpfs detrás de un proxy: el secreto que nadie te cuenta

4 min de lectura

El problema: httpfs ignora tus variables de entorno

Si trabajas con DuckDB y la extensión httpfs para leer Parquet remotos, CSVs desde S3 o cualquier recurso HTTP, probablemente asumes que las variables de entorno HTTP_PROXY y HTTPS_PROXY funcionan igual que en cualquier otra herramienta. Curl las respeta. wget las respeta. Python requests las respeta. Node.js las respeta.

DuckDB no.

Me he encontrado con esto trabajando en un entorno corporativo con proxy obligatorio. Tenía un script que leía ficheros Parquet desde Google Cloud Storage usando httpfs, y simplemente no funcionaba. Sin error claro, sin timeout descriptivo, solo silencio. Mientras tanto, un curl al mismo recurso con las mismas variables de entorno devolvía los datos sin problema.

Analizando el aislamiento de filesystems en contenedores para cargas multi-tenant

Analizando el aislamiento de filesystems en contenedores para cargas multi-tenant

14 min de lectura

Recientemente me encontré con un análisis técnico excepcionalmente denso sobre seguridad de contenedores que merece la pena ser compartido. El autor empezó con una hipótesis simple: el aislamiento de filesystems de los contenedores debería ser suficiente para cargas de trabajo multi-tenant sin necesidad de máquinas virtuales, si se entiende suficientemente bien qué está pasando a nivel de syscall.

Después de una investigación exhaustiva, la conclusión es más incómoda de lo que esperaba: los valores por defecto te protegen bien, pero en el momento que empiezas a usar características “avanzadas” como la propagación de montajes bidireccional o el reetiquetado de SELinux, estás a un paso de entregarle las llaves de tu host a un atacante.

Analyzing Container Filesystem Isolation for Multi-Tenant Workloads

Analyzing Container Filesystem Isolation for Multi-Tenant Workloads

12 min de lectura

I recently came across an exceptionally dense technical analysis about container security that’s worth sharing. The author started with a simple hypothesis: container filesystem isolation should be sufficient for multi-tenant workloads without virtual machines, if you sufficiently understand what’s happening at the syscall level.

After thorough investigation, the conclusion is more uncomfortable than expected: the defaults protect you well, but the moment you reach for “advanced” features like bidirectional mount propagation or SELinux relabeling, you’re one misconfiguration away from handing an attacker the keys to your host.

NGINX njs ahora soporta QuickJS: Adiós LUA, hola JavaScript moderno

NGINX njs ahora soporta QuickJS: Adiós LUA, hola JavaScript moderno

6 min de lectura

Por fin: JavaScript moderno en NGINX (y podemos olvidarnos de LUA)

Cuando leí el anuncio de NGINX sobre el soporte QuickJS en njs, no pude evitar sonreír. Por fin puedo dejar de luchar con LUA.

Como alguien que ha configurado más servidores NGINX de los que puedo recordar (desde mi época en Arrakis hasta ahora en Carto), siempre me ha molestado la limitación de tener que usar LUA para lógica compleja en NGINX. No es que LUA sea malo, pero… ¿por qué aprender otro lenguaje cuando ya domino JavaScript?

NGINX njs now supports QuickJS: Goodbye LUA, hello modern JavaScript

NGINX njs now supports QuickJS: Goodbye LUA, hello modern JavaScript

6 min de lectura

Finally: Modern JavaScript in NGINX (and we can forget about LUA)

When I read the NGINX announcement about QuickJS support in njs, I couldn’t help but smile. Finally I can stop struggling with LUA.

As someone who has configured more NGINX servers than I can remember (from my time at Arrakis to now at Carto), I’ve always been annoyed by the limitation of having to use LUA for complex logic in NGINX. It’s not that LUA is bad, but… why learn another language when I already master JavaScript?

Moley: el tool que hace que Cloudflare Tunnels sea finalmente usable (y por qué lo necesitábamos)

Moley: el tool que hace que Cloudflare Tunnels sea finalmente usable (y por qué lo necesitábamos)

8 min de lectura

El problema que todos tenemos (pero solucionamos mal)

Como DevOps Manager, paso más tiempo del que debería configurando formas para que el equipo pueda mostrar su trabajo en desarrollo. Demos para clientes, webhooks para testing, APIs temporales para integraciones… siempre necesitamos exponer localhost al mundo.

Las opciones tradicionales son un dolor:

  • ngrok: Funciona, pero URLs feas, límites en el plan gratuito, y cada reinicio genera una URL nueva
  • localtunnel: Inestable, URLs que expiran, y a menudo bloqueado por firewalls corporativos
  • SSH tunneling: Requiere servidores propios, configuración manual, y conocimiento de redes
  • Cloudflare Tunnels manuales: Potente pero… Dios, la configuración manual es infernal

Y entonces descubrí Moley.

Moley: The Tool That Makes Cloudflare Tunnels Finally Usable (and Why We Needed It)

Moley: The Tool That Makes Cloudflare Tunnels Finally Usable (and Why We Needed It)

8 min de lectura

The Problem We All Have (But Solve Poorly)

As a DevOps Manager, I spend more time than I should configuring ways for the team to show their development work. Client demos, webhooks for testing, temporary APIs for integrations… we always need to expose localhost to the world.

Traditional options are a pain:

  • ngrok: Works, but ugly URLs, limits on free plan, and every restart generates a new URL
  • localtunnel: Unstable, URLs that expire, and often blocked by corporate firewalls
  • SSH tunneling: Requires your own servers, manual configuration, and networking knowledge
  • Manual Cloudflare Tunnels: Powerful but… God, the manual configuration is hellish

And then I discovered Moley.

Claude Code Hooks: Automation and Customization of Development Workflows

Claude Code Hooks: Automation and Customization of Development Workflows

6 min de lectura

With the constant evolution of AI-powered development tools, Claude Code has introduced a revolutionary feature: Hooks. This feature allows developers to customize and automate specific behaviors in the Claude Code lifecycle, transforming suggestions into executable code that works deterministically.

Hooks represent a qualitative leap in the customization of AI development tools, allowing each team and developer to adapt Claude Code to their specific needs and project standards.

What are Claude Code Hooks?

Claude Code Hooks are user-defined shell commands that execute automatically at various specific points in the Claude Code lifecycle. Unlike prompting instructions, hooks guarantee that certain actions always occur, providing deterministic control over the tool’s behavior.

Claude Code Hooks: Automatización y Personalización de Workflows de Desarrollo

Claude Code Hooks: Automatización y Personalización de Workflows de Desarrollo

12 min de lectura

Con la evolución constante de las herramientas de desarrollo impulsadas por IA, Claude Code ha introducido una funcionalidad revolucionaria: Hooks. Esta característica permite a los desarrolladores personalizar y automatizar comportamientos específicos en el ciclo de vida de Claude Code, transformando sugerencias en código ejecutable que funciona de manera determinística.

Los hooks representan un salto cualitativo en la personalización de herramientas de IA para desarrollo, permitiendo que cada equipo y desarrollador adapte Claude Code a sus necesidades específicas y estándares de proyecto.