genericsuite-be-scripts
Version:
GenericSuite Scripts (backend version)
516 lines (359 loc) • 28.3 kB
Markdown
# CHANGELOG
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Changelog](http://keepachangelog.com/).
## [Unreleased]
### Added
### Changed
### Fixed
### Removed
### Security
## [1.3.0] - 2026-02-18
### Added
- Sync Dependencies module ("scripts/dependency-sync") to sync python dependencies in a Dockerfile from GenericSuite monorepo backend directories ("./server" and "./mcp-server" with a "pyproject.toml" file) [GS-243].
- "scripts/run_mcp_server.sh" to standardize the MCP server bash script [GS-243].
- Postgres database support [GS-194].
- Makes for Postgres:
```
make generate_postgres_dev_sql
make create_postgres_dev_tables
make generate_cf_postgres
make deploy_postgres
```
- MySQL database support [GS-249].
- Makes for MySQL:
```
make generate_mysql_dev_sql
make create_mysql_dev_tables
make generate_cf_mysql
make deploy_mysql
```
- "make create-supad" to create the initial super admin user (supad) for local development environment [GS-125].
- Field types h1 to h6 to JSON files [GS-250].
- Validation for BACKEND_LOCAL_PORT and BACKEND_DEBUG_LOCAL_PORT to be different on the "secure_local_server/run.sh" script.
- Ports and local database UI managers documentation in "scripts/local_db/local_db_stack.yml" [GS-249] [GS-194].
- Zip option to AWS lambda deployment [GS-248].
- AWS_LAMBDA_DEPLOYMENT_TYPE envvar to select the deployment type for AWS Lambda functions ("zip" or "container", default "container"). If the project includes GS BE AI, it cannot be "zip" due to AWS Lambda zip file size limit of 250 MB max [GS-248].
- CICD envvar to "big_lambdas_manager.sh" to avoid asking for confirmation on several steps and run it non-interactively [GS-248].
- USE_EXISTING_ZIP envvar to "big_lambdas_manager.sh" to use an existing zip file instead of building a new one [GS-248].
- PATH_TO_SAVE_OPENAPI envvar to "run_aws.sh" to save the OpenAPI schema files [GS-245].
- Implement Cloudflare Tunnel to allow https access to local development environment without Docker/local DNS and make localhost public for testing purposes, e.g. to access the PC camera (no port forwarding needed) [GS-257].
- Add USE_CONTAINERS_ENGINE_APP envvar to turn on/off use containers engine app for local development environment when RUN_PROTOCOL="https" [GS-257].
- Add RUN_PROTOCOL_AND_PORT_REPLACEMENT envvar to turn on/off automatic protocol and port replacement for local development environment variables APP_CORS_ORIGIN (assigned from APP_CORS_ORIGIN_{STAGE}), APP_FE_URL (assigned from APP_FE_URL_{STAGE}), and REACT_APP_API_URL (assigned from APP_API_URL_{STAGE}), depending on RUN_PROTOCOL value [GS-257].
- Configure uvicorn to process proxy headers and forwarded IPs in the `run_aws.sh` script [GS-37].
### Changed
- Allow merge ".env" files between GenericSuite monorepo backends ("./server" and "./mcp-server"), rename APP_MAIN_FILE and APP_DIR envvars to MCP_APP_MAIN_FILE_DEV and MCP_APP_DIR_DEV in run_mcp_server.sh [GS-243].
- Rename APP_DB_ENGINE values "MONGO_DB" and "DYNAMO_DB" to "MONGODB" and "DYNAMODB" [GS-194].
- Profiles added to "local_db_stack.yml" so only the selected APP_DB_ENGINE is enabled [GS-194].
- Remove all "link", "depends_on" and "healthcheck" sections in "local_db_stack.yml" to make it compatible with Podman [GS-215] [GS-194].
- STORAGE_URL_SEED envvar is only required when STORAGE_URL_ENCRYPTION is set to 1 in "run_aws.sh" and "set_chalice_cnf.sh" [GS-72].
- Rename "mongo" and "postgres" folders to more appropriate names, as they are now used for several databases: "mongo" is now "local_db", including local Docker containers for MongoDB, DynamoDB, Postgres, and MySQL. "postgres" is now "sql_db" because it works for Postgres and MySQL. [GS-249]:
```
/postgres -> /sql_db
/postgres/generate_postgres_cf -> /sql_db/generate_sql_db_cf
/postgres/generate_postgres_cf/run-postgres-deploy.sh -> /sql_db/generate_sql_db_cf/run_sql_db_deploy.sh
/mongo/run_mongo_docker.sh -> /local_db/run_local_db_docker.sh
/mongo/mongodb_stack_for_test.yml -> /local_db/local_db_stack.yml
make mongo_docker -> make local-db-up
make mongo_docker_down -> make local-db-down
make mongo_logs -> make local-db-logs
set_chalice_cnf.sh mongo_docker -> set_chalice_cnf.sh local_db_docker
```
- Rename HUGGINGFACE_TEXT_TO_IMAGE_ENDPOINT to HUGGINGFACE_DEFAULT_CHAT_MODEL [GS-59].
- Pump up Python version to 3.12 on Big Lambdas Amazon Linux deployment, EC2 ELB deployment and local server Dockerfiles [GS-248].
- Big Lambda python version 3.11 Dockerfile is on the "Dockerfile-big-lambda-AL2-python3.11" file [GS-248].
- Add "v1" to endpoints defined in "aws_big_lambda/template-sam-endpoint-entry.yml" [GS-245].
- Add additional debug to "run-cf-deployment.sh" and "aws_secrets_manager.sh" [GS-248].
- Rename "dns/docker-compose.yml" to "dns/docker-compose-template.yml" [GS-215].
- Due to the "fastmcp" and "mcp" dependencies removal, run_mcp_server.sh now verifies if both are installed [GS-248].
- Upgrade Lambda runtime to Python 3.12, update API Gateway to OpenAPI 3.0.1 with CORS, and refactor endpoint definitions in "aws_big_lambda/template-sam.yml" [GS-245].
### Fixed
- Comment out cleanup commands in "run_aws.sh" to prevent accidental deletion of important files during the clean operation.
- Rename CONTAINER_ENGINE with CONTAINERS_ENGINE [GS-215].
- Fix "secure_local_server/run.sh" to run secure local server with Podman by creating a named volume to mount configuration files in the nginx container "/etc/nginx/conf.d" directory which is read-only and Podman does not allow to mount read-only directories the same way Docker does. Now GS is compatible with Podman [GS-215].
- Local_dns works with Podman [GS-215].
- APP_VERSION removed from CORE_ENVS in "aws_secrets/aws_secrets_manager.sh" separated from the rest of the environment variables that are pushed to AWS Secrets Manager and included in the AWS Lambda Function CloudFormation template "aws_big_lambda/template-sam.yml".
### Security
- All "requirements.txt" files are now ignored and recreated on demand to avoid vulnerability reposts and have the latest dependencies [GS-219].
## [1.2.0] - 2025-11-17
### Added
- Add "uv" and "poetry" Python package and dependency management tools [GS-77].
- Add PEM_TOOL envvar to select the Python package and dependency management tool (uv, pipenv, and poetry), default to "uv" [GS-77].
- Add AUTO_RELOAD envvar to fix some issues with the "--auto-reload" / "--reload" option running the app in "run_aws.sh", Turborepo and "uv", default to "1" [GS-77].
- Add Linux compatibility: replace "sh" by "bash" in Makefile and package.json files to run on Linux [GS-230].
- Add "make update" and "make update_dev" to update the dependencies.
### Changed
- Update: increment Node.js version in .nvmrc to 20.
- Modify author email in package.json.
- Enhance README for license and credits clarity.
- Update CHANGELOG format to be more semantic.
- Change: update MongoDB service restart policy from 'always' to 'unless-stopped' in the test stack configuration.
- Change "make install" and "make install_dev" to call "sh node_modules/genericsuite-be-scripts/scripts/run_pem.sh install" and "sh node_modules/genericsuite-be-scripts/scripts/run_pem.sh install_dev" respectively
### Fixed
- Change "make install" and "make install_dev" so "npm install" is called before "sh node_modules/genericsuite-be-scripts/scripts/run_pem.sh" to install the GS BE Scripts and avoid the error "Error: Cannot find module 'genericsuite-be-scripts' [GS-77].
- Fix "change_local_ip_for_dev.sh" adding parameter $2 & $3 checks to avoid overwriting BACKEND_LOCAL_PORT and FRONTEND_LOCAL_PORT envvars [GS-230].
## [1.0.14] - 2025-07-08
### Added
- Add the "link_gs_libs_for_dev.sh" script to link LOCAL GenericSuite libraries and trigger the uvicorn/gunicorn reload without need to run "pipenv update". Add to the Makefile and run with `make link_gs_libs` [FA-84].
- Add the BASE_DEVELOPMENT_PATH envvar to specify the GS base development path (parent directory of genericsuite-be* repos) to enable "make link_gs_libs_for_dev" [FA-84].
- Add the SAM_BUILD_CONTAINER envvar to force "sam build --use-container --debug" when "make deploy_run_local_qa" is executed [GS-87].
- Add the "mkcert" method to enhance the self-signed SSL certificates creation for the local development environment using "https" (previously it was using "office-addin-dev-certs" by default) [GS-198].
- Add the SSL_CERT_GEN_METHOD envvar to select the SSL certificate generation method [GS-198].
- Add restart option to "secure_local_server/run.sh", so the backend dev container should not be rebuilt if it's not necesaty [GS-198].
- Add error and access logs to the secure_local_server nginx [GS-198].
- Add GOOGLE_MAPS_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, AIMLAPI_API_KEY, NVIDIA_API_KEY, RHYMES_CHAT_API_KEY, RHYMES_VIDEO_API_KEY, IBM_WATSONX_API_KEY, IBM_WATSONX_PROJECT_ID, OPENROUTER_API_KEY, XAI_API_KEY, TOGETHER_API_KEY to the EXTENSION_SECRETS envvar in aws_secrets_manager.sh [GS-198].
- Implement RUN_PROTOCOL envvar to have the http/https protocol automatically on app local running, no user intervention, as part of the Turborepo initiative [GS-188].
- Implement Podman as an alternative to Docker [GS-215].
- Add CONTAINERS_ENGINE and OPEN_CONTAINERS_ENGINE_APP envvars to GenericSuite BE Core [GS-215].
- Add configurable backend ports using the envvar BACKEND_LOCAL_PORT and BACKEND_DEBUG_LOCAL_PORT to the "sls" (secure local server) [GS-137].
- Add "check_if_engine_is_running" to container_engine_manager.sh, to check if Docker/Podman engine is running [GS-215].
- Add "make lock" and "make npm_lock" [FA-84] [GS-15].
### Changed
- Rename "make lock_pip_file" to "make requirements" [FA-84] [GS-15].
- "run_aws.sh" validates that CURRENT_FRAMEWORK is Chalice for "run", "deploy", "create_stack", "describe_stack", "delete_app", "delete_stack" commands, and runs "set_chalice_cnf.sh" for all those commands when it's Chalice [GS-15].
### Fixed
- Fix poetry 2.x "The option --no-update does not exist" error message [FA-84].
- Fix error with the "Bottleneck" dependency building https dev environment (sls-backend) due to missing "gcc" in the "python:3.11-slim" image [GS-197].
- Fix the GenericSuite dependencies verification in "big_lambdas_manager.sh" to abort the execution if there are local dependencies [FA-169].
- Fix missing "g++" running docker build in "big_lambdas_manager.sh", adding "RUN yum -y groupinstall 'Development Tools'" to the "Dockerfile-big-lambda-AL2" [FA-169].
- Fix the error "The image manifest, config or layer media type for the source image xx.dkr.ecr.us-east-1.amazonaws.com/xxx:version is not supported" running docker build in "big_lambdas_manager.sh", adding `--provenance=false` to stop BuiltKit from generating said manifest [FA-169].
- Fix the "net:ERR_CERT_AUTHORITY_INVALID" error in GenericSuite FE/BE using the https protocol [GS-198].
- Fix TMP_BUILD_DIR assignment in dynamodb deploy script.
- Fix "run_aws.sh" to assign the correct AWS Stack Name and avoid the error "An error occurred (ValidationError) when calling the DescribeStacks operation: 1 validation error detected: Value '${APP_NAME_LOWERCASE}-be-stack' at 'stackName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9]*|arn:[-a-zA-Z0-9:/._+]*" [GS-137].
- Fix ".chalice/config_example.json" to remove the API_GATEWAY_STAGE_placeholder from the "api_gateway_stage" attribute and assign the correct value, and remove unused attributes in the QA stage [FA-248].
- Prevent stop containers on in secure_local_server/run.sh when docker is not running (using the new "check_if_engine_is_running" option).
- Prevent loading docker on "down" action in secure_local_server/run.sh.
- Replace "stop_local_ngnx" with "stop_local_nginx" in get_domain_name_dev.sh and run_aws.sh.
## [1.0.13] - 2025-02-18
### Changed
- The "--loglevel debug" option were added to the gunicorn server for Generic Endpoint Builder for Flask [GS-15].
### Fixed
- Fix flask run with gunicorn when local machine is running a VPN, getting the local IP address, which is the first one reported by the "ifconfig" command [GS-15]
## [1.0.12] - 2024-10-07
### Added
- Add ".nvmrc" file to set the repo default node version.
- Add DynamoDB database running along with MongoDB in a docker container when running the App in the "dev" stage [GS-102].
- Add local DynamoDB tables generation in "generate_dynamodb_cf.py" [GS-102].
- Add DynamoDB docker container to "mongodb_stack_for_test.yml" [GS-102].
- Add DynamoDB local workbench manager (taydy/dynamodb-manager) to the "mongodb_stack_for_test.yml" [GS-102].
- Add DYNAMDB_PREFIX envvar to the "run_aws.sh" script with the value "${APP_NAME_LOWERCASE}_${STAGE}_" [GS-102].
- Add GS_LOCAL_ENVIR envvar to detect a local database running in a docker container [GS-102].
- Add "run_mongo_docker.sh" runs "generate_dynamodb_cf.sh create_tables dev" to create the DynamoDB tables in the local Docker container [GS-102].
- Add "/users/current_user_d" endpoint [GS-2].
### Changed
- Make DynamoDb tables with prefix work with the GS DB Abstraction [GS-102].
- Makefile "mongo_docker" runs the MongoDB and DynamoDB docker containers without calling "make run" by default [GS-102].
### Fixed
- Fix error in "run_mongo_docker.sh" starting containers when Docker Desktop is not running [GS-102].
## [1.0.11] - 2024-07-19
### Added
- Add EC2+ALB App deployment using AWS CloudFormation (EBS volume encryption postponed) [GS-96].
- Add password and API Keys to AWS Secrets using AWS CloudFormation [GS-41].
- Add DynamoDB tables creation from the JSON configs using AWS CloudFormation [GS-84].
- Add "scripts/aws_dynamodb/generate_dynamodb_cf/generate_dynamodb_cf.py" and its ".sh" to generate the "cf-template-dynamodb.yml" file in the project's scripts directory [GS-84].
- Add "scripts/aws_dynamodb/run-dynamodb-deploy.sh" to deploy generated "cf-template-dynamodb.yml" [GS-84].
- Add GET_SECRETS_ENABLED to enable/disable cloud secrets manager [GS-41].
- Add GET_SECRETS_CRITICAL and GET_SECRETS_ENVVARS envvars to fine-grained disabling of cloud secrets manager for critical secrets and plain envvars [GS-41].
- Add aws_secrets to Makefile to deploy envvars to the AWS Secrets manager [GS-41].
- Add depLoy_ec2 to Makefile [GS-96].
- Add deploy_ecr_creation to Makefile to build the FastAPI docker image [GS-96].
- Add: generate_cf_dynamodb and deploy_dynamodb to Makefile [GS-84].
- Add "scripts/aws_cf_processor/run-cf-deployment.sh" to standarize all Cloudformation calls [GS-96].
- Add "run-cf-deployment.sh" enhanced to simulate the EC2 + ALB in AWS LocalStack [GS-97].
- Add Secret and KMS access policies to the "template-sam.yml" file [GS-41].
- Add "scripts/aws_cf_processor/test_localstack.sh" to test localstack EC2 functionality with the LOCALSTACK_AUTH_TOKEN envvar [GS-97].
- Add LOCAL_DNS_DISABLED and BRIDGE_PROXY_DISABLED envvars to disable local services working on the road.
- Add NGROK_ENABLED envvar to enable/disable Ngrok service in the URL_MASK_EXTERNAL_HOSTNAME and DEV_MASK_EXT_HOSTNAME assignments on "scripts/get_domain_name_dev.sh".
### Changed
- Change APP_STAGE dynamic assignment in run_aws.sh, set_chalice_cnf.sh, and big_lambdas_manager.sh, and secure_local_server/docker_entrypoint.sh [GS-41].
- __pycache__ removal simplified in big_lambdas_manager.sh [GS-96].
- APP_DB_URI and the secrets assignment removed in big_lambdas_manager.sh, docker-compose-big-lambda-AL2.yml, docker-compose-big-lambda-Alpine.yml [GS-41].
- Remove all envvars from "template-sam.yml" [GS-96].
- Change: set APP_DB_URI when GET_SECRETS_ENABLED=0 or GET_SECRETS_CRITICAL=0 in "run_aws.sh" [GS-41].
- Change "scripts/aws/update_additional_envvars.sh" to be called from both "scripts/aws_secrets/aws_secrets_manager.sh" and "scripts/aws/set_chalice_cnf.sh", conditioning the config file variables replacement when 1st parameter (CONFIG_FILE) is passed, and setting the App specific secrets list (separated by blanks) in a export APP_SECRETS="..." used by the aws_secrets_manager [GS-41].
- Check the CLOUD_PROVIDER variable in big_lambdas_manager.sh and avoid execution if not set.
### Fixed
- Fix 'USER_AGENT environment variable not set...' LangSmith warning message removed in run_aws.sh, big_lambdas_manager.sh, aws_big_lambda/template-sam.yml, and secure_local_server/docker_entrypoint.sh.
- Fix issue reporting the "_placeholder" missing parameter in the SAM template in verify_base_names() of big_lambdas_manager.sh.
- Fix API_GATEWAY_PORT report in pre-process summary in big_lambdas_manager.sh.
- Fix replace the fixed "us-east-1" region by $AWS_REGION on the AWS_DOCKER_IMAGE_URI_BASE assignment in big_lambdas_manager.sh.
## [1.0.10] - 2024-06-07
### Added
- Add "verify_base_names()" to "big_lambdas_manager.sh", to check mandatory env. vars. to have the "*_placeholder" in the SAM template.yml before deployment.
- Add "clean_ecr_images.sh" to keep only 2 AWS ECR images for each App/Stage [GS-80].
- Add DynamoDB tables creation from the JSON configs to the SAM template [GS-84].
- Add "sam_run_local" to big lambdas to test the API Gateway and Lambda function with SAM local.
### Changed
- Enhance "secure_local_server/run.sh" to resume the sls-backend docker image logs if it's already running (avoiding reinstall all dependecies), and also allows to have the local GE BE and BE AI repos for faster development.
- Standarize BACKEND_LOCAL_PORT and FRONTEND_LOCAL_PORT env. vars.
- Ignore the ".chalice/deployment/deployment.zip" file in big lambdas.
### Fixed
- Fix the "/var/scripts/get_domain_name.sh not found" error running the development backend environment over https.
- Fix error "cp: /tmp/sls/nginx.conf.tmp: No such file or directory" running the app over https.
## [1.0.9] - 2024-05-17
### Added
- Add "set_app_dir_and_main_file.sh" to load the ".env" file and set APP_DIR, APP_MAIN_FILE and APP_HANDLER environment variables with the Python entry point for uvicorn and gunicorn [FA-248].
- Add ".npmignore" to the ".chalice" and "scripts/aws_big_lambda" directories [FA-258].
- Add "get_domain_name_dev.sh" to support mask the S3 URL and avoid AWS over-billing attacks [GS-72].
- Add STORAGE_URL_SEED and APP_HOST_NAME env. vars. to ".env.example", big lambda deployment, run_aws, secure_local_server and Chalice config [GS-72].
- Add "run_generate_seed.sh" and "generate_seed.py" to suggest the STORAGE_URL_SEED value.
- Add "show_date_time.sh" to replace the repetitive code to show current date/time in bash scripts.
### Changed
- Change "run_aws.sh", "secure_local_server/run.sh" and "big_lambdas_manager.sh" to implement "set_app_dir_and_main_file.sh" [FA-248] and [FA-98].
- Change "run_aws.sh" to call "secure_local_server/run.sh" for "gunicorn" and "uvicorn" RUN_METHODs and "https" RUN_PROTOCOL [FA-248].
- Change "big_lambdas_manager.sh" and "run_local_dns.sh" to build templates and configuration files in "/tmp" [FA-248] and [FA-98].
- Redirect README instructions to the GenericSuite Documentation [GS-73].
- Unify the domain name getting with "get_domain_name.sh".
- Change the way "big_lambdas_manager.sh" replace env. vars. using "*_placeholder".
- Local DNS configuration /tmp/named-to-add.conf is added to /etc/bind/named.conf.local instead of /etc/bind/named.conf.
- "db_mongo_backup.sh" and "db_mongo_restore.sh" enhanced to handle zip files.
### Fixed
- Fix error "KeyError: 'APP_DB_NAME'" starting the app with "secure_local_server/docker_entrypoint.sh" by setting APP_DB_ENGINE, APP_DB_NAME, APP_DB_URI, APP_CORS_ORIGIN, AWS_S3_CHATBOT_ATTACHMENTS_BUCKET env. vars. before calling uvicorn and gunicorn [FA-248].
- Fix the lack of responses issue calling the backend over https for "gunicorn" and "uvicorn" RUN_METHODs, by removing the SSL certificates path parameters in uvicorn and gunicorn calls in "secure_local_server/docker_entrypoint.sh", because the Nginx service takes care about SSL handling [FA-248].
- Fix the frontend "Network error" running the app over local MongoDB when APP_CORS_ORIGIN is "*".
## [1.0.8] - 2024-04-26
### Added
- Add "npm_remove_ignored.sh" to remove files in ".gitignore" or ".npmignore" [FA-84].
### Changed
- Change "npm_publish.sh" to implement "npm_remove_ignored.sh" [FA-84].
## [1.0.7] - 2024-04-20
### Added
- Add "make init_submodules" and "init_json_configs.sh" to copy the basic JSON files [FA-246].
### Changed
- FastAPI enhanced support for deployments [FA-246].
- AWS_API_GATEWAY_STAGE env. var. removed [FA-248].
- "run_aws.sh" ask for protocol http/https for all RUN_METHODs [FA-248].
- "run_aws.sh" use APP_DIR / APP_MAIN_FILE env. vars. to specify the python entry point in gunicorn and uvicorn RUN_METHODs [FA-248].
- "set_fe_cloudfront_domain.sh" looks for a "[STAGE]" string in the "AWS_S3_BUCKET_NAME_FE" and replaces it with the `ENV` parameter value to handle the working stage.
- "big_lambdas_manager.sh" take into account the different "AWS_LAMBDA_FUNCTION_ROLE_*" env. vars.
- Remove not standard enpoints definitions from "template-sam.yml" [FA-248].
- Change: README with main image from the official documentation site [FA-246].
- Change: Homepage pointed to "https://genericsuite.carlosjramirez.com/Backend-Development/GenericSuite-Scripts/" [FA-257].
### Fixed
- Fix "run_aws.sh" to replace "https" with "http" in APP_CORS_ORIGIN when CURRENT_FRAMEWORK is not chalice and add APP_VERSION env. var. assignment.
## [1.0.6] - 2024-04-12
### Fixed
- Fix issues in "big_lambdas_manager.sh" script with environment variables that contains values with @ due to the "set_env_vars.sh" removal [FA-98].
## [1.0.5] - 2024-04-11
### Fixed
- Remove "set_env_vars.sh" from the AWS Lambda docker image [FA-258].
### Changed
- "big_lambdas_manager.sh" use APP_DIR / APP_MAIN_FILE env. vars. to specify the python entry point in fastapi and flask CURRENT_FRAMEWORKs [FA-98].
- "big_lambdas_manager.sh" shows start and finish date/time [FA-98].
## [1.0.4] - 2024-04-11
### Changed
- Change the initial run command in the Dockerfile when "big_lambdas_manager.sh" runs for non-Chalice frameworks [FA-98].
- Run "set_chalice_cnf.sh" only if the current framework is Chalice [FA-248].
## [1.0.3] - 2024-04-09
### Changed
- Add links to https://www.carlosjramirez.com/genericsuite/ to the README.
## [1.0.2] - 2024-04-06
### Fixed
- Fix issues with AWS Lambda Func. deployment in "big_lambdas_manager.sh" script with environment variables that contains values with @.
- Fix SAM template to include missing name and BinaryMediaTypes for the AWS API Gateway definition, and description for the AWS Lambda Func.
## [1.0.1] - 2024-04-01
### Added
- Add `make deploy_demo` and `make create_s3_bucket_demo` to manage the "demo" stage [FA-213].
- Add "demo" stage to APP_DB_ENGINE, APP_DB_NAME, APP_DB_URI, APP_CORS_ORIGIN, and AWS_S3_CHATBOT_ATTACHMENTS_BUCKET [FA-213].
### Changed
- "big_lambdas_manager.sh" uses get_ssl_cert_arn() to discover the ACM Certificate ARNs [FA-213].
- License changed to ISC [FA-244].
### Fixed
- Fix "set_chalice_cnf.sh" because replaces APP_DB_URI_* with @ unescaped and prevents MongoDB connection when customized "scripts/aws/update_additional_envvars.sh" exist.
- Fix "set_chalice_cnf.sh" to remove things not needed in the deployment in CONFIG_FILE, not ENV_FILESPEC.
- Fix "run_aws.sh" because generates empty "requirements.txt".
## [1.0.0] - 2024-03-31
### Added
- Add `genericsuite-be-scripts` to The GenericSuite [FA-241].
- Add "scripts/aws/update_additional_envvars.sh" to customize additional environment variables replacement in "set_chalice_cnf.sh" and "big_lambdas_manager.sh" [FA-241].
## [0.0.23] - 2024-03-19
### Added
- Add `npm_publish.sh` to publish this library to NPMJS.
### Changed
- Prepare the backend bash scripts to be exported as a separate repository [FA-84].
## [0.0.22] - 2024-02-19
### Changed
- Change "un_app_tests.sh" uses HTTP_SERVER_URL env var, reports the database used and removes the .env.bak file [FA-228].
## [0.0.21] - 2024-02-18
### Added
- Create a deployment and local testing for big AWS Lambdas [FA-169].
- Add SAM validate to big lambdas script [FA-204].
- FE: bash script to deploy ReactJs app with AWS Cloudfront and S3 [FA-100].
## [0.0.20] - 2023-12-01
### Added
- Add `big_lambdas_manager.sh` to deploy Python AWS Lambda functions with container images and solve the big lambdas issue.
## [0.0.19] - 2023-12-01
### Added
- Add `secure_local_server/run.sh` to run the backend local server in a Docker container and be able to serve with https secure connection using self-signed SSL certificates.
## [0.0.18] - 2023-11-27
### Added
- Add `local_ssl_certs_creation.sh` and `local_ssl_certs_copy.sh` to create local auto-signed SSL certificated and copy to the frontend local directory.
- Add `change_local_ip_for_dev.sh` to change the local IP/domain for the dev environment (both frontend and backend).
- Add `run_local_dns.sh` to create a local DNS server.
## [0.0.17] - 2023-11-19
### Added
- Add `create_chatbot_s3_bucket.sh` to create AWS S3 buckets.
## [0.0.16] - 2023-11-17
### Added
- Add `get_localhost_ip.sh` to get the local IP, to be used in the local DNS server.
## [0.0.15] - 2023-07-30
### Fixed
- Fix remove REGION variable from `get_lambda_url.sh`.
## [0.0.14] - 2023-07-20
### Added
- Add `back_file_w_date.sh` to backup a file with a date suffix.
### Fixed
- Fix test script to do the .env file backup and restore.
- Fix `set_fe_cloudfront_domain.sh` to handle the environment as a parameter.
- Fix `run_mongo_docker.sh` to use `tests`, not `test`.
- Fix container_name in `mongodb_stack_for_test.yml` to pin the container names and use effectively on the test script.
## [0.0.13] - 2023-07-19
### Added
- Add `scripts/aws/set_fe_cloudfront_domain.sh` to set the CloudFront domain name in the frontend for the CORS config [FA-91].
- Add `scripts/aws/get_lambda_url.sh` to get the AWS Lambda URL to be configured in the frontend [FA-91].
### Changed
- Change `scripts/add_github_submodules.sh` uses the GIT_SUBMODULE_URL environment variable.
- Change `run_local` separated from `run` in `scripts/aws/run_aws.sh`, so `run` is for productions, and `run_local` is for local development.
- Change `api_gateway_stage` added to configs.json in all stages, and the value comes from the AWS_API_GATEWAY_STAGE environment variable.
## [0.0.12] - 2023-07-17
### Added
- Add `GIT_SUBMODULE_URL` environment variable to allow the use of a different git repository for the database definitions [FA-91].
### Fixed
- Fix Chalice deployment to AWS Lambda [FA-91].
## [0.0.11] - 2023-07-15
### Added
- Add make `run_qa` to use MongoDB dev instead of local docker container.
- Add `set_chalice_cnf.sh` a message to be shown with action done.
### Fixed
- Fix Chalice deployment with stages dev and prod.
## [0.0.10] - 2023-07-12
### Added
- Add support to Database definitions in JSON files from an external Git repository [FA-87].
## [0.0.9] - 2023-07-11
### Added
- Add `install_dev_tools.sh`.
## [0.0.8] - 2023-06-09
### Added
- Add Makefile entries to work with lint, yapf, pycodestyle, prospector, mypy, and coverage [FA-49].
## [0.0.7] - 2023-06-02
### Added
- Add "run_tests.sh" script to effectively call the unit tests using a local MongoDB database in Docker container [FA-6].
## [0.0.6] - 2023-05-23
### Added
- Add `run_mongo_docker.sh` to create a MongoDb local Docker container for develop.
### Changed
- Change `set_chalice_cnf.sh` takes into account the MongoDb docker configuration.
## [0.0.5] - 2023-02-11
### Added
- Add `set_chalice_cnf.sh` to handle runtime changes to the ".chalice/config.json" file.
## [0.0.4] - 2023-02-02
### Added
- Add `run_aws.sh` to run the backend App in AWS cloud environments and the Chalice framework.
## [0.0.3] - 2022-11-17
### Added
- Add `run_app_tests.sh` to run test script, with mount and unmount the local docker MongoDB container.
## [0.0.2] - 2022-03-16
### Added
- Add `db_mongo_backup.sh` and `db_mongo_restore.sh` scripts to backup and restore MongoDB databases [FA-57].
## [0.0.1] - 2022-03-10
### Added
- Add scripts to run and test the referring App.