Documentation
¶
Index ¶
- Constants
- func NewSkaffoldConfig() util.VersionedConfig
- type Artifact
- type ArtifactType
- type AzureContainerBuild
- 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 JibGradleArtifact
- type JibMavenArtifact
- type KanikoBuild
- type KanikoBuildContext
- 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/v1alpha5"
!!! 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 AzureContainerBuild ¶
type AzureContainerBuild struct {
SubscriptionID string `yaml:"subscriptionId,omitempty"`
ClientID string `yaml:"clientId,omitempty"`
ClientSecret string `yaml:"clientSecret,omitempty"`
TenantID string `yaml:"tenantId,omitempty"`
}
AzureContainerBuild contains the fields needed to do a build on Azure Container Registry
type BazelArtifact ¶
type BazelArtifact struct {
BuildTarget string `yaml:"target,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"`
AzureContainerBuild *AzureContainerBuild `yaml:"acr,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 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" 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 KanikoBuild ¶
type KanikoBuild struct {
BuildContext *KanikoBuildContext `yaml:"buildContext,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 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 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 v1alpha5 to v1beta1: 1. Additions:
- KanikoCache struct, KanikoBuild.Cache
- BazelArtifact.BuildArgs
2. Removals:
- AzureContainerBuilder
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