After making a splash in the infrastructure as code movement, DevOps tools maker HashiCorp has pushed out version 0.1 of new open source project Waypoint in a bid to codify the whole application cycle.
According to company founder Mitchell Hashimoto, the software is meant to provide a “consistent workflow for build, deploy, and release across platforms”.The project started as a way to recreate “the Vagrant experience” (one command to set up an environment) for application deployment.
Waypoint isn’t HashiCorp’s first foray into workflow unification: an earlier attempt – project Otto – was decommissioned by the company in 2016, while commercial product Atlas suffered a similar fate. Waypoint, however, has not solely focused on the HashiCorp portfolio but is designed to provide a way of putting tools like Helm and Kubernetes into an order, devising a consistent workflow on top.
It breaks down the build, deploy, and release phases into the tool used to accomplish the task, its target platform, and the logic used to release the app into the world. All of those specifications are stored in a single configuration file along an application’s code, which is then used by the waypoint up command to get the information needed to build, deploy and release the app. If successful, the tool provides some URLs to access the application.
Hashimoto also highlighted what the Waypoint team calls “confidence in deployment” and includes ways to validate deployments via a browser UI or a command line tool through common execution and logging.
Waypoint is built to remind some practitioners of the pipeline configuration files present in various continuous integration and delivery tools. That said, Hashimoto said CI/CD is only one point of interaction for his latest creation, with others being chat (think Slack) and version control tools.
Out of the box, Waypoint is said to be able to work with Cloud Native Buildpacks, Docker, Kubernetes, AWS EC2 and ECS, Azure Container Instances, Google Cloud Run, and Netlify. The company however tried to make the project extensible so that community members should have a comparatively easy time writing plugins for other build methods and targets.