SkillAgentSearch skills...

Skyhook

Skyhook was a Redis API compatible gateway to Aerospike Database

Install / Use

/learn @aerospike-community/Skyhook
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Skyhook

Build

Skyhook was a Redis API-compatible gateway to the Aerospike Database. Skyhook was built to quickly get your Redis client applications up and running on an Aerospike cluster.

Overview

Skyhook was designed as a standalone server application written in Kotlin, which accepts Redis protocol commands and projects them to an Aerospike cluster using the Aerospike Java client under the hood. It uses Netty as a non-blocking I/O client-server framework.

This project is now dormant, and the code is up for grabs. Have at it!

Documentation

For full documentation please visit the GitHub Pages site.

Installation

Prerequisites

  • Java 8 or later
  • Aerospike Server version 4.9+

Installing

Skyhook is distributed as a jar file which may be downloaded from https://github.com/aerospike/skyhook/releases/latest.

Running

Usage:

% java -jar skyhook-[version]-all.jar -h

Usage: skyhook [-h] [-f=<configFile>]
Redis to Aerospike proxy server
  -f, --config-file=<configFile>
               yaml formatted configuration file
  -h, --help   display this help and exit

To run the server:

java -jar skyhook-[version]-all.jar -f config/skyhook.yml

The configuration file carries all the settings the server needs and is in YAML format. An example configuration file can be found in the config folder of this repository. If no configuration file is specified, the default settings will be applied.

[main] INFO  c.a.skyhook.SkyhookServer$Companion - Starting the Server...

Now the server is listening to the config.redisPort (default: 6379) and is ready to serve.

If you wish to deploy Skyhook as a cluster of nodes, you can find some example configurations here.

Linux RPM and DEB packages are also available under the release assets. Check your system information to pick a suitable installation package.

Configuration Properties

The default behavior may be customized by setting the following properties in the configuration file:

| Property name | Description | Default value | | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | | hostList | The host list to seed the Aerospike cluster. | localhost:3000 | | namespace | The Aerospike namespace. | test | | set | The Aerospike set name. | redis | | clientPolicy | The Aerospike Java client ClientPolicy configuration properties. | ClientPolicyConfig | | bin | The Aerospike value bin name. | b | | typeBin | The Aerospike value type bin name. | t | | redisPort | The server port to bind to. | 6379 | | unixSocket | The server will bind on unix socket if configured. | | | workerThreads<sup>1</sup> | The Netty worker group size. | number of available cores | | bossThreads | The Netty acceptor group size. | 2 |

<sup name="worker-threads">1</sup> Used to configure the size of the <a href="https://www.aerospike.com/docs/client/java/usage/async/eventloop.html">Aerospike Java Client EventLoops</a> as well.

License

Licensed under an Apache 2.0 License.

commands.

View on GitHub
GitHub Stars31
CategoryData
Updated2d ago
Forks6

Languages

Kotlin

Security Score

95/100

Audited on Mar 31, 2026

No findings