Documentation ¶
Index ¶
- Constants
- func NewSkaffoldConfig() util.VersionedConfig
- type Activation
- type Artifact
- type ArtifactType
- type BazelArtifact
- type BuildConfig
- type BuildType
- type DateTimeTagger
- type DeployConfig
- type DeployType
- type DockerArtifact
- type DockerConfig
- type EnvTemplateTagger
- type GitTagger
- type GoogleCloudBuild
- type HelmConventionConfig
- type HelmDeploy
- type HelmFQNConfig
- type HelmImageConfig
- type HelmImageStrategy
- type HelmPackaged
- type HelmRelease
- type JibGradleArtifact
- type JibMavenArtifact
- type KanikoBuild
- type KanikoBuildContext
- type KanikoCache
- type KubectlDeploy
- type KubectlFlags
- type KustomizeDeploy
- type LocalBuild
- type LocalDir
- type Profile
- type ShaTagger
- type SkaffoldConfig
- type TagPolicy
- type TestCase
- type TestConfig
Constants ¶
const Version string = "skaffold/v1beta4"
Variables ¶
This section is empty.
Functions ¶
func NewSkaffoldConfig ¶
func NewSkaffoldConfig() util.VersionedConfig
NewSkaffoldConfig creates a SkaffoldConfig
Types ¶
type Activation ¶
type Activation struct { Env string `yaml:"env,omitempty"` KubeContext string `yaml:"kubeContext,omitempty"` Command string `yaml:"command,omitempty"` }
Activation defines criteria to auto-activate a profile.
type Artifact ¶
type Artifact struct { ImageName string `yaml:"image,omitempty"` Workspace string `yaml:"context,omitempty"` Sync map[string]string `yaml:"sync,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"` JibMavenArtifact *JibMavenArtifact `yaml:"jibMaven,omitempty" yamltags:"oneOf=artifact"` JibGradleArtifact *JibGradleArtifact `yaml:"jibGradle,omitempty" yamltags:"oneOf=artifact"` }
type BazelArtifact ¶
type BazelArtifact struct { BuildTarget string `yaml:"target,omitempty"` BuildArgs []string `yaml:"args,omitempty"` }
BazelArtifact describes an artifact built with Bazel.
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 ¶
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 DockerArtifact struct { DockerfilePath string `yaml:"dockerfile,omitempty"` BuildArgs map[string]*string `yaml:"buildArgs,omitempty"` CacheFrom []string `yaml:"cacheFrom,omitempty"` Target string `yaml:"target,omitempty"` }
DockerArtifact describes an artifact built from a Dockerfile, usually using `docker build`.
type DockerConfig ¶
type DockerConfig struct { Path string `yaml:"path,omitempty"` SecretName string `yaml:"secretName,omitempty"` }
DockerConfig contains information about the docker config.json to mount
type EnvTemplateTagger ¶
type EnvTemplateTagger struct {
Template string `yaml:"template,omitempty"`
}
EnvTemplateTagger contains the configuration for the envTemplate tagger.
type GoogleCloudBuild ¶
type GoogleCloudBuild struct { ProjectID string `yaml:"projectId,omitempty"` DiskSizeGb int64 `yaml:"diskSizeGb,omitempty"` MachineType string `yaml:"machineType,omitempty"` Timeout string `yaml:"timeout,omitempty"` DockerImage string `yaml:"dockerImage,omitempty"` MavenImage string `yaml:"mavenImage,omitempty"` GradleImage string `yaml:"gradleImage,omitempty"` }
GoogleCloudBuild contains the fields needed to do a remote build on Google Cloud Build.
type HelmConventionConfig ¶
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 ¶
type HelmFQNConfig struct {
Property string `yaml:"property,omitempty"`
}
HelmFQNConfig represents image config to use the FullyQualifiedImageName as param to set
type HelmImageConfig ¶
type HelmImageConfig struct { HelmFQNConfig *HelmFQNConfig `yaml:"fqn,omitempty" yamltags:"oneOf=helmImageStrategy"` HelmConventionConfig *HelmConventionConfig `yaml:"helm,omitempty" yamltags:"oneOf=helmImageStrategy"` }
type HelmImageStrategy ¶
type HelmImageStrategy struct {
HelmImageConfig `yaml:",inline"`
}
type HelmPackaged ¶
type HelmPackaged struct { // Version sets the version on the chart to this semver version. Version string `yaml:"version,omitempty"` // AppVersion set the appVersion on the chart to this version AppVersion string `yaml:"appVersion,omitempty"` }
HelmPackaged represents parameters for packaging helm chart.
type HelmRelease ¶
type HelmRelease struct { Name string `yaml:"name,omitempty"` ChartPath string `yaml:"chartPath,omitempty"` ValuesFiles []string `yaml:"valuesFiles,omitempty"` Values map[string]string `yaml:"values,omitempty,omitempty"` Namespace string `yaml:"namespace,omitempty"` Version string `yaml:"version,omitempty"` SetValues map[string]string `yaml:"setValues,omitempty"` SetValueTemplates map[string]string `yaml:"setValueTemplates,omitempty"` Wait bool `yaml:"wait,omitempty"` RecreatePods bool `yaml:"recreatePods,omitempty"` SkipBuildDependencies bool `yaml:"skipBuildDependencies,omitempty"` Overrides util.HelmOverrides `yaml:"overrides,omitempty"` Packaged *HelmPackaged `yaml:"packaged,omitempty"` ImageStrategy HelmImageStrategy `yaml:"imageStrategy,omitempty"` }
type JibGradleArtifact ¶
type JibGradleArtifact struct { // Only multi-module Project string `yaml:"project"` }
type JibMavenArtifact ¶
type KanikoBuild ¶
type KanikoBuild struct { BuildContext *KanikoBuildContext `yaml:"buildContext,omitempty"` Cache *KanikoCache `yaml:"cache,omitempty"` AdditionalFlags []string `yaml:"flags,omitempty"` PullSecret string `yaml:"pullSecret,omitempty"` PullSecretName string `yaml:"pullSecretName,omitempty"` Namespace string `yaml:"namespace,omitempty"` Timeout string `yaml:"timeout,omitempty"` Image string `yaml:"image,omitempty"` DockerConfig *DockerConfig `yaml:"dockerConfig,omitempty"` }
KanikoBuild contains the fields needed to do a on-cluster build using the kaniko image
type KanikoBuildContext ¶
type KanikoBuildContext struct { GCSBucket string `yaml:"gcsBucket,omitempty" yamltags:"oneOf=buildContext"` LocalDir *LocalDir `yaml:"localDir,omitempty" yamltags:"oneOf=buildContext"` }
KanikoBuildContext contains the different fields available to specify a kaniko build context
type KanikoCache ¶
type KanikoCache struct {
Repo string `yaml:"repo,omitempty"`
}
KanikoCache contains fields related to kaniko caching
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 ¶
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 ¶
type KustomizeDeploy struct { KustomizePath string `yaml:"path,omitempty"` Flags KubectlFlags `yaml:"flags,omitempty"` }
KustomizeDeploy contains the configuration needed for deploying with kustomize.
type LocalBuild ¶
type LocalBuild struct { Push *bool `yaml:"push,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 LocalDir ¶
type LocalDir struct { }
LocalDir represents the local directory kaniko build context
type Profile ¶
type Profile struct { Name string `yaml:"name,omitempty"` Build BuildConfig `yaml:"build,omitempty"` Test TestConfig `yaml:"test,omitempty"` Deploy DeployConfig `yaml:"deploy,omitempty"` Patches yamlpatch.Patch `yaml:"patches,omitempty"` Activation []Activation `yaml:"activation,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"` Test TestConfig `yaml:"test,omitempty"` Deploy DeployConfig `yaml:"deploy,omitempty"` Profiles []Profile `yaml:"profiles,omitempty"` }
func (*SkaffoldConfig) GetVersion ¶
func (c *SkaffoldConfig) GetVersion() string
func (*SkaffoldConfig) Upgrade ¶
func (config *SkaffoldConfig) Upgrade() (util.VersionedConfig, error)
Upgrade upgrades a configuration to the next version. Config changes from v1beta4 to v1beta5 1. Additions: executionEnvironment artifact builder plugin jibMaven flags jibGradle flags 2. No removals 3. No updates
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
type TestCase ¶
type TestCase struct { ImageName string `yaml:"image"` StructureTests []string `yaml:"structureTests,omitempty"` }
TestCase is a struct containing all the specified test configuration for an image.
type TestConfig ¶
type TestConfig []*TestCase