Singularity icon indicating copy to clipboard operation
Singularity copied to clipboard

Scheduler (HTTP API and webapp) for running Mesos tasks—long running processes, one-off tasks, and scheduled jobs. #hubspot-open-source

IMPORTANT DEPRECATION NOTICE

This project is no longer actively maintained

As of April 2022, the HubSpot team has stopped new contributions to the open source version of Singularity. The slack channel will remain open for the time being for additional questions or support but no further releases will be published.


Singularity

Latest Release Version: 1.5.0

Mesos Version: 1.9.0

Build Status

Overview

Singularity is an API and web application for running and scheduling Apache Mesos tasks — including long running processes, scheduled jobs, and one-off tasks.

It focuses on a batteries-included approach: Singularity and its components provide an entire Platform as a Service (PaaS) to end-users. It has many features which have been introduced to reduce developer friction and ensure proper operation and reliable deployment of tasks. Users may even be unfamiliar with and shielded from the details of Mesos.

For a more thorough explanation of the concepts behind Singularity and Mesos click here.


Features

  • Native Docker Support
  • JSON REST API and Java Client
  • Fully featured web application (replaces and improves Mesos Master UI)
  • Rich load balancer integration with Baragon
  • Deployments, automatic rollbacks, and healthchecks
  • Webhooks for third party integrations
  • Configurable email alerts to service owners
  • Historical deployment and task data
  • Custom executor with extended log features

Try It Out!

If you want to give Singularity a try, you can install docker and docker-compose to run our example cluster.

Run docker-compose pull first to get all of the needed images. Note: This may take a few minutes

Then simply run docker-compose up and it will start containers for...

  • mesos master
  • mesos slave (docker/mesos containerizers enabled)
  • zookeeper
  • Singularity
  • Baragon Service for load balancer management
  • Baragon Agent + Nginx as a load balancer

...and the following UIs will be available:

if using boot2docker or another vm, replace localhost with the ip of your vm


Getting Started

Requirements
Contact

Reference

Installation

  • Installation Instructions

Deployment

  • API
  • Configuration
  • Examples
  • Request and Deploy Concepts
  • Custom Executor Components

Development

  • Local Development with Docker
  • Hacking on the UI
  • Understanding the basepom / Maven structure
  • Third-party load balancer API design requirements

Singularity is built and used by a number of different companies. Check out the list of adopters here.