mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-09 00:16:46 +00:00
This patch completes part of the work in #20 by porting the code for faas-containerd in-tree. When tested, I was able to deploy and then remove figlet from the store on `x86_64`. In a follow-up PR, duplication will be removed where possible and consolidated with updated documentation. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
36 lines
900 B
Go
36 lines
900 B
Go
package config
|
|
|
|
import (
|
|
"time"
|
|
|
|
types "github.com/openfaas/faas-provider/types"
|
|
)
|
|
|
|
type ProviderConfig struct {
|
|
// Sock is the address of the containerd socket
|
|
Sock string
|
|
}
|
|
|
|
// ReadFromEnv loads the FaaSConfig and the Containerd specific config form the env variables
|
|
func ReadFromEnv(hasEnv types.HasEnv) (*types.FaaSConfig, *ProviderConfig, error) {
|
|
config, err := types.ReadConfig{}.Read(hasEnv)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
serviceTimeout := types.ParseIntOrDurationValue(hasEnv.Getenv("service_timeout"), time.Second*60)
|
|
|
|
config.EnableHealth = true
|
|
config.ReadTimeout = serviceTimeout
|
|
config.WriteTimeout = serviceTimeout
|
|
|
|
port := types.ParseIntValue(hasEnv.Getenv("port"), 8081)
|
|
config.TCPPort = &port
|
|
|
|
providerConfig := &ProviderConfig{
|
|
Sock: types.ParseString(hasEnv.Getenv("sock"), "/run/containerd/containerd.sock"),
|
|
}
|
|
|
|
return config, providerConfig, nil
|
|
}
|