kaminek / envoy-poc-xds

Envoy xDS discovery ec2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aws-ecs-eds Docker Pulls GitHub Sponsors GitHub Workflow Status (with event)

Envoy EDS Service that automatically updates upstreams from AWS

AWS Integrations

AWS Elastic Container Service.

Gets privateIPv4Address of EC2/Fargate Tasks.

Port Resolution

  1. Environmental Variable: _aws.ecs.clusterName__port (e.g. us-west-2-fargate_port=8080)
  2. Default: 80

AWS Cloud Map

Reads SRV records from CloudMap

Port Resolution

  1. Environmental Variable: aws.cloudMap.serviceDiscoveryId_port (e.g. srv-1234_port=8080)
  2. instance['AWS_INSTANCE_PORT'] from ListInstances CloudMap API
  3. Default: 80

Envoy Config

TCP Listener Config

  1. Environmental Variable: EDS_LISTEN (e.g. 127.0.0.1:8080)
  2. Default: 0.0.0.0:5678
  3. All responses cached for 30 seconds on successful response

Config Snippet

eds-config.yamlhttps://github.com/boostchicken/aws-ecs-eds/blob/2b29f881b7f3cd592d3b601ef74b64053fff0d79/eds-config.yaml#L10-L57

Custom Builds

Dockerfilehttps://github.com/boostchicken/aws-ecs-eds/blob/2b29f881b7f3cd592d3b601ef74b64053fff0d79/Dockerfile#L1-L13

About

Envoy xDS discovery ec2

License:MIT License


Languages

Language:Go 95.2%Language:Dockerfile 4.8%