Deploy Apps to OpenFaas and faasd
OpenFaaS Apps
What is OpenFaaS?
OpenFaaS makes it relatively simple to deploy both serverless functions and existing code in stateless containers on Kubernetes or directly on Linux hosts, on any public or private cloud. Learn more at OpenFaas.com.
Package an App for OpenFaaS
For details on how to develop and package apps for AWS, see serverless example.
Deploy with appsctl
An App designed and bundled for OpenFaaS can be deployed to the customer’s own OpenFaaS or faasd environments, and then installed on a self-managed (“on-prem”) Mattermost server, using the appsctl openfaas deploy
command.
This command requires that faas-cli is installed and configured, with credentials sufficiently privileged to deploy functions.
OpenFaaS requires a docker registry to pass the images that it builds to the function instances, so docker
must have been configured, and docker login
done, with sufficient credentials to push to the registry of choice.
To deploy OpenFaaS Apps use appsctl openfaas deploy {openfaas-bundle.zip}
command. It will deploy all functions in the bundle, and “list” (upload the manifest of) the app in Mattermost server. --install
can be used to automatically install the app once it’s deployed.
Flags:
--docker-registry
: the docker registry name (will be used as a prefix for the image name) to push the function images to.--install
: install the app onto the Mattermost server once it’s been successfully deployed.--update
: update the function that already exists.
The command requires that the following environment variables are set:
MM_SERVICESETTINGS_SITEURL
: must be set to where the Mattermost server APIs can be accessed.MM_ADMIN_TOKEN
: must be set to access the Mattermost REST APIs.OPENFAAS_URL
: must be set to the admin (root) URL of the OpenFaaS installation.
Once deployed, apps can be installed interactively in Mattermost using /apps install listed
command.