The Ambassador Container

Environment Variables

Use the following variables for the environment of your Ambassador container:

PurposeVariableDefault valueValue type
AmbassadorAMBASSADOR_IDdefaultPlain string
AmbassadorAMBASSADOR_NAMESPACEdefault (1)Kubernetes namespace
AmbassadorAMBASSADOR_SINGLE_NAMESPACEEmptyBoolean; non-empty=true, empty=false
Ambassador Edge StackAES_LOG_LEVELinfoLog level
Ambassador Edge StackREDIS_POOL_SIZE10Integer
Ambassador Edge StackREDIS_SOCKET_TYPENone, must be set manuallyGo network such as tcp or unix; see Go net.Dial
Ambassador Edge StackREDIS_URLNone, must be set manuallyGo network address; for TCP this is a host:port pair; see Go net.Dial
Ambassador Edge Stack: RateLimitREDIS_PERSECONDfalseBoolean; Go strconv.ParseBool
Ambassador Edge Stack: RateLimitREDIS_PERSECOND_SOCKET_TYPENone, must be set manually (if REDIS_PERSECOND)Go network such as tcp or unix; see Go net.Dial
Ambassador Edge Stack: RateLimitREDIS_PERSECOND_POOL_SIZENone, must be set manually (if REDIS_PERSECOND)Go network address; for TCP this is a host:port pair; see Go net.Dial
Ambassador Edge Stack: RateLimitEXPIRATION_JITTER_MAX_SECONDS300Integer
Ambassador Edge Stack: RateLimitUSE_STATSDfalseBoolean; Go strconv.ParseBool
Ambassador Edge Stack: RateLimitSTATSD_HOSTlocalhostHostname
Ambassador Edge Stack: RateLimitSTATSD_PORT8125Integer
Ambassador Edge Stack: RateLimitGOSTATS_FLUSH_INTERVAL_SECONDS5Integer
Ambassador Edge Stack: Developer PortalAMBASSADOR_URLhttps://api.example.comURL
Ambassador Edge Stack: Developer PortalDEVPORTAL_CONTENT_URLhttps://github.com/datawire/devportal-contentgit-remote URL
Ambassador Edge Stack: Developer PortalDEVPORTAL_CONTENT_DIR/Rooted Git directory
Ambassador Edge Stack: Developer PortalDEVPORTAL_CONTENT_BRANCHmasterGit branch name
Ambassador Edge Stack: Developer PortalPOLL_EVERY_SECS60Integer

Other Considerations

Port names: well-known port names that are recognized by /etc/services, but they are not Kubernetes port names.

Log levels: case-insensitive. From least verbose to most verbose, valid log levels are error, warn/warning, info, debug, and trace.

REDIS:

  • The AuthService and the RateLimitService share a Redis connection pool; there will be up to REDIS_POOL_SIZE connections to Redis.
  • If REDIS_PERSECOND is true, a second Redis connection pool is created (to a potentially different Redis instance) that is only used for per-second RateLimits.

Port Assignments

The Ambassador Edge Stack uses the following ports to listen for HTTP/HTTPS traffic automatically via TCP:

PortProcessFunction
8001envoyInternal stats, logging, etc.; not exposed outside pod
8002wattInternal watt snapshot access; not exposed outside pod
8003ambexInternal ambex snapshot access; not exposed outside pod
8080envoyDefault HTTP service port
8443envoyDefault HTTPS service port

  1. This may change in a future release to reflect the Pods's namespace if deployed to a namespace other than default. https://github.com/datawire/ambassador/issues/1583

Questions?

We’re here to help. If you have questions, join our Slack or contact us.