release

package
v3.0.0-alpha.1+incompa... Latest Latest
Warning

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

Go to latest
Published: May 15, 2019 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MockHookTemplate = `apiVersion: v1
kind: Job
metadata:
  annotations:
    "helm.sh/hook": pre-install
`

MockHookTemplate is the hook template used for all mock release objects.

View Source
var MockManifest = `apiVersion: v1
kind: Secret
metadata:
  name: fixture
`

MockManifest is the manifest used for all mock release objects.

Functions

This section is empty.

Types

type GetReleaseStatusResponse

type GetReleaseStatusResponse struct {
	// Name is the name of the release.
	Name string `json:"name,omitempty"`
	// Info contains information about the release.
	Info *Info `json:"info,omitempty"`
	// Namespace the release was released into
	Namespace string `json:"namespace,omitempty"`
}

GetReleaseStatusResponse is the response indicating the status of the named release.

type Hook

type Hook struct {
	Name string `json:"name,omitempty"`
	// Kind is the Kubernetes kind.
	Kind string `json:"kind,omitempty"`
	// Path is the chart-relative path to the template.
	Path string `json:"path,omitempty"`
	// Manifest is the manifest contents.
	Manifest string `json:"manifest,omitempty"`
	// Events are the events that this hook fires on.
	Events []HookEvent `json:"events,omitempty"`
	// LastRun indicates the date/time this was last run.
	LastRun time.Time `json:"last_run,omitempty"`
	// Weight indicates the sort order for execution among similar Hook type
	Weight int `json:"weight,omitempty"`
	// DeletePolicies are the policies that indicate when to delete the hook
	DeletePolicies []HookDeletePolicy `json:"delete_policies,omitempty"`
}

Hook defines a hook object.

type HookDeletePolicy

type HookDeletePolicy string

HookDeletePolicy specifies the hook delete policy

const (
	HookSucceeded          HookDeletePolicy = "succeeded"
	HookFailed             HookDeletePolicy = "failed"
	HookBeforeHookCreation HookDeletePolicy = "before-hook-creation"
)

Hook delete policy types

func (HookDeletePolicy) String

func (x HookDeletePolicy) String() string

type HookEvent

type HookEvent string

HookEvent specifies the hook event

const (
	HookPreInstall         HookEvent = "pre-install"
	HookPostInstall        HookEvent = "post-install"
	HookPreDelete          HookEvent = "pre-delete"
	HookPostDelete         HookEvent = "post-delete"
	HookPreUpgrade         HookEvent = "pre-upgrade"
	HookPostUpgrade        HookEvent = "post-upgrade"
	HookPreRollback        HookEvent = "pre-rollback"
	HookPostRollback       HookEvent = "post-rollback"
	HookReleaseTestSuccess HookEvent = "release-test-success"
	HookReleaseTestFailure HookEvent = "release-test-failure"
)

Hook event types

func (HookEvent) String

func (x HookEvent) String() string

type Info

type Info struct {
	// FirstDeployed is when the release was first deployed.
	FirstDeployed time.Time `json:"first_deployed,omitempty"`
	// LastDeployed is when the release was last deployed.
	LastDeployed time.Time `json:"last_deployed,omitempty"`
	// Deleted tracks when this object was deleted.
	Deleted time.Time `json:"deleted,omitempty"`
	// Description is human-friendly "log entry" about this release.
	Description string `json:"Description,omitempty"`
	// Status is the current state of the release
	Status Status `json:"status,omitempty"`
	// Cluster resources as kubectl would print them.
	Resources string `json:"resources,omitempty"`
	// Contains the rendered templates/NOTES.txt if available
	Notes string `json:"notes,omitempty"`
	// LastTestSuiteRun provides results on the last test run on a release
	LastTestSuiteRun *TestSuite `json:"last_test_suite_run,omitempty"`
}

Info describes release information.

type MockReleaseOptions

type MockReleaseOptions struct {
	Name             string
	Version          int
	Chart            *chart.Chart
	Status           Status
	Namespace        string
	TestSuiteResults []*TestRun
}

MockReleaseOptions allows for user-configurable options on mock release objects.

type Release

type Release struct {
	// Name is the name of the release
	Name string `json:"name,omitempty"`
	// Info provides information about a release
	Info *Info `json:"info,omitempty"`
	// Chart is the chart that was released.
	Chart *chart.Chart `json:"chart,omitempty"`
	// Config is the set of extra Values added to the chart.
	// These values override the default values inside of the chart.
	Config map[string]interface{} `json:"config,omitempty"`
	// Manifest is the string representation of the rendered template.
	Manifest string `json:"manifest,omitempty"`
	// Hooks are all of the hooks declared for this release.
	Hooks []*Hook `json:"hooks,omitempty"`
	// Version is an int which represents the version of the release.
	Version int `json:"version,omitempty"`
	// Namespace is the kubernetes namespace of the release.
	Namespace string `json:"namespace,omitempty"`
}

Release describes a deployment of a chart, together with the chart and the variables used to deploy that chart.

func Mock

func Mock(opts *MockReleaseOptions) *Release

Mock creates a mock release object based on options set by MockReleaseOptions. This function should typically not be used outside of testing.

func (*Release) SetStatus

func (r *Release) SetStatus(status Status, msg string)

SetStatus is a helper for setting the status on a release.

type Status

type Status string

Status is the status of a release

const (
	// StatusUnknown indicates that a release is in an uncertain state.
	StatusUnknown Status = "unknown"
	// StatusDeployed indicates that the release has been pushed to Kubernetes.
	StatusDeployed Status = "deployed"
	// StatusUninstalled indicates that a release has been uninstalled from Kubermetes.
	StatusUninstalled Status = "uninstalled"
	// StatusSuperseded indicates that this release object is outdated and a newer one exists.
	StatusSuperseded Status = "superseded"
	// StatusFailed indicates that the release was not successfully deployed.
	StatusFailed Status = "failed"
	// StatusUninstalling indicates that a uninstall operation is underway.
	StatusUninstalling Status = "uninstalling"
	// StatusPendingInstall indicates that an install operation is underway.
	StatusPendingInstall Status = "pending-install"
	// StatusPendingUpgrade indicates that an upgrade operation is underway.
	StatusPendingUpgrade Status = "pending-upgrade"
	// StatusPendingRollback indicates that an rollback operation is underway.
	StatusPendingRollback Status = "pending-rollback"
)

Describe the status of a release

func (Status) String

func (x Status) String() string

type TestReleaseResponse

type TestReleaseResponse struct {
	Msg    string        `json:"msg,omitempty"`
	Status TestRunStatus `json:"status,omitempty"`
}

TestReleaseResponse represents a message from executing a test

type TestRun

type TestRun struct {
	Name        string        `json:"name,omitempty"`
	Status      TestRunStatus `json:"status,omitempty"`
	Info        string        `json:"info,omitempty"`
	StartedAt   time.Time     `json:"started_at,omitempty"`
	CompletedAt time.Time     `json:"completed_at,omitempty"`
}

TestRun describes the run of a test

type TestRunStatus

type TestRunStatus string

TestRunStatus is the status of a test run

const (
	TestRunUnknown TestRunStatus = "unknown"
	TestRunSuccess TestRunStatus = "success"
	TestRunFailure TestRunStatus = "failure"
	TestRunRunning TestRunStatus = "running"
)

Indicates the results of a test run

func (TestRunStatus) String

func (x TestRunStatus) String() string

Strng converts a test run status to a printable string

type TestSuite

type TestSuite struct {
	// StartedAt indicates the date/time this test suite was kicked off
	StartedAt time.Time `json:"started_at,omitempty"`
	// CompletedAt indicates the date/time this test suite was completed
	CompletedAt time.Time `json:"completed_at,omitempty"`
	// Results are the results of each segment of the test
	Results []*TestRun `json:"results,omitempty"`
}

TestSuite comprises of the last run of the pre-defined test suite of a release version

type UninstallReleaseResponse

type UninstallReleaseResponse struct {
	// Release is the release that was marked deleted.
	Release *Release `json:"release,omitempty"`
	// Info is an uninstall message
	Info string `json:"info,omitempty"`
}

UninstallReleaseResponse represents a successful response to an uninstall request.

Jump to

Keyboard shortcuts

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