Migrando de Docker Registry a Artifact Registry

Google Cloud está haciendo cambios en uno de los componentes donde guardamos nuestras imágenes de contenedores. En este caso es la migración de Docker Registry (desaparecerá el 15/05/2024) y por lo tanto debemos mover nuestras imágenes cuanto antes y usar el nuevo servicio llamado Artifact Registry.

Recordad que todo va asociado a un ID de proyecto, en mi caso será el siguiente:

  • securing-con-361-dfb259a2
Leer más

Expresiones regulares de NGINX

Hace poco me he encontrado con un problema en las redirecciones de NGINX la cual me hacía un bucle en una de las configuraciones.

Estas configuraciones son usadas por SEO para no dejar enlaces huérfanos o redirigir hacia alguna parte de la web por posicionamiento.

Pues bien no entendía bien lo que pasaba hasta que empecé a indagar un poco en la configuración.

Leer más

Actualizando Ramas con Master en GIT

En este artículo vamos a explicar como actualizar nuestras ramas de GIT con la rama Master. Dicha rama se entiende que está el código validado en todo momento y debemos estar sincronizada con ella.

El motivo por el cual debemos estar sincronizadas es que las ramas terminando siendo parte de Master y lo que indica que a veces pueden existir conflictos que se tienen que resolver.

Si tenemos la rama lo más cercana a Master estos conflictos serán pocos o inexistentes y podemos hacer las cosas de manera mucho más ágil.

Leer más

Usando Tags en GIT

Hoy en día el trabajo de DEVOPS está muy de moda y se suele usar GIT. Para las personas que venimos de sistemas puros y no solemos trabajar con repositorios pues nos puede costar un poco más.

Es por ello que he creado este post de ayuda que nos servirá para desenvolvernos poco a poco en estos entornos.

Iré creando unos cuantos pequeños artículos para tenerlos todos a mano.

Leer más

Configurando notificaciones email en Icinga2

Revisando uno de los Icinga2 que tengo configurado me di cuenta de que no llegaban las notificaciones correctamente y no entendía lo que ocurría.

Por lo tanto me puse a revisar cada una de las configuraciones hasta que di con la solución de ello.

Vamos a tener en cuenta 2 supuestos casos:

  1. Configuraciones sin ser un servidor maestro (standalone)
  2. Configuraciones siendo el servidor maestro (clientes de Icinga reportan a este servidor)
Leer más

Monitorizar HTTP o URL con Icinga2

El objetivo de esta guía es la de poder realizar monitorizaciones que sean reportadas de manera correcta al apartado de Icinga2 Web. Es bastante confusa la documentación que existe por Internet así que quise hacer un POST bastante claro con la explicación.

Vamos a explorar dos maneras de hacerlo:

  1. Módulo check_http
  2. Módulo WebInject

Debemos tener en cuenta que el servicio está montado como un servidor master (donde llegan los chequeos) y los clientes que son los que reportan a este.

Leer más

Arrancar con un script custom – VM Google Cloud

Introducción

Un día estuve trasteando un poco en una máquina virtual del cloud de Google y dejé una configuración mal hecha. Al reiniciar la máquina no se iniciaba correctamente y es cuando empezaron los sudores fríos (jajajaja). Dije oh no ¿Me tocará volver a instalar o tengo alguna forma de consola?

Como sabéis google permite tener una consola, pero para ello debemos tener permisos. Pero en mi caso, no tenía la posibilidad de consola.

Pues bien lo que hice fue indagar un poco y descubrí que con google podemos realizar comandos a la hora de iniciar la máquina y eso me ayudó bastante.

Solución

Elegir la máquina virtual > Editar

Aquí encontramos el Kit de la cuestión y hay dos claves de metadatos que nos ayudarán

  • startup-script: Conjunto de comandos BASH o no BASH que se guardan en el propio servidor y con un límite de 256 KB.
  • startup-script-url: Conjunto de comandos BASH o no BASH que se guardan en Cloud Storage y con un límite de 256 KB.

Aquí debemos elegir el método que mejor nos convenga, en mi caso usé startup-script, ya que era algo puntual para solventar el problema.

EJEMPLO DE COMANDOS EN EL CAMPO VALOR

#! /bin/bash
apt update
apt -y install apache2
cat <<EOF > /var/www/html/index.html
<html><body><p>Linux startup script from a local file.</p></body></html>

Algo importante a tener en cuenta es que una vez solventemos el problema, quitemos lo que hemos añadido. No vaya a ser que al próximo reinicio la podamos liar jaja.

Si queréis saber más sobre el tema, Ver documentación de Google sobre startup-script.

Icinga2 – No encuentra la tabla rememberme

Introducción

Antes de empezar hablar sobre el problema vamos a indicar el software del servidor:

  • Ubuntu 20.04
  • Icinga2 (2.13.1-1)
  • Icingaweb2 (2.9.3-1)

Esas son las versiones finales en las que quedó el servidor cuando procedí a actualizarlo. Una vez que lo hice todo estaba funcionando correctamente. Al día siguiente (tenía mis credenciales guardadas automáticamente) me saltó un error de que no encontraba la tabla «rememberme».

Me imaginé, por el nombre de la tabla, que tendría que ver con la parte de logarte automáticamente así que investigué un poco hasta encontrar la solución.

Leer más

Backup en PostgreSQL + Optimizaciones

Introducción

La verdad que nunca había trabajado con bases de datos PostgreSQL y he empezado relativamente hace poco por necesidades del trabajo. Pues bien en este caso nos vamos a centrar en una problemática que nos ha pasado y es realizar backup + restore.

Os preguntaréis, ¿Por qué tienes problemas al hacerlo? pues bien el problema viene dado porque si es una base de datos grande se puede llevar horas o día el proceso. Por lo tanto en mi cabeza lo primero que pasó fue un ¿Se puede optimizar los tiempos? ¿Cuál es la mejor manera de hacerlo? etc…

Así que en este artículo nos vamos a centrar en los distintos métodos que existen para realizar los backups y además optimizaciones siempre que se pueda.

Leer más

HAPROXY+Apache = Obtener IP Real

Introducción

Tenemos una plataforma montada de la siguiente manera:

INTERNET <-> HAPROXY <-> APACHE

Cuando una persona accede a la plataforma y revisamos los logs de APACHE vemos que nos está llegando la IP del balanceador. Lo que queremos es que llegue directamente la IP de la persona que se conecta.

Por lo tanto nuestro objetivo es que en APACHE llegue la IP pública que accede a nuestra plataforma/portal.

Si quieres ver el otro post de HAPROXY+NGINX = Obtener IP Real.

Leer más