Documentation
¶
Index ¶
- Constants
- func NewSkaffoldConfig() util.VersionedConfig
- type Artifact
- type ArtifactType
- type BazelArtifact
- type BuildConfig
- type BuildType
- type DateTimeTagger
- type DeployConfig
- type DeployType
- type DockerArtifact
- type EnvTemplateTagger
- type GitTagger
- type GoogleCloudBuild
- type HelmConventionConfig
- type HelmDeploy
- type HelmFQNConfig
- type HelmImageConfig
- type HelmImageStrategy
- type HelmPackaged
- type HelmRelease
- type KanikoBuild
- type KubectlDeploy
- type KubectlFlags
- type KustomizeDeploy
- type LocalBuild
- type Profile
- type ShaTagger
- type SkaffoldConfig
- type TagPolicy
Constants ¶
const Version string = "skaffold/v1alpha2"
!!! 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"`
Workspace string `yaml:"workspace,omitempty"`
ArtifactType `yaml:",inline"`
}
Artifact represents items that need to be built, along with the context in which they should be built.
type ArtifactType ¶
type ArtifactType struct {
DockerArtifact *DockerArtifact `yaml:"docker,omitempty" yamltags:"oneOf=artifact"`
BazelArtifact *BazelArtifact `yaml:"bazel,omitempty" yamltags:"oneOf=artifact"`
}
type BazelArtifact ¶
type BazelArtifact struct {
BuildTarget string `yaml:"target"`
}
type BuildConfig ¶
type BuildConfig struct {
Artifacts []*Artifact `yaml:"artifacts,omitempty"`
TagPolicy TagPolicy `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"`
KanikoBuild *KanikoBuild `yaml:"kaniko,omitempty" yamltags:"oneOf=build"`
}
BuildType contains the specific implementation and parameters needed for the build step. Only one field should be populated.
type DateTimeTagger ¶ added in v0.7.0
type DateTimeTagger struct {
Format string `yaml:"format,omitempty"`
TimeZone string `yaml:"timezone,omitempty"`
}
DateTimeTagger contains the configuration for the DateTime tagger.
type DeployConfig ¶
type DeployConfig struct {
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"`
KustomizeDeploy *KustomizeDeploy `yaml:"kustomize,omitempty" yamltags:"oneOf=deploy"`
}
DeployType contains the specific implementation and parameters needed for the deploy step. Only one field should be populated.
type DockerArtifact ¶
type EnvTemplateTagger ¶
type EnvTemplateTagger struct {
Template string `yaml:"template"`
}
EnvTemplateTagger contains the configuration for the envTemplate tagger.
type GoogleCloudBuild ¶
type GoogleCloudBuild struct {
ProjectID string `yaml:"projectId"`
DiskSizeGb int64 `yaml:"diskSizeGb,omitempty"`
MachineType string `yaml:"machineType,omitempty"`
Timeout string `yaml:"timeout,omitempty"`
DockerImage string `yaml:"dockerImage,omitempty"`
}
GoogleCloudBuild contains the fields needed to do a remote build on Google Cloud Build.
type HelmConventionConfig ¶ added in v0.11.0
type HelmConventionConfig struct {
}
HelmConventionConfig represents image config in the syntax of image.repository and image.tag
type HelmDeploy ¶
type HelmDeploy struct {
Releases []HelmRelease `yaml:"releases,omitempty"`
}
HelmDeploy contains the configuration needed for deploying with helm
type HelmFQNConfig ¶ added in v0.11.0
type HelmFQNConfig struct {
Property string `yaml:"property"`
}
HelmFQNConfig represents image config to use the FullyQualifiedImageName as param to set
type HelmImageConfig ¶ added in v0.11.0
type HelmImageConfig struct {
HelmFQNConfig *HelmFQNConfig `yaml:"fqn" yamltags:"oneOf=helmImageStrategy"`
HelmConventionConfig *HelmConventionConfig `yaml:"helm" yamltags:"oneOf=helmImageStrategy"`
}
type HelmImageStrategy ¶ added in v0.11.0
type HelmImageStrategy struct {
HelmImageConfig `yaml:",inline"`
}
type HelmPackaged ¶ added in v0.8.0
type HelmPackaged struct {
// Version sets the version on the chart to this semver version.
Version string `yaml:"version"`
// AppVersion set the appVersion on the chart to this version
AppVersion string `yaml:"appVersion"`
}
HelmPackaged represents parameters for packaging helm chart.
type HelmRelease ¶
type HelmRelease struct {
Name string `yaml:"name"`
ChartPath string `yaml:"chartPath"`
ValuesFilePath string `yaml:"valuesFilePath"`
Values map[string]string `yaml:"values,omitempty"`
Namespace string `yaml:"namespace"`
Version string `yaml:"version"`
SetValues map[string]string `yaml:"setValues"`
SetValueTemplates map[string]string `yaml:"setValueTemplates"`
Wait bool `yaml:"wait"`
RecreatePods bool `yaml:"recreatePods"`
Overrides util.HelmOverrides `yaml:"overrides"`
Packaged *HelmPackaged `yaml:"packaged"`
ImageStrategy HelmImageStrategy `yaml:"imageStrategy"`
}
type KanikoBuild ¶ added in v0.5.0
type KanikoBuild struct {
GCSBucket string `yaml:"gcsBucket,omitempty"`
PullSecret string `yaml:"pullSecret,omitempty"`
PullSecretName string `yaml:"pullSecretName,omitempty"`
Namespace string `yaml:"namespace,omitempty"`
Timeout string `yaml:"timeout,omitempty"`
}
KanikoBuild contains the fields needed to do a on-cluster build using the kaniko image
type KubectlDeploy ¶
type KubectlDeploy struct {
Manifests []string `yaml:"manifests,omitempty"`
RemoteManifests []string `yaml:"remoteManifests,omitempty"`
Flags KubectlFlags `yaml:"flags,omitempty"`
}
KubectlDeploy contains the configuration needed for deploying with `kubectl apply`
type KubectlFlags ¶ added in v0.10.0
type KubectlFlags struct {
Global []string `yaml:"global,omitempty"`
Apply []string `yaml:"apply,omitempty"`
Delete []string `yaml:"delete,omitempty"`
}
KubectlFlags describes additional options flags that are passed on the command line to kubectl either on every command (Global), on creations (Apply) or deletions (Delete).
type KustomizeDeploy ¶ added in v0.7.0
type KustomizeDeploy struct {
KustomizePath string `yaml:"kustomizePath,omitempty"`
Flags KubectlFlags `yaml:"flags,omitempty"`
}
type LocalBuild ¶
type LocalBuild struct {
SkipPush *bool `yaml:"skipPush,omitempty"`
UseDockerCLI bool `yaml:"useDockerCLI,omitempty"`
UseBuildkit bool `yaml:"useBuildkit,omitempty"`
}
LocalBuild contains the fields needed to do a build on the local docker daemon and optionally push to a repository.
type Profile ¶
type Profile struct {
Name string `yaml:"name"`
Build BuildConfig `yaml:"build,omitempty"`
Deploy DeployConfig `yaml:"deploy,omitempty"`
}
Profile is additional configuration that overrides default configuration when it is activated.
type SkaffoldConfig ¶
type SkaffoldConfig struct {
APIVersion string `yaml:"apiVersion"`
Kind string `yaml:"kind"`
Build BuildConfig `yaml:"build,omitempty"`
Deploy DeployConfig `yaml:"deploy,omitempty"`
Profiles []Profile `yaml:"profiles,omitempty"`
}
func (*SkaffoldConfig) GetVersion ¶
func (c *SkaffoldConfig) GetVersion() string
func (*SkaffoldConfig) Upgrade ¶ added in v0.28.0
func (c *SkaffoldConfig) Upgrade() (util.VersionedConfig, error)
Upgrade upgrades a configuration to the next version. Config changes from v1alpha2 to v1alpha3: 1. No additions 2. No removal 3. Updates
- KanikoBuildContext instead of GCSBucket
- HelmRelease.valuesFilePath -> valuesFiles in yaml
type TagPolicy ¶
type TagPolicy struct {
GitTagger *GitTagger `yaml:"gitCommit,omitempty" yamltags:"oneOf=tag"`
ShaTagger *ShaTagger `yaml:"sha256,omitempty" yamltags:"oneOf=tag"`
EnvTemplateTagger *EnvTemplateTagger `yaml:"envTemplate,omitempty" yamltags:"oneOf=tag"`
DateTimeTagger *DateTimeTagger `yaml:"dateTime,omitempty" yamltags:"oneOf=tag"`
}
TagPolicy contains all the configuration for the tagging step