release

package
v4.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Name is the identifier of the resource.
	Name = "release"
)

Variables

This section is empty.

Functions

func IsInvalidConfig

func IsInvalidConfig(err error) bool

IsInvalidConfig asserts invalidConfigError.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound asserts notFoundError.

func IsWait

func IsWait(err error) bool

IsWait asserts waitError.

func IsWrongType

func IsWrongType(err error) bool

IsWrongType asserts wrongTypeError.

Types

type Config

type Config struct {
	// Dependencies.
	Fs          afero.Fs
	CtrlClient  client.Client
	HelmClients *clientpair.ClientPair
	K8sClient   kubernetes.Interface
	Logger      micrologger.Logger

	// Settings.
	K8sWaitTimeout  time.Duration
	MaxRollback     int
	TillerNamespace string
}

Config represents the configuration used to create a new release resource.

type Patch

type Patch struct {
	Op    string      `json:"op"`
	Path  string      `json:"path"`
	Value interface{} `json:"value"`
}

type ReleaseState

type ReleaseState struct {
	// Name is the name of the Helm release when the chart is deployed.
	// e.g. chart-operator
	Name string
	// Status is the status of the Helm release when the chart is deployed.
	// e.g. DEPLOYED
	Status string
	// ValuesMD5Checksum is the MD5 checksum of the values YAML. It is used for
	// comparison since it is more reliable than using the values returned by
	// helmclient.GetReleaseContent.
	ValuesMD5Checksum string
	// Values are any values that have been set when the Helm Chart was
	// installed.
	Values map[string]interface{}
	// Version is the version of the Helm Chart to be deployed.
	// e.g. 0.1.2
	Version string
}

ReleaseState holds the state of the Helm release to be reconciled.

type Resource

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

Resource implements the chart resource.

func New

func New(config Config) (*Resource, error)

New creates a new configured chart resource.

func (*Resource) ApplyCreateChange

func (r *Resource) ApplyCreateChange(ctx context.Context, obj, createChange interface{}) error

func (*Resource) ApplyDeleteChange

func (r *Resource) ApplyDeleteChange(ctx context.Context, obj, deleteChange interface{}) error

func (*Resource) ApplyUpdateChange

func (r *Resource) ApplyUpdateChange(ctx context.Context, obj, updateChange interface{}) error

func (*Resource) GetCurrentState

func (r *Resource) GetCurrentState(ctx context.Context, obj interface{}) (interface{}, error)

func (*Resource) GetDesiredState

func (r *Resource) GetDesiredState(ctx context.Context, obj interface{}) (interface{}, error)

func (*Resource) Name

func (r *Resource) Name() string

func (*Resource) NewDeletePatch

func (r *Resource) NewDeletePatch(ctx context.Context, obj, currentState, desiredState interface{}) (*crud.Patch, error)

func (*Resource) NewUpdatePatch

func (r *Resource) NewUpdatePatch(ctx context.Context, obj, currentState, desiredState interface{}) (*crud.Patch, error)

Jump to

Keyboard shortcuts

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