Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ValidSchemaVersions = []string{
"1.0",
}
ValidSchemaVersions available schema versions
Functions ¶
func IsValidSchemaVersion ¶
IsValidSchemaVersion validates schema version
func IsValidTemplate ¶
Types ¶
type BuildOption ¶
BuildOption a named build option for one or more packages
type Configuration ¶
type Configuration struct {
StackConfig StackConfiguration `yaml:"configuration"`
}
Configuration for the stack.yaml file
type EnvironmentFile ¶
EnvironmentFile represents external file for environment data
type Function ¶
type Function struct {
// Name of deployed function
Name string `yaml:"-"`
Language string `yaml:"lang"`
// Handler Local folder to use for function
Handler string `yaml:"handler"`
// Image Docker image name
Image string `yaml:"image"`
FProcess string `yaml:"fprocess"`
Environment map[string]string `yaml:"environment"`
// Secrets list of secrets to be made available to function
Secrets []string `yaml:"secrets,omitempty"`
SkipBuild bool `yaml:"skip_build,omitempty"`
Constraints *[]string `yaml:"constraints,omitempty"`
// EnvironmentFile is a list of files to import and override environmental variables.
// These are overriden in order.
EnvironmentFile []string `yaml:"environment_file,omitempty"`
Labels *map[string]string `yaml:"labels,omitempty"`
// Limits for function
Limits *FunctionResources `yaml:"limits,omitempty"`
// Requests of resources requested by function
Requests *FunctionResources `yaml:"requests,omitempty"`
// ReadOnlyRootFilesystem is used to set the container filesystem to read-only
ReadOnlyRootFilesystem bool `yaml:"readonly_root_filesystem,omitempty"`
// BuildOptions to determine native packages
BuildOptions []string `yaml:"build_options,omitempty"`
// Annotations
Annotations *map[string]string `yaml:"annotations,omitempty"`
// Namespace of the function
Namespace string `yaml:"namespace,omitempty"`
// BuildArgs for providing build-args
BuildArgs map[string]string `yaml:"build_args,omitempty"`
// Platforms for use with buildx and faas-cli publish
Platforms string `yaml:"platforms,omitempty"`
// BuildSecrets is a set of secrets to mount with buildkit
BuildSecrets map[string]string `yaml:"build_secrets,omitempty"`
}
Function as deployed or built on FaaS
type FunctionResources ¶
FunctionResources Memory and CPU
type LanguageTemplate ¶
type LanguageTemplate struct {
Language string `yaml:"language,omitempty"`
FProcess string `yaml:"fprocess,omitempty"`
BuildOptions []BuildOption `yaml:"build_options,omitempty"`
// WelcomeMessage is printed to the user after generating a function
WelcomeMessage string `yaml:"welcome_message,omitempty"`
// HandlerFolder to copy the function code into
HandlerFolder string `yaml:"handler_folder,omitempty"`
MountSSH bool `yaml:"mount_ssh,omitempty"`
}
LanguageTemplate read from template.yml within root of a language template folder
func LoadLanguageTemplate ¶
func LoadLanguageTemplate(lang string) (*LanguageTemplate, error)
LoadLanguageTemplate loads language template details from template.yml file.
func ParseYAMLDataForLanguageTemplate ¶
func ParseYAMLDataForLanguageTemplate(fileData []byte) (*LanguageTemplate, error)
ParseYAMLDataForLanguageTemplate parses YAML data into language template
func ParseYAMLForLanguageTemplate ¶
func ParseYAMLForLanguageTemplate(file string) (*LanguageTemplate, error)
type Services ¶
type Services struct {
Version string `yaml:"version,omitempty"`
Functions map[string]Function `yaml:"functions,omitempty"`
Provider Provider `yaml:"provider,omitempty"`
StackConfiguration StackConfiguration `yaml:"configuration,omitempty"`
}
Services root level YAML file to define FaaS function-set
func ParseYAMLData ¶
ParseYAMLData parse YAML data into a stack of "services".
type StackConfiguration ¶
type StackConfiguration struct {
TemplateConfigs []TemplateSource `yaml:"templates"`
// CopyExtraPaths specifies additional paths (relative to the stack file) that will be copied
// into the functions build context, e.g. specifying `"common"` will look for and copy the
// "common/" folder of file in the same root as the stack file. All paths must be contained
// within the project root defined by the location of the stack file.
//
// The yaml uses the shorter name `copy` to make it easier for developers to read and use
CopyExtraPaths []string `yaml:"copy"`
}
StackConfiguration for the overall stack.yaml
type TemplateSource ¶
TemplateSource for build templates