Documentation ¶
Index ¶
Constants ¶
const Version string = "skaffold/v1alpha1"
Variables ¶
This section is empty.
Functions ¶
func NewSkaffoldConfig ¶
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 ¶
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