The Aerospike REST gateway provides a server which translates Restful API requests into messages to an Aerospike Cluster.
It can be used as a bridge between applications written in languages without an existing Aerospike Client library, or as a pluggable component in a pre-existing architecture.
Swagger UI API documentation for this project can be found here Aerospike REST Gateway API Documentation.
- Java 17 or later for REST Gateway 2.0 and newer. Java 8 or later for REST Gateway 1.11 and earlier.
- Aerospike Server version 4.9+
For instructions on installing the Rest Gateway see Installation and Configuration .
- Executable Jar
make build
This will place the file in the build/libs
directory.
- Docker Image
docker build -t aerospike-rest-gateway .
See Installation and Configuration for installation, configuration and running manual.
Use Basic access authentication to enable multi-user
tenancy in the Aerospike REST gateway.
Please note that only Aerospike Enterprise Edition supports
the security features.
For example, having the default admin:admin
credentials, send the Authorization: Basic YWRtaW46YWRtaW4=
header with
the request to make an authenticated query.
The Aerospike REST gateway allows communication utilizing JSON
and MessagePack
formats. For more information about
how to specify the format, and recommended usages of each, see Data Formats.
The Aerospike REST gateway 1.7.0 and newer supports filter expressions added in server 5.6. The now deprecated predicate expressions are supported in REST gateway 1.11.0 and older.
Note: The DSL used to define predicate expressions can also be used to define filter expressions.
See Expressions for more information.
Swagger tools such as Swagger Codegen and Swagger Editor allow you to automatically generate a server/client that integrates with Aerospike REST Gateway in a variety of different languages.
- Go to Swagger Editor.
- Import the Aerospike REST Client openapi.json file.
- Click on Generate Server/Generate Client and choose the desired language/framework.
- A .zip file that contains all the necessary files for a server/client will be downloaded.
- Note: when generating a server the implementations/logic of the APIs are missing since the server generator only generates stub methods (to reduce boilerplate server code).
Licensed under the Apache 2.0 License.