--- title: 'Guía de instalación y configuración de TyK API Gateway' --- Guía de instalación y configuración -- TyK === * **Coordinador Tecnológico:** Rafael Palau * **Arquitecto:** Horacio Nemeth * **Consultores:** Ilse Grau Julio Mello Marcos Benítez Marco Aquino Lauro Segovia Alan Sanier ## Contenido [TOC] ## Introducción La guía de instalación y configuración describe los pasos necesarios para la puesta en marcha del siguiente producto: * Api Gateway de TyK ## Objetivo * Instalar y configurar el Api gateway de TyK. ## Prerequisitos > Tener instalado Docker-Compose en el servidor > Tener instalado Python 3 (opcional) ## Resultados esperados > Tener instalado y configurado el Api Gateway de TyK ## Instalación de API Gateway de TyK -- Docker-Compose ### Paso 1 (Clonar el repositorio) > Dentro del directorio raiz del servidor ejecutar la siguiente instrucción : ```shell= git clone https://github.com/TykTechnologies/tyk-gateway-docker ``` ### Paso 2 (Posicionarse en el directorio) ```shell= cd tyk-gateway-docker ``` ### Paso 3 (Implementar Tyk Gateway y Redis) ```shell= docker-compose up -d ``` > El archivo *docker-compose.yml* contiene la siguiente información: ```javascript= version: '3.3' services: tyk-gateway: image: docker.tyk.io/tyk-gateway/tyk-gateway:v3.2.1 ports: - 8080:8080 networks: - tyk volumes: - ./tyk.standalone.conf:/opt/tyk-gateway/tyk.conf - ./apps:/opt/tyk-gateway/apps - ./middleware:/opt/tyk-gateway/middleware - ./certs:/opt/tyk-gateway/certs environment: - TYK_GW_SECRET=foo depends_on: - tyk-redis tyk-redis: image: redis:5.0-alpine networks: - tyk ports: - 6379:6379 networks: tyk: ``` ## Configurar un API ### Crear un API para indicadores * Ingresar a una terminal y copiar la siguiente instrucción : ```javascript= curl -v -H "x-tyk-authorization: foo" \ -s \ -H "Content-Type: application/json" \ -X POST \ -d '{ "name": "Indicadores", "slug": "indicadores", "api_id": "indicadores", "org_id": "1", "use_keyless": true, "auth": { "auth_header_name": "Authorization" }, "definition": { "location": "header", "key": "x-api-version" }, "version_data": { "not_versioned": true, "versions": { "Default": { "name": "Default", "use_extended_paths": true } } }, "proxy": { "listen_path": "/1.0/indicadores", "target_url": "http://db-dev.siare.gov.py:8080/presupuesto-1.0.3/indicadores/", "strip_listen_path": true }, "active": true }' http://localhost:8080/tyk/apis | python3 -mjson.tool ``` > La instrucción anterior retorna el siguiente mensaje : ```javascript= { "key": "indicadores", "status": "ok", "action": "added" } ``` ### Recargar TyK * Ingresar a una terminal y copiar la siguiente instrucción, para disponibilizar el recursos configurado en el paso anterior ```javascript= curl -H "x-tyk-authorization: foo" -s http://localhost:8080/tyk/reload/group | python3 -mjson.tool ``` ### Servicio disponible * Para poder verificar el funcionamiento del servicio, se debe abrir un navegador o un cliente de REST service e ingresar la siguiente URL :::info El protocolo, dominio y puerto pueden variar dependiendo de la configuración del servidor y el servicio del Api Gateway ::: ```javascript= http://apigateway.siare.gov.py:8080/1.0/indicadores ``` ## Referencias [1] Tyk. Docker. Recuperado el 26 de octubre del 2021, de https://tyk.io/docs/tyk-oss/ce-docker/ [2] TyK. Create an API. Recuperado el 26 de octubre del 2021, de https://tyk.io/docs/getting-started/create-api/