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.yml 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.yml
type TemplateSource ¶
TemplateSource for build templates