Plantilla para crear la infraestructura usando aws cloudformation de una funcion lambda que es ejecutada usando un regla de expresión cron.
Encontrarás un archivo .env.infra.example que hace referencia a las variables de entorno necesarias para los scripts
de IAC, el contenido es mostrado a continuación, debes copiarlo y pegarlo en un archivo .env.infra y
establecer los valores que te interesen.
PROJECT_NAME="example-lambda"
CRON_EXECUTION_EXPRESSION="*/5 * * * ? *"
TIMEOUT=10
Cada vez que ejecutes alguno de los siguientes scripts estas variables serán leidas y usadas para su ejecución.
Por otro lado, las variables de entorno que necesite tu aplicacion deberan ser establecidas en un archivo llamado
.env.app, cuando el comando sh scripts.sh deploy se ejecute, estas variables seran cargadas en la función lambda, ademas puede
cargarlas en cualquier momento usando el comando sh scripts.sh upload-env.
En el codigo puede encontrar un archivo scripts.sh el cual contiene el codigo necesario para deployar la infraestructura y manipularla
sh scripts.sh setup-infra
Este comando ejecuta un comando del cli de aws para crear el stack de cloudformation.
sh scripts.sh update-infra
En caso de que realice cambios en cloudformation.yaml para que estos se vean reflejados en el stack de aws puede utilizar este comando.
sh scripts.sh delete-infra
sh scripts.sh deploy
Este comando realizará lo siguiente:
- Extraerá todas las dependencias del código para ser empaquetadas en un archivo llamado
package_<latest commit>.zip - Agregará el codigo de
/appen el paquete - Subirá este codigo empaquetado al lambda
- Publicará una nueva version del lambda
- Actualizará el alias prod para que apunte a la ultima versión
sh scripts.sh package <filename>
Crea un archivo comprimido del codigo y sus dependencias con el nombre pasado como ultimo argumento, exportandolo en la raiz del proyecto.
