Warpforge: Decentralized supply chain management for building... Everything! - Eric Myhre
Warpforge is a build sandbox tool that improves the software creation cycle by focusing on reproducibility. Like other (in?)famous container systems, Warpforge handles fetching filesystem snapshots and setting them up in a sandbox. Unlike other most other container systems, Warpforge also: - allows you to freely compose multiple filesystem snapshots, at any paths you choose; - identifies all filesystem snapshots by hash -- for strong supply chain security! - allows you to specify directories that should be artifacts at the end of a build -- it isn't limited to just whole system images; - and has a completely decentralized package management system -- just like git, it's based on simple, content-addressed data structures that are easy to sync and can be hosted anywhere. There's no focus on any particular programming language or build environment. Warpforge is a general tool. All of these features are API-driven. Developers can use Warpforge's high-level CLI, or drive individual features via a simple JSON API. Build instructions can be written in plain JSON, or created in Starlark (an easy-to-use python dialect), or in other templating tools of your choice, which are all easily integrated. Compared to Bazel/Blaze and other general build management systems: Warpforge aims to fill a similar niche, but with much greater emphasis on being able to work in decentralized environments, and to be collaborative without requiring strict coordination. (We observe that most other general build management systems seem to only survive and thrive when used together with a monorepo: this is a constraint we wish to move beyond!) Warpforge is still a young project, but has numerous active contributors, and we're setting out to prove what Warpforge can do by building real, significant software -- such as extremely portable, distro-agnostic, completely reproducible packages of software like `bash` and `python` and `vim` and `emacs`. In this talk, we'll first introduce the motivations and long-term vision of the project; then explore some demos; then overview the API and dive deeply on how the API design emphasizes decentralization and friendliness to open-source collaboration. Finally, we'll talk about where we'd love to see you in the audience try out Warpforge for your needs! Check out our new channel: NDC Clips: @ndcclips Check out more of our featured speakers and talks at https://ndcconferences.com/ https://ndcoslo.com/