mirror of
https://github.com/openfaas/faas.git
synced 2025-06-17 12:46:59 +00:00
The basic-auth middleware and credentials-loading code has been moved into the faas-provider project. This has now been brought back into the faas project via vendoring. Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
faas-provider
This is a common template or interface for you to start building your own OpenFaaS backend.
Checkout the backends guide here before starting.
OpenFaaS projects use the MIT License and are written in Golang. We encourage the same for external / third-party providers.
How to use this code
We will setup all the standard HTTP routes for you, then start listening on a given TCP port - it should be 8080.
Just implement the supplied routes.
For an example checkout the server.go file in the faas-netes Kubernetes backend.
I.e.:
bootstrapHandlers := bootTypes.FaaSHandlers{
FunctionProxy: handlers.MakeProxy(),
DeleteHandler: handlers.MakeDeleteHandler(clientset),
DeployHandler: handlers.MakeDeployHandler(clientset),
FunctionReader: handlers.MakeFunctionReader(clientset),
ReplicaReader: handlers.MakeReplicaReader(clientset),
ReplicaUpdater: handlers.MakeReplicaUpdater(clientset),
InfoHandler: handlers.MakeInfoHandler(),
}
var port int
port = 8080
bootstrapConfig := bootTypes.FaaSConfig{
ReadTimeout: time.Second * 8,
WriteTimeout: time.Second * 8,
TCPPort: &port,
}
bootstrap.Serve(&bootstrapHandlers, &bootstrapConfig)