tiller

package
v2.9.1-rancher3+incomp... Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2018 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ListDefaultLimit int64 = 512

ListDefaultLimit is the default limit for number of items returned in a list.

View Source
var ValidName = regexp.MustCompile("^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])+$")

ValidName is a regular expression for names.

According to the Kubernetes help text, the regular expression it uses is:

(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?

We modified that. First, we added start and end delimiters. Second, we changed the final ? to + to require that the pattern match at least once. This modification prevents an empty string from matching.

Functions

func DefaultServerOpts

func DefaultServerOpts() []grpc.ServerOption

DefaultServerOpts returns the set of default grpc ServerOption's that Tiller requires.

func DeleteRelease

func DeleteRelease(rel *release.Release, vs chartutil.VersionSet, kubeClient environment.KubeClient) (kept string, errs []error)

DeleteRelease is a helper that allows Rudder to delete a release without exposing most of Tiller inner functions

func GetVersionSet

func GetVersionSet(client discovery.ServerGroupsInterface) (chartutil.VersionSet, error)

GetVersionSet retrieves a set of available k8s API versions

func NewImpersonationClientConfig

func NewImpersonationClientConfig(loader clientcmd.ClientConfigLoader, overrides *clientcmd.ConfigOverrides, user string, groups []string) clientcmd.ClientConfig

NewNonInteractiveDeferredLoadingClientConfig creates a ConfigClientClientConfig using the passed context name

func NewServer

func NewServer(opts ...grpc.ServerOption) *grpc.Server

NewServer creates a new grpc server.

Types

type DeferredLoadingClientConfig

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

DeferredLoadingClientConfig is a ClientConfig interface that is backed by a client config loader. It is used in cases where the loading rules may change after you've instantiated them and you want to be sure that the most recent rules are used. This is useful in cases where you bind flags to loading rule parameters before the parse happens and you want your calling code to be ignorant of how the values are being mutated to avoid passing extraneous information down a call stack

func (*DeferredLoadingClientConfig) ClientConfig

func (config *DeferredLoadingClientConfig) ClientConfig() (*restclient.Config, error)

ClientConfig implements ClientConfig

func (*DeferredLoadingClientConfig) ConfigAccess

func (config *DeferredLoadingClientConfig) ConfigAccess() clientcmd.ConfigAccess

ConfigAccess implements ClientConfig

func (*DeferredLoadingClientConfig) Namespace

func (config *DeferredLoadingClientConfig) Namespace() (string, bool, error)

Namespace implements KubeConfig

func (*DeferredLoadingClientConfig) RawConfig

func (config *DeferredLoadingClientConfig) RawConfig() (clientcmdapi.Config, error)

type InClusterConfig

type InClusterConfig interface {
	clientcmd.ClientConfig
	Possible() bool
}

InClusterConfig abstracts details of whether the client is running in a cluster for testing.

type LocalReleaseModule

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

LocalReleaseModule is a local implementation of ReleaseModule

func (*LocalReleaseModule) Create

Create creates a release via kubeclient from provided environment

func (*LocalReleaseModule) Delete

Delete deletes the release and returns manifests that were kept in the deletion process

func (*LocalReleaseModule) Rollback

Rollback performs a rollback from current to target release

func (*LocalReleaseModule) Status

Status returns kubectl-like formatted status of release objects

func (*LocalReleaseModule) Update

Update performs an update from current to target release

type Manifest

type Manifest struct {
	Name    string
	Content string
	Head    *util.SimpleHead
}

Manifest represents a manifest file, which has a name and some content.

func SortByKind

func SortByKind(manifests []Manifest) []Manifest

SortByKind sorts manifests in InstallOrder

type ReleaseModule

ReleaseModule is an interface that allows ReleaseServer to run operations on release via either local implementation or Rudder service

type ReleaseServer

type ReleaseServer struct {
	ReleaseModule

	Log func(string, ...interface{})
	// contains filtered or unexported fields
}

ReleaseServer implements the server-side gRPC endpoint for the HAPI services.

func NewReleaseServer

func NewReleaseServer(env *environment.Environment, clientset internalclientset.Interface, useRemote bool) *ReleaseServer

NewReleaseServer creates a new release server.

func (*ReleaseServer) GetHistory

GetHistory gets the history for a given release.

func (*ReleaseServer) GetReleaseContent

GetReleaseContent gets all of the stored information for the given release.

func (*ReleaseServer) GetReleaseStatus

GetReleaseStatus gets the status information for a named release.

func (*ReleaseServer) GetVersion

GetVersion sends the server version.

func (*ReleaseServer) InstallRelease

InstallRelease installs a release and stores the release record.

func (*ReleaseServer) ListReleases

ListReleases lists the releases found by the server.

func (*ReleaseServer) RollbackRelease

RollbackRelease rolls back to a previous version of the given release.

func (*ReleaseServer) RunReleaseTest

RunReleaseTest runs pre-defined tests stored as hooks on a given release

func (*ReleaseServer) UninstallRelease

UninstallRelease deletes all of the resources associated with this release, and marks the release DELETED.

func (*ReleaseServer) UpdateRelease

UpdateRelease takes an existing release and new information, and upgrades the release.

type RemoteReleaseModule

type RemoteReleaseModule struct{}

RemoteReleaseModule is a ReleaseModule which calls Rudder service to operate on a release

func (*RemoteReleaseModule) Create

Create calls rudder.InstallRelease

func (*RemoteReleaseModule) Delete

Delete calls rudder.DeleteRelease

func (*RemoteReleaseModule) Rollback

Rollback calls rudder.Rollback

func (*RemoteReleaseModule) Status

Status returns status retrieved from rudder.ReleaseStatus

func (*RemoteReleaseModule) Update

Update calls rudder.UpgradeRelease

type SortOrder

type SortOrder []string

SortOrder is an ordering of Kinds.

var InstallOrder SortOrder = []string{
	"Namespace",
	"ResourceQuota",
	"LimitRange",
	"Secret",
	"ConfigMap",
	"StorageClass",
	"PersistentVolume",
	"PersistentVolumeClaim",
	"ServiceAccount",
	"CustomResourceDefinition",
	"ClusterRole",
	"ClusterRoleBinding",
	"Role",
	"RoleBinding",
	"Service",
	"DaemonSet",
	"Pod",
	"ReplicationController",
	"ReplicaSet",
	"Deployment",
	"StatefulSet",
	"Job",
	"CronJob",
	"Ingress",
	"APIService",
}

InstallOrder is the order in which manifests should be installed (by Kind).

Those occurring earlier in the list get installed before those occurring later in the list.

var UninstallOrder SortOrder = []string{
	"APIService",
	"Ingress",
	"Service",
	"CronJob",
	"Job",
	"StatefulSet",
	"Deployment",
	"ReplicaSet",
	"ReplicationController",
	"Pod",
	"DaemonSet",
	"RoleBinding",
	"Role",
	"ClusterRoleBinding",
	"ClusterRole",
	"CustomResourceDefinition",
	"ServiceAccount",
	"PersistentVolumeClaim",
	"PersistentVolume",
	"StorageClass",
	"ConfigMap",
	"Secret",
	"LimitRange",
	"ResourceQuota",
	"Namespace",
}

UninstallOrder is the order in which manifests should be uninstalled (by Kind).

Those occurring earlier in the list get uninstalled before those occurring later in the list.

Directories

Path Synopsis
Package environment describes the operating environment for Tiller.
Package environment describes the operating environment for Tiller.

Jump to

Keyboard shortcuts

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