Configuración del entorno
El apartado de configuración para módulos, que usa Callisto, se encuentran en la carpeta app/config
y principalmente en el archivo app/config/app_settings.py.
Importante
Se recomienda definir otras variables y configuraciones adicionales, para tu proyecto particular, derivado de Callisto, en archivos o subcarpetas que consideres necesarios y no, en el archivo citado arriba.
| # app/config/app_settings.py
# -*- coding: utf-8 -*-
"""Este archivo define constantes internas del proyecto.
- La ruta de donde se alojarán los módulos/endpoints del BackEnd
- El logger por defecto a utilizar
- El prefijo por defecto para el Api
- La lista de módulos que serán cargados al iniciar el BackEnd
Para más información, te recomendamos leer la documentación del Proyecto.
"""
# settings for Callisto project.
# For more information on this file, see README.md
PROJECT_NAME = "callisto"
APP_PATH = "app.modules"
DEFAULT_LOGGER = "default" # | default | gcp | azure | aws |
DEFAULT_ENDPOINT_API = "/api"
STDR_UTC_HOUR = -5
INSTALLED_MODULES = [
"home",
"healthcheck",
"locales",
"roles"
]
|
Nota
Los detalles de uso de cada una de estas variables, serán tratados en los módulos que correspondan.
Ejemplo: DEFAULT_LOGGER
en el módulo de logger.
Estructura
La jerarquía de configuraciones, se cita a continuación:
| /app/config
├── db
│ ├── __init__.py
│ ├── firestore.py
│ ├── mongo.py
├── gcp
│ ├── __init__.py
├── __init__.py
├── app_settings.py
├── firebase.py
├── mail.py
└── sms.py
|
Esto permite una mejor división de toda la configuración utilizada aquí, y deja a disposición de los desarrolladores definir sus propios archivos de configuración, para nuevos módulos o funcionalidades.
Variables de entorno
Puedes definir un archivo de nombre .env
que se ubique en la raíz del proyecto con lo siguente:
| # un prefijo para la base de datos
DATABASE_PREFIX=testing_
# datos de conexión para mongoDB
MONGO_USERNAME=
MONGO_PASS=
MONGO_CLUSTER=
MONGO_DB=
# datos de conexión para PostgreSQL
PG_USERNAME=
PG_PASS=
PG_CLUSTER=
PG_DB=
# datos de conexión para MySQL
MYSQL_USERNAME=
MYSQL_PASS=
MYSQL_CLUSTER=
MYSQL_DB=
# llave privada para cifrar datos
PRIVATE_KEY_HASH=abec79ff2c25605378eac11738d079cc8f1e7167a40a0db1dd1676f2542c321c
# cuenta de servicio de Google (en caso de necesitarla)
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
Importante
Para el caso de PRIVATE_KEY_HASH
recomendamos leer el apartado de Seguridad, para más información.
Para tener en cuenta
Recuerda que este archivo, es solo para uso en ambientes de desarollo. Revisa el apartado de Despliegue, para más información.