├── .env ├── README.md ├── docker-compose.yml └── tyk.conf /.env: -------------------------------------------------------------------------------- 1 | TYK_GW_SLAVEOPTIONS_APIKEY= 2 | TYK_GW_SLAVEOPTIONS_RPCKEY= 3 | TYK_GW_SLAVEOPTIONS_CONNECTIONSTRING=known-airplane-hyb.aws-use1.cloud-ara.tyk.io:443 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tyk-mdcb-worker-cluster 2 | 3 | 1. To run, get your ORG ID (RPC KEY), User API Key from the Tyk API Manager, and your connection string to MDCB 4 | 2. Add them to `.env` 5 | 3. Run `docker-compose up` 6 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.3' 2 | services: 3 | tyk-worker-gateway: 4 | image: tykio/tyk-gateway:${GATEWAY_WORKER_VERSION:-v4.0.0} 5 | ports: 6 | - 8080:8080 7 | volumes: 8 | - ./tyk.conf:/opt/tyk-gateway/tyk.conf 9 | depends_on: 10 | - tyk-worker-redis 11 | env_file: 12 | - .env 13 | tyk-worker-redis: 14 | image: redis:6.0.4 15 | volumes: 16 | - tyk-worker-redis-data:/data 17 | ports: 18 | - "6379:6379" 19 | 20 | volumes: 21 | tyk-worker-redis-data: 22 | -------------------------------------------------------------------------------- /tyk.conf: -------------------------------------------------------------------------------- 1 | { 2 | "listen_address": "", 3 | "listen_port": 8080, 4 | "secret": "28d220fd77974a4facfb07dc1e49c2aa", 5 | "node_secret": "352d20ee67be67f6340b4c0605b044b7", 6 | "template_path": "./templates", 7 | "tyk_js_path": "./js/tyk.js", 8 | "middleware_path": "./middleware", 9 | "policies": { 10 | "policy_source": "rpc", 11 | "policy_record_name": "tyk_policies" 12 | }, 13 | "use_db_app_configs": false, 14 | "db_app_conf_options": { 15 | "connection_string": "http://tyk-dashboard:3000", 16 | "node_is_segmented": false, 17 | "tags": [] 18 | }, 19 | "disable_dashboard_zeroconf": false, 20 | "app_path": "./test_apps/", 21 | "storage": { 22 | "type": "redis", 23 | "host": "tyk-worker-redis", 24 | "port": 6379, 25 | "hosts": null, 26 | "username": "", 27 | "password": "", 28 | "database": 0, 29 | "optimisation_max_idle": 3000, 30 | "optimisation_max_active": 5000, 31 | "enable_cluster": false 32 | }, 33 | "enable_separate_cache_store": false, 34 | "enable_analytics": true, 35 | "analytics_config": { 36 | "type": "rpc", 37 | "ignored_ips": [], 38 | "enable_detailed_recording": true, 39 | "enable_geo_ip": false, 40 | "geo_ip_db_path": "./GeoLite2-City.mmdb", 41 | "normalise_urls": { 42 | "enabled": true, 43 | "normalise_uuids": true, 44 | "normalise_numbers": true, 45 | "custom_patterns": [] 46 | } 47 | }, 48 | "health_check": { 49 | "enable_health_checks": false, 50 | "health_check_value_timeouts": 0 51 | }, 52 | "optimisations_use_async_session_write": true, 53 | "allow_master_keys": false, 54 | "hash_keys": true, 55 | "hash_key_function": "murmur64", 56 | "suppress_redis_signal_reload": false, 57 | "suppress_default_org_store": false, 58 | "use_redis_log": true, 59 | "sentry_code": "", 60 | "use_sentry": false, 61 | "use_syslog": false, 62 | "use_graylog": false, 63 | "use_logstash": false, 64 | "graylog_network_addr": "", 65 | "logstash_network_addr": "", 66 | "syslog_transport": "", 67 | "logstash_transport": "", 68 | "syslog_network_addr": "", 69 | "enforce_org_data_age": true, 70 | "enforce_org_data_detail_logging": false, 71 | "enforce_org_quotas": true, 72 | "experimental_process_org_off_thread": false, 73 | "enable_non_transactional_rate_limiter": true, 74 | "enable_sentinel_rate_limiter": false, 75 | "Monitor": { 76 | "enable_trigger_monitors": false, 77 | "configuration": { 78 | "method": "", 79 | "target_path": "", 80 | "template_path": "", 81 | "header_map": null, 82 | "event_timeout": 0 83 | }, 84 | "global_trigger_limit": 0, 85 | "monitor_user_keys": false, 86 | "monitor_org_keys": false 87 | }, 88 | "oauth_refresh_token_expire": 0, 89 | "oauth_token_expire": 0, 90 | "oauth_redirect_uri_separator": ";", 91 | "slave_options": { 92 | "use_rpc": true, 93 | "rpc_key": "", 94 | "api_key": "", 95 | "connection_string": "known-airplane-hyb.aws-use1.cloud-ara.tyk.io:443", 96 | "enable_rpc_cache": true, 97 | "bind_to_slugs": false, 98 | "group_id": "my-group-id", 99 | "use_ssl": true, 100 | "ssl_insecure_skip_verify": true 101 | }, 102 | "disable_virtual_path_blobs": false, 103 | "local_session_cache": { 104 | "disable_cached_session_state": true, 105 | "cached_session_timeout": 0, 106 | "cached_session_eviction": 0 107 | }, 108 | "http_server_options": { 109 | "override_defaults": false, 110 | "read_timeout": 0, 111 | "write_timeout": 0, 112 | "use_ssl": false, 113 | "use_ssl_le": false, 114 | "enable_websockets": true, 115 | "certificates": [], 116 | "server_name": "", 117 | "min_version": 0, 118 | "flush_interval": 0 119 | }, 120 | "service_discovery": { 121 | "default_cache_timeout": 0 122 | }, 123 | "close_connections": false, 124 | "auth_override": { 125 | "force_auth_provider": true, 126 | "auth_provider": { 127 | "name": "", 128 | "storage_engine": "rpc", 129 | "meta": {} 130 | } 131 | }, 132 | "uptime_tests": { 133 | "disable": false, 134 | "config": { 135 | "failure_trigger_sample_size": 1, 136 | "time_wait": 30, 137 | "checker_pool_size": 50, 138 | "enable_uptime_analytics": true 139 | } 140 | }, 141 | "hostname": "", 142 | "enable_api_segregation": false, 143 | "control_api_hostname": "", 144 | "enable_custom_domains": true, 145 | "enable_jsvm": true, 146 | "enable_coprocess": false, 147 | "hide_generator_header": false, 148 | "event_handlers": { 149 | "events": {} 150 | }, 151 | "event_trigers_defunct": {}, 152 | "pid_file_location": "./tyk-gateway.pid", 153 | "allow_insecure_configs": false, 154 | "public_key_path": "certs/public-key.pem", 155 | "close_idle_connections": false, 156 | "allow_remote_config": true, 157 | "enable_bundle_downloader": false, 158 | "max_idle_connections_per_host": 500, 159 | "tracing": { 160 | "enabled": false, 161 | "name": "zipkin", 162 | "options": { 163 | "reporter": { 164 | "url": "http://zipkin:9411/api/v2/spans" 165 | } 166 | } 167 | }, 168 | "statsd_connection_string": "graphite:8125" 169 | } 170 | --------------------------------------------------------------------------------