finds.dev← search

// the find

HubSpot/Singularity

★ 827 · Java · Apache-2.0 · updated Jun 2023

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

Singularity is a Mesos framework that wraps Mesos scheduling complexity behind a REST API and web UI, letting teams deploy long-running services, cron jobs, and one-off tasks without knowing anything about Mesos offers or resource negotiation. HubSpot built and ran it in production for years before deprecating it in April 2022. It is effectively a museum piece at this point.

The request/deploy model is genuinely well-designed — separating what you want to run (a Request) from a specific version of how to run it (a Deploy) made rollbacks and canary deploys clean to reason about. Healthcheck and automatic rollback support was built in at the framework level, not bolted on. The web UI replaced the Mesos Master UI with something actually useful: you could tail logs, run shell commands on tasks, and inspect resource utilization per task. The Java client and REST API were complete enough that teams could automate deployments without touching the UI.

Mesos itself has been effectively dead since DC/OS folded and Kubernetes won — running Singularity today means also running a Mesos cluster that almost no one maintains. HubSpot formally stopped contributions in 2022 and the last release (1.5.0) is from that era, so any security issues in its ZooKeeper, Dropwizard, or Docker integration dependencies are yours to fix. The Docker setup for local development requires you to pull images that may no longer exist or work on modern Docker versions. And there is no migration path to Kubernetes or any other modern scheduler — if you adopted this, you own the exit.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →