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.