The Builders

Welcome to the Builders documentation! [builder-manifest][static-demo].

What are the Builders?

Hi friends! Welcome to the builders documentation! The Builder robots are served faithfully by the Singularity Global Client so you can run your own builds on different clouds of your choosing. This documentation is intended for developers of builders, and not using the builders. For using the builders, see the Singularity Global Client. The builder that you use (e.g., Google Compute) will logically map to the client there!

Why was it created?

Singularity Hub can support building of scientific containers that fall within a specific set of build environment and institutional needs. Specifically, the Singularity Hub Builders will perform a secure build and serve public containers that take 2 hours or less to build. If you belong to an institution that needs to build privately, needs to build at scale, or needs to build with a different environment entirely, it would be almost impossible for Singularity Hub to handle your use case.

For this reason in 2016 we developed Singularity Registry, allowing an institution to deploy their own registry and push containers to it. The idea behind this open source initiative is that while it would be hard to provide a central solution that works for all the different kinds of use cases, a modular and distributed framework that allows the single user or institution to select some set of builders and authorization plugins would go very far. Some registries will want to build, and others may not. Some might want to serve private containers, and others not. Some might want to use cloud resources, and others not. To meet the goals of flexibility and user needs, these builders will work with a Singularity Registry to provide not only storage but also building.

Builder Development

Read here if you are interested in adding a new builder. These sections will explain how this site serves a static builder API, and the contents of the metadata files included within.

Available Builders

Read here if you want to learn about how to contribute to a particular builder. If you are adding a new builder, you will want to add your notes and documentation under a section here.

Thanks for your patience as we develop the software and documentation! Please reach out if you have a question or want to contribute.

Getting Help

This is an open source project. Please contribute to the package, or post feedback and questions as issues. You’ll notice a little eliipsis () next to each header section. If you click this, you can open an issue relevant to the section, grab a permalink, or suggest a change. You can also talk to us directly on Gitter.

Gitter chat

License

This code is licensed under the Affero GPL, version 3.0 or later LICENSE.