Documentation
¶
Index ¶
Constants ¶
const Version string = "skaffold/v1alpha1"
!!! WARNING !!! This config version is already released, please DO NOT MODIFY the structs in this file.
Variables ¶
This section is empty.
Functions ¶
func NewSkaffoldConfig ¶ added in v0.28.0
func NewSkaffoldConfig() util.VersionedConfig
NewSkaffoldConfig creates a SkaffoldConfig
Types ¶
type Artifact ¶
type Artifact struct {
ImageName string `yaml:"imageName"`
DockerfilePath string `yaml:"dockerfilePath,omitempty"`
Workspace string `yaml:"workspace"`
BuildArgs map[string]*string `yaml:"buildArgs,omitempty"`
}
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,omitempty"`
BuildType `yaml:",inline"`
}
BuildConfig contains all the configuration for the build steps
type BuildType ¶
type BuildType struct {
LocalBuild *LocalBuild `yaml:"local,omitempty" yamltags:"oneOf=build"`
GoogleCloudBuild *GoogleCloudBuild `yaml:"googleCloudBuild,omitempty" yamltags:"oneOf=build"`
}
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,omitempty"`
DeployType `yaml:",inline"`
}
DeployConfig contains all the configuration needed by the deploy steps
type DeployType ¶
type DeployType struct {
HelmDeploy *HelmDeploy `yaml:"helm,omitempty" yamltags:"oneOf=deploy"`
KubectlDeploy *KubectlDeploy `yaml:"kubectl,omitempty" yamltags:"oneOf=deploy"`
}
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,omitempty"`
}
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
func (*SkaffoldConfig) GetVersion ¶
func (config *SkaffoldConfig) GetVersion() string
func (*SkaffoldConfig) Upgrade ¶ added in v0.28.0
func (config *SkaffoldConfig) Upgrade() (util.VersionedConfig, error)
Upgrade upgrades a configuration to the next version. Config changes from v1alpha1 to v1alpha2: 1. Additions
- Profiles
- BuildType.KanikoBuild
- LocalBuild.useDockerCLI, useBuildkit
- GoogleCloudBuild. DiskSizeGb, MachineType, Timeout, DockerImage
- DeployType.KustomizeDeploy
- KubectlDeploy.RemoteManifests, Flags - KubectlFlags type
- HelmRelease fields: setValues, setValueTemplates,wait,recreatePods,overrides,packaged,imageStrategy
- BazelArtifact introduced
- DockerArtifact fields: CacheFrom, Target
2. No removal 3. Updates
- TagPolicy is a struct