Configuración
Aeol Gateway, tiene diferentes opciones de configuración dependiendo del entorno o la carga que el sistema tenga. A continuación se detallan las opciones:
configuration:
ttlcache: 20
version: 1
pprof : false
idle_timeout: 10
max_idle_connection: 1
response_header_timeout: 60
expect_continue_timeout: 30
request_time_out: 120
nearcache: 20
tls:
name: none #you can choose amount none, mtls, tls, we strong recomend tls or mtsl
ops:
- ca: ca-chain.cert.pem
cert: aeolabs.io.cert.pem
key: aeolabs.io.key.pem
minversion: tls1.2 #options are tls1.1, tls1.2 or tls1.3, less than 1.1 are not supported, if not present the option, default is tls1.2
logger:
level: verbose|debug|info|error
output: stdout
formatter: text|json
monitoring:
- name: redis
dataplain:
cache:
name: redis
url: redis://localhost:6379/0
data:
name: mongo
url: mongodb://aeol:aeol@localhost:27017/apimgt?db=apimgt
Opciones de configuración
El sistema permite configuraciones que son globales, las cuales se detallan a continuación:
configuration:
ttlcache: 20
pprof : false
idle_timeout: 10
max_idle_connection: 1
response_header_timeout: 60
expect_continue_timeout: 30
request_time_out: 120
nearcache: 20
tls:
name: none #you can choose amount none, mtls, tls, we strong recomend tls or mtsl
ops:
- ca: ca-chain.cert.pem
cert: aeolabs.io.cert.pem
key: aeolabs.io.key.pem
minversion: tls1.2 #options are tls1.1, tls1.2 or tls1.3, less than 1.1 are not supported, if not present the option, default is tls1.2
Opción | Descripción | Valor |
---|---|---|
ttlcache | determina cual sera el tiempo de vida de los items en el cache (ttl) | 20 |
pprof | permite realizar profiling | false |
max_idle_connection | cantidad de conexiones máximas en el pool | 100 |
request_time_out | tiempo de vencimiento al hacer una petición a los servicios | 120 |
nearcache | tiempo que un objeto esta en el cache local (en segundos) | 20 |
Configuración de seguridad TLS
La configuración de seguridad TLS puede ser definida basada en las siguientes opciones:
- name
- none, no ha configuración de seguridad
- mtls, configuración con mutual TLS (mtls), para esta opción la opción opts-> minversion, debe ser 1.2
- tls, configuración de tls activa
- ops:
- ca, certificado de entidad certificadora (Certificate Authority)
- cert: certificado de seguridad
- key: key del certificado privado
- minversion: las opciones son [tls1.1, tls1.2, tls1.3]
Por motivos de seguridad la versión minima de tls es 1.1 la cual para la versíon 1.6.0 esta deprecada, siendo eliminada para la versión 1.7.0
Opciones de Log
El sistema permite las siguientes opciones de log
logger:
level: verbose|debug|info|error
output: stdout
formatter: text|json
Integración de monitoreo
Para poder integrar el sistema con terceras herramientas se pueden realizar las siguientes configuraciones:
- redis
- kafka
Al seleccionar la opción redis, el sistema acumula los mensajes durante 10 segundos
monitoring:
- name: redis
Al seleccionar la opción kafka, se deben completar las siguientes opciones
monitoring:
- name: kafka
option:
- timeout: 10
topic: stats
client_id: aeolabs
compressed: true
use_ssl: false
ssl_insecure_skip_verify: true
brokers:
- 192.168.0.24:9092
Plano de datos
El plano de datos permite gestionar los datos que el sistema necesita, existen dos planos que se deben configurar:
dataplain:
cache:
name: redis
url: redis://localhost:6379/0
data:
name: mongo
url: mongodb://aeol:aeol@localhost:27017/apimgt?db=apimgt
- Cache Aeol Gateway permite configurar como cache de datos a las siguientes herramientas:
- Redis 5+
dataplain: cache: name: redis url: redis://localhost:6379/0
- MemCache
dataplain: cache: name: memcache url: memcache://localhost:9000
- Hazelcast
dataplain: cache: name: hazelcast url: hazelcast://localhost:9000
- InMemory
dataplain: cache: name: inmemory
- Datos (Persistencia) Aeol Gateway permite configurar diferentes tipos de base datos, a continuación se detallan los sistemas compatibles:
- MongoDB 4.2.1
data: name: mongo url: mongodb://aeol:aeol@localhost:27017/apimgt?db=apimgt
- Kubernetes
data: name: kubernetes
- PostgreSQL
data: name: postgresql url: postgres://aeol:aeol@localhost/apimgt?db=apimgt
- Cockroach
data: name: cockroach url: cockroach://aeol:aeol@localhost/apimgt?db=apimgt
- Cassandra
data: name: cassandra url: cassandra://aeol:aeol@localhost/apimgt?db=apimgt