Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crissalvarezh/aws-lambda-iac-template
Example of a lambda function deploy using AWS CloudFormation and AWS CLI
https://github.com/crissalvarezh/aws-lambda-iac-template
aws-cli aws-cloudformation aws-lambda infraestructure-as-a-code
Last synced: 17 days ago
JSON representation
Example of a lambda function deploy using AWS CloudFormation and AWS CLI
- Host: GitHub
- URL: https://github.com/crissalvarezh/aws-lambda-iac-template
- Owner: CrissAlvarezH
- Created: 2024-05-30T18:39:56.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-06T22:46:32.000Z (8 months ago)
- Last Synced: 2024-06-07T00:57:54.216Z (8 months ago)
- Topics: aws-cli, aws-cloudformation, aws-lambda, infraestructure-as-a-code
- Language: Shell
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Descripción
Plantilla para crear la infraestructura usando aws cloudformation de una funcion lambda que es ejecutada usando un regla de expresión cron.# Variables de entorno
## Variables de infraestructura
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.## Variables de aplicació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`.# Scripts
En el codigo puede encontrar un archivo `scripts.sh` el cual contiene el codigo necesario para deployar la infraestructura y manipularla### Setup de la infraestructura
`sh scripts.sh setup-infra`
Este comando ejecuta un comando del `cli` de aws para crear el stack de cloudformation.
### Actualizar infraestructura
`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.
### Eliminar infraestructura
`sh scripts.sh delete-infra`
### Desplegar aplicación
`sh scripts.sh deploy`
Este comando realizará lo siguiente:
1. Extraerá todas las dependencias del código para ser empaquetadas en un archivo llamado `package_.zip`
2. Agregará el codigo de `/app` en el paquete
3. Subirá este codigo empaquetado al lambda
4. Publicará una nueva version del lambda
5. Actualizará el alias **prod** para que apunte a la ultima versión### Empaquetar aplicación
`sh scripts.sh package `
Crea un archivo comprimido del codigo y sus dependencias con el nombre pasado como ultimo argumento, exportandolo en la raiz del proyecto.