app

package
v1.0.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

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

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 IsWrongTypeError

func IsWrongTypeError(err error) bool

IsWrongTypeError asserts wrongTypeError.

Types

type Config

type Config struct {
	G8sClient versioned.Interface
	K8sClient kubernetes.Interface
	Logger    micrologger.Logger
}

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

type Resource

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

Resource implements the app resource.

It ensures each release cycle has its corresponding release installed. It does so by creating an App CR for the release, which will then be installed by app-operator. Note: releases are never removed, so removing a release cycle CR has no effect

on the previously installed release.

func New

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

New creates a new configured app resource.

func (*Resource) ApplyCreateChange

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

ApplyCreateChange ensures the App CR is created in the k8s api.

func (*Resource) ApplyDeleteChange

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

ApplyDeleteChange has no effect.

func (*Resource) ApplyUpdateChange

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

ApplyUpdateChange ensures updateChange App CR is updated in k8s api.

func (*Resource) GetCurrentState

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

GetCurrentState collects the current App CR for the release referenced in ReleaseCycle CR from k8s api.

func (*Resource) GetDesiredState

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

GetDesiredState computes the desired App CR for the release referenced in ReleaseCycle CR.

func (*Resource) Name

func (r *Resource) Name() string

func (*Resource) NewDeletePatch

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

NewDeletePatch has no effect.

func (*Resource) NewUpdatePatch

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

NewUpdatePatch computes the create and update changes to be applied.

Jump to

Keyboard shortcuts

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