MCPcopy Index your code
hub / github.com/aileron-gateway/aileron-gateway

github.com/aileron-gateway/aileron-gateway @v1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.0 ↗ · + Follow
5,187 symbols 24,774 edges 427 files 978 documented · 19%

Browse by type

Functions 4,163 Types & classes 1,024
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AILERON Gateway

AILERON Gateway is the secure and high-performance general purpose API Gateway for enterprise systems. Visit our website to get more information.

GoDoc Go Report Card License FOSSA Status

Codecov Test Suite OpenSourceInsight OSS Insight

Key Features

features.svg

Integration

We integrate and leverage the following products and specifications.

Install AILERON Gateway

[!TIP] See the Installation for full documentation.

Install options are:

  1. Pre-built binary: Download from Releases.
  2. Linux package: Download from Releases.
  3. RPM packages *.rpm
  4. Debian packages *.deb
  5. Alpine packages *.apk
  6. Arch Linux packages *.pkg.tar.zst
  7. Container image: Pull from GitHub Container Registry.
  8. Build from source code:
  9. Latest release: go install github.com/aileron-gateway/aileron-gateway/cmd/aileron@latest
  10. Main branch: go install github.com/aileron-gateway/aileron-gateway/cmd/aileron@main

Getting Started

[!TIP] See the Getting Started and the Tutorials for full documentation.

Command line options

$ aileron --help

Options :
  -e, --env stringArray    env file path. each line be 'KEY=VALUE'
  -f, --file stringArray   config file or directory path. absolute or relative
  -h, --help               show help message
  -i, --info               show build information
  -o, --out string         template output format. yaml or json (default "yaml")
  -t, --template string    show template config. value format be 'Group/Version/Kind(/Namespace/Name)'
  -v, --version            show version

Run a reverse proxy example

Example configs are available under ./_example/*. Here we start with a simple reverse proxy using _example/reverse_proxy/.

Just run the AILERON Gateway with the config. Config paths can be relative or absolute, file path or directory path, *.yaml or *.yml or *.json. A reverse proxy server will listen on the port :8080.

$ aileron -f examples/reverse-proxy/

{"time":"2025-03-15 18:20:12","level":"INFO","msg":"server started. listening on [::]:8080","datetime":{"date":"2025-03-15","time":"18:20:12.556","zone":"Local"},"location":{"file":"httpserver/server.go","func":"httpserver.(*runner).Run","line":56}}

In this example, the reverse proxy server is pointing on the https://httpbin.org/. So, we can access to the https://httpbin.org/ via http://localhost:8080/ like below.

$ curl http://localhost:8080/get

{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.68.0",
    "X-Amzn-Trace-Id": "Root=1-67d5479b-217d6f167e89a49e1c785584",
    "X-Forwarded-Host": "localhost:8080"
  },
  "origin": "127.0.0.1, 106.73.5.65",
  "url": "http://localhost:8080/get"
}

Tested Environment

Operating System:

Go:

  • See the go.mod file.
  • Main branch supports only latest go release.

In addition to the environment above, following platforms are tested on ubuntu using QEMU User space emulator.

  • x86: amd64, 386
  • arm: arm/v5, arm/v6, arm/v7, arm64
  • risc: riscv64, loong64
  • ppc: ppc64, ppc64le
  • mips: mips, mips64, mips64le, mipsle
  • ibm: s390x

Release Cycle

  • Versions follow Semantic Versioning.
  • vX.Y.Z
  • vX.Y.Z-beta.N
  • vX.Y.Z-alpha.N
  • Minor release (update Y) is twice a year.
  • Patch release (update Z) is almost once a month.

Contributing

[!IMPORTANT] Thank you for being interested in contributing to our community!!

We apologize, but we could not merge any PRs until we make all legal problems clear. For example, preparing code of conduct, contributor license agreement and so on. We are now actively working on this hard as we can merge PRs soon as possible.

Thank you for your understanding. March 15th, 2025.

See the Contributing for full documentation.

Support

See the Support for full documentation.

Need enterprise support?

Contact us: aileron-gateway@nri.co.jp

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 2,874
Function 1,289
Struct 878
Interface 70
TypeAlias 61
FuncType 15

Languages

Go100%

Modules by API surface

apis/app/v1/oauth.pb.go201 symbols
apis/kernel/replacer.pb.go190 symbols
apis/kernel/network.pb.go182 symbols
apis/app/v1/oteltracer.pb.go175 symbols
apis/app/v1/opa.pb.go100 symbols
apis/core/v1/httpproxy.pb.go96 symbols
apis/app/v1/otelmeter.pb.go89 symbols
apis/core/v1/httpserver.pb.go82 symbols
apis/kernel/sockopts.pb.go81 symbols
apis/app/v1/throttle.pb.go77 symbols
apis/app/v1/csrf.pb.go73 symbols
kernel/txtutil/replacer.go72 symbols

Datastores touched

keycloakDatabase · 1 repos

For agents

$ claude mcp add aileron-gateway \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page