v1beta2

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2019 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Index

Constants

View Source
const Version string = "skaffold/v1beta2"

Variables

This section is empty.

Functions

func NewSkaffoldPipeline

func NewSkaffoldPipeline() util.VersionedConfig

NewSkaffoldPipeline creates a SkaffoldPipeline

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

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"`
	HelmConventionConfig *HelmConventionConfig `yaml:"helm,omitempty"`
}

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         map[string]interface{} `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"`
}

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 SkaffoldPipeline

type SkaffoldPipeline 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 (*SkaffoldPipeline) GetVersion

func (c *SkaffoldPipeline) GetVersion() string

func (*SkaffoldPipeline) Upgrade

func (config *SkaffoldPipeline) Upgrade() (util.VersionedConfig, error)

Upgrade upgrades a configuration to the next version. Config changes from v1beta2 to v1beta3 1. Additions: gcb builder mvn image gcb builder gradle image 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