Code Monkey home page Code Monkey logo

aerolab's Introduction

AeroLab

AeroLab is a tool that creates Aerospike development and testing clusters in Docker or on AWS, streamlining efforts to test cluster configuration options, upgrade procedures, and client applications in a controlled development environment.

NOTE: AeroLab is intended for local development and testing environments. It is not recommended for production operations.

Upgrading

See this document on upgrading from versions 6.0- to 6.1+

NOTE: AeroLab 7.0.0 implements an instance expiry system. By default your instances will terminate after 30 hours. To modify this behaviour, create clusters with --aws-expires TIME or --gcp-expires. For example --aws-expires 50h. To disable expiry, set to 0.

Releases

The releases page contains links to current installer packages for all the supported backends.

Operating System Package Notes
macOS aerolab-macos-* Native macOS binary, compiled for x86_64 and M series ARM chips
Linux aerolab-linux-* Native package for Linux (all x86_64 and ARM64 distros)
Windows aerolab-windows-* Native Windows executable. Unzip and run from explorer to install.

Manual build

See this document for manually building AeroLab (not recommended).

Supported backends

  • Docker Native and Docker Desktop
    • on macOS
    • on Linux
    • on Windows
  • Podman Desktop
    • Install Podman Desktop
    • Enable Docker Compatibility mode in Podman Desktop
    • Use docker backend in aerolab: aerolab config backend -t docker
    • Install full official docker-cli
      • Example MacOS: brew install docker
      • Example Ubuntu: follow the official documentation, but instead of installing the full docker engine, just install docker-ce-cli package
  • Podman Native on Linux
    • Follow podman documentation to install podman.
    • To install the full docker cli tool, follow the official documentation, but instead of installing the full docker engine, just install docker-ce-cli package.
    • Enable podman service with: sudo systemctl enable --now podman.service podman.socket && sudo touch /etc/containers/nodocker.
    • Enable the docker repositories: sudo vi /etc/containers/registries.conf and ensure docker is listed on this line: unqualified-search-registries = ["docker.io","localhost"].
    • Use docker backend in aerolab
  • AWS
  • GCP

Routing to the containers using Docker Desktop

Containers on Docker Desktop cannot be accessed directly by their IPs. For this purpose, AeroLab will automatically attempt to map host ports to container ports.

The containers can then be accessed using IP 127.0.0.1 and the port shown under aerolab inventory list. Aerospike clusters created using this method can be seeded and connected to directly from the desktop computer, using the services-alternate option in either Aerospike tools or in the client libraries.

To disable this functionality and prevent AeroLab from modifying Aerospike configuration files to that effect, create clusters with the --no-autoexpose switch.

An alternative method of access exists on MacOS and Linux, if using --no-autoexpose. See the tunnel container setup instructions for more information about setting up tunneling for direct container access.

Documentation

Changelog

See CHANGELOG.md for version changes

Version

See VERSION.md for latest stable version number

Disabling console colors

Aerolab list commands by default use neutral coloring to compress and present the listing tables of all items. Coloring can be disabled by exporting one of these environment variables:

  • export NO_COLOR=1
  • export CLICOLOR=0

The following methods work:

  1. just for this command: CLICOLOR=0 aerolab cluster list
  2. for this terminal session: export CLICOLOR=0
  3. forever: add one of the export commands from above your your .zshrc or .bashrc file

aerolab's People

Contributors

robertglonek avatar ajohnson-aerospike avatar dotyjim-work avatar hev avatar kportertx avatar mtendjou avatar pvinh-spike avatar rbotzer avatar steve-aerospike avatar realmgic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.