v1beta3

package
v1.39.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2023 License: Apache-2.0 Imports: 3 Imported by: 2

Documentation

Index

Constants

View Source
const Version string = "skaffold/v1beta3"

!!! 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:"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 GitTagger

type GitTagger struct{}

GitTagger contains the configuration for the git 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"`
	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 JibMavenArtifact struct {
	// Only multi-module
	Module  string `yaml:"module"`
	Profile string `yaml:"profile"`
}

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"`
}

Profile is additional configuration that overrides default configuration when it is activated.

type ShaTagger

type ShaTagger struct{}

ShaTagger contains the configuration for the SHA tagger.

type SkaffoldConfig added in v0.28.0

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 added in v0.28.0

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 v1beta3 to v1beta4 1. Additions: helm skipBuildDependencies profile patches profile activation 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL