deploy

package
v1.13.2 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 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"
)
View Source
const TimeFormat = "2006-01-02_15-04-05"

TimeFormat is used to name log files generated by deploy step

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 IsHelmChart added in v1.13.0

func IsHelmChart(path string) bool

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

func WithLogFile added in v1.13.0

func WithLogFile(filename string, out io.Writer, muted Muted) (io.Writer, func(error), error)

WithLogFile returns a multiwriter that writes both to a file and a buffer, with the buffer being written to the provided output buffer in case of 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(addSkaffoldLabels bool, customLabels []string) *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 {
	// Deploy should ensure that the build results are deployed to the Kubernetes
	// cluster. Returns the list of impacted namespaces.
	Deploy(context.Context, io.Writer, []build.Artifact) ([]string, error)

	// 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, 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) ([]string, error)

func (DeployerMux) Render added in v1.2.0

func (m DeployerMux) Render(ctx context.Context, w io.Writer, as []build.Artifact, 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, labels map[string]string) *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) ([]string, error)

Deploy deploys the build results to the Kubernetes cluster

func (*HelmDeployer) Render added in v0.39.0

func (h *HelmDeployer) Render(ctx context.Context, out io.Writer, builds []build.Artifact, 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, labels map[string]string) *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) ([]string, error)

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

func (*KubectlDeployer) Render added in v0.39.0

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

type KustomizeDeployer added in v0.7.0

type KustomizeDeployer struct {
	*latest.KustomizeDeploy
	// contains filtered or unexported fields
}

KustomizeDeployer deploys workflows using kustomize CLI.

func NewKustomizeDeployer added in v0.7.0

func NewKustomizeDeployer(runCtx *runcontext.RunContext, labels map[string]string) *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) ([]string, error)

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

func (*KustomizeDeployer) Render added in v0.39.0

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

type ManifestTransform added in v0.27.0

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

type Muted added in v1.13.0

type Muted interface {
	MuteDeploy() bool
}

type Registries added in v1.11.4

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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