Sign inSign up

nebo15/annon_api

By nebo15

•Updated over 8 years ago

Official Annon API Gateway containers, based on Alpine Linux

Image
1

6.8K

nebo15/annon_api repository overview

⁠Annon API Gateway

Annon is a configurable API gateway that acts as a reverse proxy with a plugin system. Plugins allow to reduce boilerplate that must be done in each service, making overall development faster. Also it stores all requests, responses and key metrics, making it easy to debug your application. Inspired by Kong⁠.

It's free. Source code is available on GitHub⁠. Docs: http://docs.annon.apiary.io/⁠

"Annon" translates from the Sindarin word for 'Great Door or Gate'. Sindarin is one of the many languages spoken by the immortal Elves.

Annon consist of multiple main parts:

⁠Goals of the Project

  • Provide single management/monitoring system for medium-to-large scale applications.
  • Reduce amount of work needed in other componens by orchestrating common functionalities.
  • Control response time and get answer "what happened" even in a single request perspective. Provide data for in-deepth service analysis.
  • Improve platform scalability.

⁠Environment Variables

This environment variables can be used to configure released docker container at start time. Also sample .env can be used as payload for docker run cli.

⁠General
VAR_NAMEDefault ValueDescription
LOG_LEVELinfoElixir Logger severity level. Possible values: debug, info, warn, error.
⁠Clustering
VAR_NAMEDefault ValueDescription
ERLANG_COOKIE03/yHifHIEl..Erlang [distribution cookie](http://erlang.org/doc/reference_manual/⁠
LISTEN_DIST_MIN10000Start of Erlang's port range to connect between nodes.
LISTEN_DIST_MAX10100End of Erlang's port range to connect between nodes.
POD_IP127.0.0.1Node IP address. (Should be correct for clustering to work.)
SKYCLUSTER_STRATEGYCluster.Strategy.EpmdWhich strategy to use?
SKYCLUSTER_KUBERNETES_SELECTORapp=annon,component=apiHow to select gateway pods in kubernetes
SKYCLUSTER_KUBERNETES_NODE_BASENAMEgatewayName of a Annon's deployment
⁠HTTP Endpoints
VAR_NAMEDefault ValueDescription
GATEWAY_PUBLIC_PORT4000This is a public port that will may be available to the Internet.
GATEWAY_PRIVATE_PORT4002This is a port used for management API, must be protected by a firewall.
GATEWAY_MANAGEMENT_PORT4001This is a port that can be used by cluster services to communicate with each-other, must be protected by a firewall.
⁠Database
VAR_NAMEDefault ValueDescription
DB_NAMEannonDatabase name.
DB_USERpostgresDatabase user.
DB_PASSWORDpostgresDatabase password.
DB_HOSTtravisDatabase host.
DB_PORT5432Database port.
DB_MIGRATEtrueMigrate database when container starts.
⁠Monitoring
VAR_NAMEDefault ValueDescription
STATSD_HOSTtravisDogStatsD server hostname.

Tag summary

Content type

Image

Digest

Size

60.7 MB

Last updated

over 8 years ago

docker pull nebo15/annon_api