This repository contains an OpenFaaS provider for the HashiCorp Nomad scheduler. OpenFaaS allows you to run your private functions as a service. Functions are packaged in Docker Containers which enables you to work in any language and also interact with any software which can also be installed in the container.
Inspired by hashicorp/faas-nomad.
Vagrant is a tool for provisioning dev environments. The Vagrantfile
governs the Vagrant configuration:
- Install Vagrant via download links or package manager
- Install VirtualBox via download links
vagrant up
The provisioners install Docker, Nomad, Consul, and Vault then launch OpenFaaS components with Nomad. If successful, the following services will be available over the private network (192.168.50.2):
- Nomad (v1.1.3) - http://192.168.50.2:4646
- Consul (v1.10.1) - http://192.168.50.2:8500
- Vault (v1.8.0) - http://192.168.50.2:8200
- Prometheus (2.14.0) - http://192.168.50.2:9090
- OpenFaaS Gateway (0.21.1) - http://192.168.50.2:8080
This setup is intended to streamline local development of the faas-nomad provider with a more complete setup of the hashicorp ecosystem. Therefore, it is assumed that the faas-nomad source code is located on your workstation, and or is configured to listen on 0.0.0.0:8080 when debugging/running the Go process.
If you would like to test OpenFaaS running on a remote cluster, more demos and instructions are (or will be) available here: jsiebens/faas-nomad-demos · GitHub
Regardless of which method you use interacting with OpenFaaS is the same.