Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
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.
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"`
}
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 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 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 io.Reader, 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.