MySQL 5.7 extended support program y el impacto en la factura!

logo de aws cloud

Me gusta esta táctica de AWS. “No queréis actualizar MySQL a 8.X?, ok, vosotros mismos.” BAM ! Golpe de remo! Y vaya si actualizas. Gracias a una alerta que se configura en la parte de “Billing and Cost Management” recibí un email alertándome del problema. Recordatorio de que esto es bastante útil, si no quieres […]

CloudFront da error 502 cuando renuevo el certificado SSL en Nginx

logo de aws cloud

Mi certificado SSL tenía que ser renovado y en principio es una tarea simple. Bajar el certificado root, el intermedio, crear un bundle y configurar Nginx. Pero esta vez pasó algo. Descargo los certificados y claves, cambio la configuración de Nginx apuntando a los nuevos ficheros. Lanzo el despliegue, Nginx me dice que “ok” porque […]

Cómo resolver conflictos con Git por consola

git hub logo

El escenario es: hemos hecho una Pull Requests en Github y mientras esperamos que se la miren, otro compañero ha hecho su Pull Requests, ha mergeado y ahora, en la nuestra vemos lo siguiente. Un bonito conflicto a resolver. Lo podemos hacer de dos maneras, o resolverlo a mano en Github o via nuestra terminal. […]

Cómo encriptar una instancia AWS RDS

logo de aws cloud

Después de instalar y configurar SecurityHub uno de sus controles nos dice lo siguiente: RDS.3 RDS DB instances should have encryption at-rest enabled https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#rds-3-remediation ¿Hemos configurado previamente nuestra RDS con encriptación automática? Vamos a ver Evidentemente, no lo hemos hecho! Para poder contentar a SecurityHub y mejorar nuestra puntuación no nos queda otra que encriptar […]

Cómo arreglar archivos estáticos de Swagger-UI en Flask-Apispec

Otro error con el que me he encontrado recientemente, mientras experimento con Flask, ha sido este pequeño bug con flask-apispec. Encontré un tutorial para añadir Swagger a Flask y de esa manera documentar automáticamente toda la API. Más abajo pongo el tutorial en un link. Si accedía a la url localhost:5000/swagger todo funcionaba según lo […]

Como arreglar “listen tcp 0.0.0.0:5000: bind: address already in use” en mac OS Monterey

logo of mac osx

Esto me ha pasado justo después de recibir un nuevo equipo, un MacBook Pro 2019 con sistema operativo Monterey. Hasta ahora estaba desarrollando en local una API en Flask que lanzaba con este comando: Cuando de repente, la terminal me responde que nanai: Insertar WTF aquí Miro los puertos del equipo y efectivamente, hay alguien […]

sqlalchemy.exc.OperationalError: Insert Into Values

Estoy usando Alembic con Python para hacer las migraciones de esquemas, crear las bases de datos, etc. También quiero añadir algunos datos a las columnas para testear la API in este punto del desarrollo. Haciendo esto me encontré con un fallo tonto, de esos debidos a que hace mucho que no utilizas algo. Añado la […]

Como borrar recursos de Terraform usando Terraform state

terraform logo

Últimamente me he puesto a añadir cosas y cosas y cosas que tenía pendiente en el Terraform personal y, en algún momento, me he encontrado con algún error que me impedía ejecutar bien un “terraform plan”. Las pruebas que hago son por ejemplo borrar el .terraform local y hacer un terraform init, pero sin éxito. […]

AWS Organizations con Terraform. Mejores prácticas y SCPs

logo de aws cloud

Iba siendo hora de aplicar ya un poco de “best practices” a esta la cuenta de un servidor. El primer paso antes de raelizar cualquier otro cambio, era aplicar AWS Organizations. Qué es AWS Organizations te preguntarás? JE, buena pregunta. AWS Organizations 101 AWS Organizations es un servicio adminstrado de cuentas que te permite consolidar […]

Habilitar HTTPS en WordPress local con Docker

wordpress logo azul

Por ciertos motivos, he necesitado estos días poder tener un entorno local con WordPress. Y uno de los requisitos que necesitaba era habilitar HTTPS. Vamos a ver como se podría hacer (se puede hacer de muchas formas, lógicamente). La configuración de carpetas para montar este esquema ha sido esta: Al ser entorno local utilicé Docker […]