Documentation
¶
Index ¶
- Constants
- func IsInvalidConfig(err error) bool
- func IsNotFound(err error) bool
- func IsWrongTypeError(err error) bool
- type Config
- type Resource
- func (r *Resource) ApplyCreateChange(ctx context.Context, obj, createChange interface{}) error
- func (r *Resource) ApplyDeleteChange(ctx context.Context, obj, deleteChange interface{}) error
- func (r *Resource) ApplyUpdateChange(ctx context.Context, obj, updateChange interface{}) error
- func (r *Resource) GetCurrentState(ctx context.Context, obj interface{}) (interface{}, error)
- func (r *Resource) GetDesiredState(ctx context.Context, obj interface{}) (interface{}, error)
- func (r *Resource) Name() string
- func (r *Resource) NewDeletePatch(ctx context.Context, obj, currentState, desiredState interface{}) (*controller.Patch, error)
- func (r *Resource) NewUpdatePatch(ctx context.Context, obj, currentState, desiredState interface{}) (*controller.Patch, error)
Constants ¶
const (
// Name is the identifier of the resource.
Name = "app"
)
Variables ¶
This section is empty.
Functions ¶
func IsInvalidConfig ¶
IsInvalidConfig asserts invalidConfigError.
func IsWrongTypeError ¶
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 (*Resource) ApplyCreateChange ¶
ApplyCreateChange ensures the App CR is created in the k8s api.
func (*Resource) ApplyDeleteChange ¶
ApplyDeleteChange has no effect.
func (*Resource) ApplyUpdateChange ¶
ApplyUpdateChange ensures updateChange App CR is updated in k8s api.
func (*Resource) GetCurrentState ¶
GetCurrentState collects the current App CR for the release referenced in ReleaseCycle CR from k8s api.
func (*Resource) GetDesiredState ¶
GetDesiredState computes the desired App CR for the release referenced in ReleaseCycle CR.
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.