deploy

package
v1.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2020 License: Apache-2.0 Imports: 56 Imported by: 3

Documentation

Index

Constants

View Source
const (
	K8sManagedByLabelKey = "app.kubernetes.io/managed-by"
	RunIDLabel           = "skaffold.dev/run-id"
)

Variables

View Source
var (
	DefaultKustomizePath = "."
)

Functions

func AddManifestTransform added in v0.26.0

func AddManifestTransform(newTransform ManifestTransform)

AddManifestTransform adds a transform to be applied when deploying.

func ApplyDefaultRepo added in v1.11.0

func ApplyDefaultRepo(globalConfig string, defaultRepo *string, tag string) (string, error)

ApplyDefaultRepo applies the default repo to a given image tag.

func IsKustomizationBase added in v1.11.4

func IsKustomizationBase(path string) bool

func IsKustomizationPath added in v1.10.0

func IsKustomizationPath(path string) bool

func StatusCheck added in v0.34.0

func StatusCheck(ctx context.Context, defaultLabeller *DefaultLabeller, runCtx *runcontext.RunContext, out io.Writer) error

Types

type Artifact added in v0.8.0

type Artifact struct {
	Obj       runtime.Object
	Namespace string
}

Artifact contains all information about a completed deployment

type DefaultLabeller added in v0.33.0

type DefaultLabeller struct {
	// contains filtered or unexported fields
}

DefaultLabeller adds K8s style managed-by label and a run-specific UUID label

func NewLabeller added in v0.33.0

func NewLabeller(opts config.SkaffoldOptions) *DefaultLabeller

func (*DefaultLabeller) Labels added in v0.33.0

func (d *DefaultLabeller) Labels() map[string]string

func (*DefaultLabeller) RunIDSelector added in v1.9.0

func (d *DefaultLabeller) RunIDSelector() string

type Deployer

type Deployer interface {
	Labels() map[string]string

	// Deploy should ensure that the build results are deployed to the Kubernetes
	// cluster.
	Deploy(context.Context, io.Writer, []build.Artifact, []Labeller) *Result

	// Dependencies returns a list of files that the deployer depends on.
	// In dev mode, a redeploy will be triggered
	Dependencies() ([]string, error)

	// Cleanup deletes what was deployed by calling Deploy.
	Cleanup(context.Context, io.Writer) error

	// Render generates the Kubernetes manifests replacing the build results and
	// writes them to the given file path
	Render(context.Context, io.Writer, []build.Artifact, []Labeller, bool, string) error
}

Deployer is the Deploy API of skaffold and responsible for deploying the build results to a Kubernetes cluster

type DeployerMux added in v1.2.0

type DeployerMux []Deployer

DeployerMux forwards all method calls to the deployers it contains. When encountering an error, it aborts and returns the error. Otherwise, it collects the results and returns it in bulk.

func (DeployerMux) Cleanup added in v1.2.0

func (m DeployerMux) Cleanup(ctx context.Context, w io.Writer) error

func (DeployerMux) Dependencies added in v1.2.0

func (m DeployerMux) Dependencies() ([]string, error)

func (DeployerMux) Deploy added in v1.2.0

func (m DeployerMux) Deploy(ctx context.Context, w io.Writer, as []build.Artifact, ls []Labeller) *Result

func (DeployerMux) Labels added in v1.2.0

func (m DeployerMux) Labels() map[string]string

func (DeployerMux) Render added in v1.2.0

func (m DeployerMux) Render(ctx context.Context, w io.Writer, as []build.Artifact, ls []Labeller, offline bool, filepath string) error

type HelmDeployer

type HelmDeployer struct {
	*latest.HelmDeploy
	// contains filtered or unexported fields
}

HelmDeployer deploys workflows using the helm CLI

func NewHelmDeployer

func NewHelmDeployer(runCtx *runcontext.RunContext) *HelmDeployer

NewHelmDeployer returns a configured HelmDeployer

func (*HelmDeployer) Cleanup added in v0.5.0

func (h *HelmDeployer) Cleanup(ctx context.Context, out io.Writer) error

Cleanup deletes what was deployed by calling Deploy.

func (*HelmDeployer) Dependencies added in v0.5.0

func (h *HelmDeployer) Dependencies() ([]string, error)

Dependencies returns a list of files that the deployer depends on.

func (*HelmDeployer) Deploy added in v0.3.0

func (h *HelmDeployer) Deploy(ctx context.Context, out io.Writer, builds []build.Artifact, labellers []Labeller) *Result

Deploy deploys the build results to the Kubernetes cluster

func (*HelmDeployer) Labels added in v0.8.0

func (h *HelmDeployer) Labels() map[string]string

Labels returns the Kubernetes labels used by this deployer

func (*HelmDeployer) Render added in v0.39.0

func (h *HelmDeployer) Render(ctx context.Context, out io.Writer, builds []build.Artifact, labellers []Labeller, offline bool, filepath string) error

Render generates the Kubernetes manifests and writes them out

type KubectlDeployer

type KubectlDeployer struct {
	*latest.KubectlDeploy
	// contains filtered or unexported fields
}

KubectlDeployer deploys workflows using kubectl CLI.

func NewKubectlDeployer

func NewKubectlDeployer(runCtx *runcontext.RunContext) *KubectlDeployer

NewKubectlDeployer returns a new KubectlDeployer for a DeployConfig filled with the needed configuration for `kubectl apply`

func (*KubectlDeployer) Cleanup added in v0.5.0

func (k *KubectlDeployer) Cleanup(ctx context.Context, out io.Writer) error

Cleanup deletes what was deployed by calling Deploy.

func (*KubectlDeployer) Dependencies added in v0.5.0

func (k *KubectlDeployer) Dependencies() ([]string, error)

Dependencies lists all the files that describe what needs to be deployed.

func (*KubectlDeployer) Deploy added in v0.3.0

func (k *KubectlDeployer) Deploy(ctx context.Context, out io.Writer, builds []build.Artifact, labellers []Labeller) *Result

Deploy templates the provided manifests with a simple `find and replace` and runs `kubectl apply` on those manifests

func (*KubectlDeployer) Labels added in v0.8.0

func (k *KubectlDeployer) Labels() map[string]string

func (*KubectlDeployer) Render added in v0.39.0

func (k *KubectlDeployer) Render(ctx context.Context, out io.Writer, builds []build.Artifact, labellers []Labeller, offline bool, filepath string) error

type KustomizeDeployer added in v0.7.0

type KustomizeDeployer struct {
	*latest.KustomizeDeploy

	BuildArgs []string
	// contains filtered or unexported fields
}

KustomizeDeployer deploys workflows using kustomize CLI.

func NewKustomizeDeployer added in v0.7.0

func NewKustomizeDeployer(runCtx *runcontext.RunContext) *KustomizeDeployer

func (*KustomizeDeployer) Cleanup added in v0.7.0

func (k *KustomizeDeployer) Cleanup(ctx context.Context, out io.Writer) error

Cleanup deletes what was deployed by calling Deploy.

func (*KustomizeDeployer) Dependencies added in v0.7.0

func (k *KustomizeDeployer) Dependencies() ([]string, error)

Dependencies lists all the files that describe what needs to be deployed.

func (*KustomizeDeployer) Deploy added in v0.7.0

func (k *KustomizeDeployer) Deploy(ctx context.Context, out io.Writer, builds []build.Artifact, labellers []Labeller) *Result

Deploy runs `kubectl apply` on the manifest generated by kustomize.

func (*KustomizeDeployer) Labels added in v0.8.0

func (k *KustomizeDeployer) Labels() map[string]string

Labels returns the labels specific to kustomize.

func (*KustomizeDeployer) Render added in v0.39.0

func (k *KustomizeDeployer) Render(ctx context.Context, out io.Writer, builds []build.Artifact, labellers []Labeller, offline bool, filepath string) error

type Labeller added in v0.9.0

type Labeller interface {
	// Labels keys must be prefixed with "skaffold.dev/"
	Labels() map[string]string
}

Labeller can give key/value labels to set on deployed resources.

type ManifestTransform added in v0.27.0

type ManifestTransform func(l kubectl.ManifestList, builds []build.Artifact, registries Registries) (kubectl.ManifestList, error)

type Registries added in v1.11.4

type Registries struct {
	InsecureRegistries   map[string]bool
	DebugHelpersRegistry string
}

type Result

type Result struct {
	// contains filtered or unexported fields
}

func NewDeployErrorResult added in v0.36.0

func NewDeployErrorResult(err error) *Result

func NewDeploySuccessResult added in v0.36.0

func NewDeploySuccessResult(namespaces []string) *Result

func (*Result) GetError added in v0.36.0

func (d *Result) GetError() error

func (*Result) Namespaces added in v0.36.0

func (d *Result) Namespaces() []string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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