environment

package
v0.0.0-...-eef33a9 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package environment describes the operating environment for Tiller.

Tiller's environment encapsulates all of the service dependencies Tiller has. These dependencies are expressed as interfaces so that alternate implementations (mocks, etc.) can be easily generated.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type KubeClient

type KubeClient interface {
	// Create creates one or more resources.
	//
	// namespace must contain a valid existing namespace.
	//
	// reader must contain a YAML stream (one or more YAML documents separated
	// by "\n---\n").
	Create(namespace string, reader io.Reader, timeout int64, shouldWait bool) error

	// Get gets one or more resources. Returned string hsa the format like kubectl
	// provides with the column headers separating the resource types.
	//
	// namespace must contain a valid existing namespace.
	//
	// reader must contain a YAML stream (one or more YAML documents separated
	// by "\n---\n").
	Get(namespace string, reader io.Reader) (string, error)

	// Delete destroys one or more resources.
	//
	// namespace must contain a valid existing namespace.
	//
	// reader must contain a YAML stream (one or more YAML documents separated
	// by "\n---\n").
	Delete(namespace string, reader io.Reader) error

	// Watch the resource in reader until it is "ready".
	//
	// For Jobs, "ready" means the job ran to completion (excited without error).
	// For all other kinds, it means the kind was created or modified without
	// error.
	WatchUntilReady(namespace string, reader io.Reader, timeout int64, shouldWait bool) error

	// Update updates one or more resources or creates the resource
	// if it doesn't exist.
	//
	// namespace must contain a valid existing namespace.
	//
	// reader must contain a YAML stream (one or more YAML documents separated
	// by "\n---\n").
	Update(namespace string, originalReader, modifiedReader io.Reader, force bool, recreate bool, timeout int64, shouldWait bool) error

	Build(namespace string, reader io.Reader) (kube.Result, error)
	BuildUnstructured(namespace string, reader io.Reader) (kube.Result, error)

	// WaitAndGetCompletedPodPhase waits up to a timeout until a pod enters a completed phase
	// and returns said phase (PodSucceeded or PodFailed qualify).
	WaitAndGetCompletedPodPhase(namespace string, reader io.Reader, timeout time.Duration) (v1.PodPhase, error)
}

KubeClient represents a client capable of communicating with the Kubernetes API.

A KubeClient must be concurrency safe.

type PrintingKubeClient

type PrintingKubeClient struct {
	Out io.Writer
}

PrintingKubeClient implements KubeClient, but simply prints the reader to the given output.

func (*PrintingKubeClient) Build

func (p *PrintingKubeClient) Build(ns string, reader io.Reader) (kube.Result, error)

Build implements KubeClient Build.

func (*PrintingKubeClient) BuildUnstructured

func (p *PrintingKubeClient) BuildUnstructured(ns string, reader io.Reader) (kube.Result, error)

BuildUnstructured implements KubeClient BuildUnstructured.

func (*PrintingKubeClient) Create

func (p *PrintingKubeClient) Create(ns string, r io.Reader, timeout int64, shouldWait bool) error

Create prints the values of what would be created with a real KubeClient.

func (*PrintingKubeClient) Delete

func (p *PrintingKubeClient) Delete(ns string, r io.Reader) error

Delete implements KubeClient delete.

It only prints out the content to be deleted.

func (*PrintingKubeClient) Get

func (p *PrintingKubeClient) Get(ns string, r io.Reader) (string, error)

Get prints the values of what would be created with a real KubeClient.

func (*PrintingKubeClient) Update

func (p *PrintingKubeClient) Update(ns string, currentReader, modifiedReader io.Reader, force, recreate bool, timeout int64, shouldWait bool) error

Update implements KubeClient Update.

func (*PrintingKubeClient) WaitAndGetCompletedPodPhase

func (p *PrintingKubeClient) WaitAndGetCompletedPodPhase(namespace string, reader io.Reader, timeout time.Duration) (v1.PodPhase, error)

WaitAndGetCompletedPodPhase implements KubeClient WaitAndGetCompletedPodPhase.

func (*PrintingKubeClient) WatchUntilReady

func (p *PrintingKubeClient) WatchUntilReady(ns string, r io.Reader, timeout int64, shouldWait bool) error

WatchUntilReady implements KubeClient WatchUntilReady.

Jump to

Keyboard shortcuts

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