faas-cli: github.com/openfaas/faas-cli/stack Index | Files

package stack

import "github.com/openfaas/faas-cli/stack"

Index

Package Files

language_template.go schema.go stack.go

Variables

var ValidSchemaVersions = []string{
    "1.0",
}

ValidSchemaVersions available schema versions

func IsValidSchemaVersion Uses

func IsValidSchemaVersion(schemaVersion string) bool

IsValidSchemaVersion validates schema version

func IsValidTemplate Uses

func IsValidTemplate(lang string) bool

type BuildOption Uses

type BuildOption struct {
    Name     string   `yaml:"name"`
    Packages []string `yaml:"packages"`
}

BuildOption a named build option for one or more packages

type Configuration Uses

type Configuration struct {
    StackConfig StackConfiguration `yaml:"configuration"`
}

Configuration for the stack.yml file

type EnvironmentFile Uses

type EnvironmentFile struct {
    Environment map[string]string `yaml:"environment"`
}

EnvironmentFile represents external file for environment data

type Function Uses

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"`

    // Docker registry Authorization
    RegistryAuth string `yaml:"registry_auth,omitempty"`

    FProcess string `yaml:"fprocess"`

    Environment map[string]string `yaml:"environment"`

    // Secrets list of secrets to be made available to function
    Secrets []string `yaml:"secrets"`

    SkipBuild bool `yaml:"skip_build"`

    Constraints *[]string `yaml:"constraints"`

    // EnvironmentFile is a list of files to import and override environmental variables.
    // These are overriden in order.
    EnvironmentFile []string `yaml:"environment_file"`

    Labels *map[string]string `yaml:"labels"`

    // Limits for function
    Limits *FunctionResources `yaml:"limits"`

    // Requests of resources requested by function
    Requests *FunctionResources `yaml:"requests"`

    // ReadOnlyRootFilesystem is used to set the container filesystem to read-only
    ReadOnlyRootFilesystem bool `yaml:"readonly_root_filesystem"`

    // BuildOptions to determine native packages
    BuildOptions []string `yaml:"build_options"`

    // Annotations
    Annotations *map[string]string `yaml:"annotations"`

    // Namespace of the function
    Namespace string `yaml:"namespace,omitempty"`
}

Function as deployed or built on FaaS

type FunctionResources Uses

type FunctionResources struct {
    Memory string `yaml:"memory"`
    CPU    string `yaml:"cpu"`
}

FunctionResources Memory and CPU

type LanguageTemplate Uses

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"`
}

LanguageTemplate read from template.yml within root of a language template folder

func LoadLanguageTemplate Uses

func LoadLanguageTemplate(lang string) (*LanguageTemplate, error)

LoadLanguageTemplate loads language template details from template.yml file.

func ParseYAMLDataForLanguageTemplate Uses

func ParseYAMLDataForLanguageTemplate(fileData []byte) (*LanguageTemplate, error)

ParseYAMLDataForLanguageTemplate parses YAML data into language template

func ParseYAMLForLanguageTemplate Uses

func ParseYAMLForLanguageTemplate(file string) (*LanguageTemplate, error)

type Provider Uses

type Provider struct {
    Name       string `yaml:"name"`
    GatewayURL string `yaml:"gateway"`
    Network    string `yaml:"network"`
}

Provider for the FaaS set of functions.

type Services Uses

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 Uses

func ParseYAMLData(fileData []byte, regex string, filter string, envsubst bool) (*Services, error)

ParseYAMLData parse YAML data into a stack of "services".

func ParseYAMLFile Uses

func ParseYAMLFile(yamlFile, regex, filter string, envsubst bool) (*Services, error)

ParseYAMLFile parse YAML file into a stack of "services".

type StackConfiguration Uses

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 Uses

type TemplateSource struct {
    Name   string `yaml:"name"`
    Source string `yaml:"source,omitempty"`
}

TemplateSource for build templates

Package stack imports 12 packages (graph) and is imported by 23 packages. Updated 2020-01-24. Refresh now. Tools for package owners.