Repolode
membrane

membrane/api-gateway

Gateway de API open source que faz proxy de serviços REST e SOAP e adiciona implantação de OpenAPI, conversão de WSDL para OpenAPI, segurança com OAuth2/JWT e validação de mensagens.

Alternativa open source a:ApigeeKong Konnect

Estrelas
658
Forks
186
Issues abertas
45
Último commit
há 12 horas

O que é?

Membrane é um gateway de API escrito em Java que fica à frente dos serviços de backend e cuida do roteamento, da transformação, da segurança e do controle de tráfego. Ele pode implantar APIs diretamente a partir de descrições OpenAPI (versões 3.0 a 3.2) e validar requisições com OpenAPI, JSON Schema, XSD e WSDL. Pode ser executado como contêiner Docker ou aplicação Java e não precisa de banco de dados; a configuração é feita em YAML.

Um dos principais focos é a integração com sistemas legados. O Membrane pode gerar especificações OpenAPI a partir de WSDL, expor serviços web SOAP como APIs REST com JSON e converter entre JSON e XML usando os schemas do WSDL. Também oferece suporte a WS-Security UsernameTokens e assinaturas XML, além de fornecer um plugin de proteção MCP e um gateway LLM para acessar provedores de IA.

Em segurança e operações, o Membrane oferece API keys, OAuth2, validação de JWT, TLS, limitação de taxa, balanceamento de carga, métricas do Prometheus e tracing com OpenTelemetry. Os fluxos podem ser estendidos com scripts em Groovy ou JavaScript, templates e chamadas de orquestração para outras APIs.

Recursos principais

  • 01Implanta APIs diretamente a partir de descrições OpenAPI 3.0, 3.1 e 3.2, com validação opcional de requisições.
  • 02Converte serviços SOAP descritos em WSDL em OpenAPI e endpoints REST com JSON.
  • 03Valida mensagens com OpenAPI, JSON Schema, XSD e WSDL.
  • 04Oferece suporte a API keys, OAuth2, JWT e WS-Security para autenticação.
  • 05Oferece limitação de taxa, balanceamento de carga e terminação TLS.
  • 06Exporta métricas do Prometheus e traces do OpenTelemetry.

Casos de uso

  • Expor serviços SOAP legados a clientes modernos que usam JSON ou REST, sem alterar o backend.
  • Adicionar proteção OAuth2 ou JWT à frente de APIs existentes usando uma configuração YAML.
  • Executar um gateway leve em contêineres quando não há banco de dados disponível.
  • Controlar a quais ferramentas e modelos um agente de IA ou cliente LLM pode acessar por meio de um gateway MCP ou LLM.

Início rápido

  1. 1

    Inicie o Membrane como um contêiner

    docker run --rm -it -p 2000:2000 predic8/membrane
  2. 2

    Crie um arquivo apis.yaml com a configuração do proxy mostrada no README

  3. 3

    Execute o contêiner com o apis.yaml montado (Linux/macOS)

    docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane

Antes de usar

  • É baseado em Java, então é necessário ter o Java configurado para executá-lo fora do Docker.

Em coleções

Tópicos

Perguntas frequentes

O que é api-gateway?
Gateway de API open source que faz proxy de serviços REST e SOAP e adiciona implantação de OpenAPI, conversão de WSDL para OpenAPI, segurança com OAuth2/JWT e validação de mensagens. Membrane é um gateway de API escrito em Java que fica à frente dos serviços de backend e cuida do roteamento, da transformação, da segurança e do controle de tráfego. Ele pode implantar APIs diretamente a partir de descrições OpenAPI (versões 3.0 a 3.2) e validar requisições com OpenAPI, JSON Schema, XSD e WSDL. Pode ser executado como contêiner Docker ou aplicação Java e não precisa de banco de dados; a configuração é feita em YAML.
api-gateway é gratuito? Qual é a licença?
api-gateway é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
api-gateway ainda é mantido?
Manutenção ativa. O último commit de api-gateway foi em 6 de nov. de 2026.
Para que posso usar api-gateway?
Expor serviços SOAP legados a clientes modernos que usam JSON ou REST, sem alterar o backend. Adicionar proteção OAuth2 ou JWT à frente de APIs existentes usando uma configuração YAML. Executar um gateway leve em contêineres quando não há banco de dados disponível. Controlar a quais ferramentas e modelos um agente de IA ou cliente LLM pode acessar por meio de um gateway MCP ou LLM.
Como instalar api-gateway?
Inicie o Membrane como um contêiner: docker run --rm -it -p 2000:2000 predic8/membrane Crie um arquivo apis.yaml com a configuração do proxy mostrada no README Execute o contêiner com o apis.yaml montado (Linux/macOS): docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane
Onde consigo api-gateway?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/membrane/api-gateway

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados