#api-gateway #gateway #websocket #kubernetes #proxy #api #kubernates

spacegate-kernel

A library-first, lightweight, high-performance, cloud-native supported API gateway

6 releases

0.1.0-alpha1 Apr 19, 2023
0.1.0-alpha.7 Sep 12, 2023
0.1.0-alpha.6 Aug 3, 2023
0.1.0-alpha.4 Jul 24, 2023
0.1.0-alpha.2 May 11, 2023

#1300 in Web programming


Used in 2 crates

MIT/Apache

335KB
7K SLoC

Preview version, will not guarantee the stability of the API! Do NOT use in production environment!


A library-first, lightweight, high-performance, cloud-native supported API gatewayπŸͺ


Build Status License

SpaceGate("Spacegates are Stargates suspended in space, or in planetary orbit") From "Stargate".

Why create this project

There are a lot of API gateway products out there, but they are mostly in the form of standalone services. The customization ability is relatively poor, and the cost of using and deploying is relatively high.

This project is based on the Rust language and uses hyper as the base network library. The goal is to: provide a library-first, lightweight, high-performance, cloud-native supported API gateway .

πŸ’– Core functions

  • Cloud Native Support, implementing the Kubernetes Gateway API specification
  • Microkernel, plugin-based architecture
  • Built-in websocket support
  • High performance
  • Low resource usage

πŸ“¦ Components

Crate Form Description
spacegate-kernel Crate Docs lib Class library with all functions, support for embedding into your own rust project
spacegate bin Out-of-the-box service with all features
spacegate-native bin Out-of-the-box service that include all features except kubernetes support
spacegate-simplify bin Out-of-the-box service for standalone environments

πŸ”– Releases

Release binary naming method: {crate}-{arch}{OS}{libc}-{version}

OS Arch libc Remark
linux x86_64,aarch64 gnu,musl If you need static linking please use musl
macos x86_64,aarch64 Libsystem
windows x86_64 msvc

Dependencies

~34–57MB
~1M SLoC