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

  1. 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
    
    
  1. 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