Skip to content
This repository has been archived by the owner on Sep 16, 2021. It is now read-only.
/ laniakea Public archive

Laniakea is a utility for managing instances at various cloud providers and aids in setting up a fuzzing cluster.

License

Notifications You must be signed in to change notification settings

MozillaSecurity/laniakea

Repository files navigation

Logo

Laniakea is a utility for managing instances at various cloud providers and aids in setting up a fuzzing cluster it can be used as a tool or as a library.

Build Status IRC

Setup

python3 -m pip install laniakea

or

pipenv install laniakea
pipenv run laniakea -h

Supported Cloud Providers

UserData Reference

Laniakea supports various macros to construct and maintain user-data files.

Note that not all modules are still supporting UserData files but use a container approach instead i.e Google Compute Engine. You can and probably should spawn containers within UserData files if you plan to chose to use this kind of initialization method.

@import(path_to_other_userdata_file)@
@macro_name@

You can use the -list-userdata-macros option to print out available macros inside a user-data file. Each of these macros can then be substituted with the -userdata-macros option.

Extending Laniakea

To extend Laniakea with new cloud providers you need to ...

  • Add a new folder in laniakea/core/providers/<cloud_provider>
  • Write a command-line interface and put it into the __init__.py
  • Write an API manager class and name it manager.py
  • Add additional files (i.e userdata scripts) to laniakea/userdata/
  • Add additional configuration files to laniakea/examples/

API Documentation

Laniakea Help Menu

usage: laniakea [-verbosity {1,2,3,4,5}] [-settings path] [-userdata path] [-list-userdata-macros] [-print-userdata]
                [-userdata-macros k=v [k=v ...]]
                ...

Laniakea Runtime v1.16.0

Laniakea Cloud Providers:
  Use -h to see the help menu of each provider.


    azure                         Microsoft Azure
    ec2                           Amazon Elastic Cloud Computing
    gce                           Google Compute Engine
    packet                        Packet Bare Metal

Laniakea Base Parameters:
  -verbosity {1,2,3,4,5}          Log sensitivity. (default: 2)
  -settings path                  Laniakea core settings. (default: ~/Library/Application Support/laniakea/laniakea.json)

UserData Parameters:
  -userdata path                  UserData script for the provisioning process. (default: None)
  -list-userdata-macros           List available macros. (default: False)
  -print-userdata                 Print the UserData script to stdout. (default: False)
  -userdata-macros k=v [k=v ...]  Custom macros for the UserData. (default: None)

The exit status is 0 for non-failures and 1 for failures.