config

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2018 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultDevSkaffoldConfig = &SkaffoldConfig{
	Build: BuildConfig{
		TagPolicy: constants.DefaultDevTagStrategy,
	},
}

DefaultDevSkaffoldConfig is a partial set of defaults for the SkaffoldConfig when dev mode is specified. Each API is responsible for setting its own defaults that are not top level.

View Source
var DefaultRunSkaffoldConfig = &SkaffoldConfig{
	Build: BuildConfig{
		TagPolicy: constants.DefaultRunTagStrategy,
	},
}

DefaultRunSkaffoldConfig is a partial set of defaults for the SkaffoldConfig when run mode is specified. Each API is responsible for setting its own defaults that are not top level.

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	ImageName      string             `yaml:"imageName"`
	DockerfilePath string             `yaml:"dockerfilePath"`
	Workspace      string             `yaml:"workspace"`
	BuildArgs      map[string]*string `yaml:"buildArgs"`
}

Artifact represents items that need should be built, along with the context in which they should be built.

type BuildConfig

type BuildConfig struct {
	Artifacts []*Artifact `yaml:"artifacts"`
	TagPolicy string      `yaml:"tagPolicy"`
	BuildType `yaml:",inline"`
}

BuildConfig contains all the configuration for the build steps

type BuildType

type BuildType struct {
	LocalBuild       *LocalBuild       `yaml:"local"`
	GoogleCloudBuild *GoogleCloudBuild `yaml:"googleCloudBuild"`
}

BuildType contains the specific implementation and parameters needed for the build step. Only one field should be populated.

type DeployConfig

type DeployConfig struct {
	Name       string `yaml:"name"`
	DeployType `yaml:",inline"`
}

DeployConfig contains all the configuration needed by the deploy steps

type DeployType

type DeployType struct {
	HelmDeploy    *HelmDeploy    `yaml:"helm"`
	KubectlDeploy *KubectlDeploy `yaml:"kubectl"`
}

DeployType contains the specific implementation and parameters needed for the deploy step. Only one field should be populated.

type GoogleCloudBuild

type GoogleCloudBuild struct {
	ProjectID string `yaml:"projectId"`
}

type HelmDeploy

type HelmDeploy struct {
	Releases []HelmRelease `yaml:"releases"`
}

type HelmRelease

type HelmRelease struct {
	Name           string            `yaml:"name"`
	ChartPath      string            `yaml:"chartPath"`
	ValuesFilePath string            `yaml:"valuesFilePath"`
	Values         map[string]string `yaml:"values"`
	Namespace      string            `yaml:"namespace"`
}

type KubectlDeploy

type KubectlDeploy struct {
	Manifests []Manifest `yaml:"manifests"`
}

KubectlDeploy contains the configuration needed for deploying with `kubectl apply`

type LocalBuild

type LocalBuild struct {
	SkipPush *bool `yaml:"skipPush"`
}

LocalBuild contains the fields needed to do a build on the local docker daemon and optionally push to a repository.

type Manifest

type Manifest struct {
	Paths      []string          `yaml:"paths"`
	Parameters map[string]string `yaml:"parameters"`
}

type SkaffoldConfig

type SkaffoldConfig struct {
	APIVersion string `yaml:"apiVersion"`
	Kind       string `yaml:"kind"`

	Build  BuildConfig  `yaml:"build"`
	Deploy DeployConfig `yaml:"deploy"`
}

SkaffoldConfig is the top level config object that is parsed from a skaffold.yaml

APIVersion and Kind are currently reserved for future use.

func Parse

func Parse(config []byte, defaultConfig *SkaffoldConfig) (*SkaffoldConfig, error)

Parse reads from an io.Reader and unmarshals the result into a SkaffoldConfig. The default config argument provides default values for the config, which can be overridden if present in the config file.

type SkaffoldOptions

type SkaffoldOptions struct {
	DevMode      bool
	Notification bool
	CustomTag    string
	Output       io.Writer
}

SkaffoldOptions are options that are set by command line arguments not included in the config file itself

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL