In this HashiQube DevOps lab you will get hands on experience with HashiCorp Waypoint.
A consistent developer workflow to build, deploy, and release applications across any platform.
Waypoint supports
- aws-ec2
- aws-ecs
- azure-container-instance
- docker
- exec
- google-cloud-run
- kubernetes
- netlify
- nomad
- pack
- Waypoint 0.11 strengthens Terraform integrations and allows user API access
- Waypoint 0.10 Brings Custom Pipelines and Nomad Plugin Updates
- Waypoint 0.9 Adds New Runner Commands
In this whiteboard overview, HashiCorp Co-Founder and CTO, Armon Dadgar introduces HashiCorp Waypoint—a project that unifies workflows for build, deploy, and release across platforms. Learn what challenges it is designed to solve and see how it works.
https://www.hashicorp.com/blog/announcing-waypoint https://www.waypointproject.io/
Waypoint is a wonderful project and it's a firstclass citizen of Hashicorp and runs flawlessly on Nomad. To run Waypoint on Nomad do:
bash docker/docker.sh
bash nomad/nomad.sh
bash waypoint/waypoint.sh
vagrant up --provision-with basetools,docker,nomad,waypoint
docker compose exec hashiqube /bin/bash
bash hashiqube/basetools.sh
bash docker/docker.sh
bash nomad/nomad.sh
bash waypoint/waypoint.sh
Waypoint can also run on Kubernetes and we can test Waypoint using Minikube To run Waypoint on Kubernetes (Minikube) do:
bash hashiqube/basetools.sh
bash docker/docker.sh
bash minikube/minikube.sh
bash waypoint-kubernetes-minikube/waypoint-kubernetes-minikube.sh
vagrant up --provision-with basetools,docker,docsify,minikube,waypoint-kubernetes-minikube
docker compose exec hashiqube /bin/bash
bash hashiqube/basetools.sh
bash docker/docker.sh
bash minikube/minikube.sh
bash waypoint-kubernetes-minikube/waypoint-kubernetes-minikube.sh
The following Waypoint job file will deploy our Nomad T-Rex NodeJS Application to Nomad
The following Waypoint job file will deploy our Nomad T-Rex NodeJS Application to Kubernetes (Minikube)
Both the Nomad and Kubernetes Applications have a similar Dockerfile
# syntax=docker/dockerfile:1
FROM node:14.20.0
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN echo "nameserver 10.9.99.10" > /etc/resolv.conf
EXPOSE 6001
CMD [ "node", "index.js" ]
waypoint.sh