Documentation
¶
Overview ¶
Package applications is a generated GoMock package.
Index ¶
- Constants
- func NewApplication(p provider.Provider) *application
- func NewHelmApplication(p provider.Provider) *application
- func NewManager(log *log.PrefixLogger, rwFactory fileio.ReadWriterFactory, ...) *manager
- type AppStatusResult
- type Application
- type Controller
- type KubernetesMonitor
- func (m *KubernetesMonitor) CreateCommand(ctx context.Context) (*exec.Cmd, error)
- func (m *KubernetesMonitor) Drain(ctx context.Context) error
- func (m *KubernetesMonitor) Ensure(app Application) error
- func (m *KubernetesMonitor) ExecuteActions(ctx context.Context) error
- func (m *KubernetesMonitor) HandleEvent(ctx context.Context, data []byte)
- func (m KubernetesMonitor) Has(id string) bool
- func (m *KubernetesMonitor) OnRestart()
- func (m *KubernetesMonitor) Parser() streamParser
- func (m *KubernetesMonitor) QueueLifecycle(appID string, desiredState v1beta1.ApplicationDesiredState, ...)
- func (m *KubernetesMonitor) Remove(app Application) error
- func (m *KubernetesMonitor) RestartApp(ctx context.Context, appID string, restartGeneration int) error
- func (m *KubernetesMonitor) StartApp(ctx context.Context, appID string) error
- func (m KubernetesMonitor) Status() ([]AppStatusResult, error)
- func (m *KubernetesMonitor) Stop() error
- func (m *KubernetesMonitor) StopApp(ctx context.Context, appID string) error
- func (m *KubernetesMonitor) Update(app Application) error
- type Manager
- type MockApplication
- func (m *MockApplication) ActionSpec() lifecycle.ActionSpec
- func (m *MockApplication) AddWorkload(Workload *Workload)
- func (m *MockApplication) AppType() v1beta1.AppType
- func (m *MockApplication) ClearWorkloads()
- func (m *MockApplication) CopyWorkloadsFrom(other Application)
- func (m *MockApplication) DesiredState() v1beta1.ApplicationDesiredState
- func (m *MockApplication) EXPECT() *MockApplicationMockRecorder
- func (m *MockApplication) ID() string
- func (m *MockApplication) IsEmbedded() bool
- func (m *MockApplication) Name() string
- func (m *MockApplication) Path() string
- func (m *MockApplication) RemoveWorkload(name string) bool
- func (m *MockApplication) RestartGeneration() int
- func (m *MockApplication) SetDesiredState(state v1beta1.ApplicationDesiredState)
- func (m *MockApplication) SetRestartGeneration(gen int)
- func (m *MockApplication) Status() (*v1beta1.DeviceApplicationStatus, v1beta1.DeviceApplicationsSummaryStatus, ...)
- func (m *MockApplication) User() v1beta1.Username
- func (m *MockApplication) Volume() provider.VolumeManager
- func (m *MockApplication) Workload(name string) (*Workload, bool)
- func (m *MockApplication) Workloads() []Workload
- type MockApplicationMockRecorder
- func (mr *MockApplicationMockRecorder) ActionSpec() *gomock.Call
- func (mr *MockApplicationMockRecorder) AddWorkload(Workload any) *gomock.Call
- func (mr *MockApplicationMockRecorder) AppType() *gomock.Call
- func (mr *MockApplicationMockRecorder) ClearWorkloads() *gomock.Call
- func (mr *MockApplicationMockRecorder) CopyWorkloadsFrom(other any) *gomock.Call
- func (mr *MockApplicationMockRecorder) DesiredState() *gomock.Call
- func (mr *MockApplicationMockRecorder) ID() *gomock.Call
- func (mr *MockApplicationMockRecorder) IsEmbedded() *gomock.Call
- func (mr *MockApplicationMockRecorder) Name() *gomock.Call
- func (mr *MockApplicationMockRecorder) Path() *gomock.Call
- func (mr *MockApplicationMockRecorder) RemoveWorkload(name any) *gomock.Call
- func (mr *MockApplicationMockRecorder) RestartGeneration() *gomock.Call
- func (mr *MockApplicationMockRecorder) SetDesiredState(state any) *gomock.Call
- func (mr *MockApplicationMockRecorder) SetRestartGeneration(gen any) *gomock.Call
- func (mr *MockApplicationMockRecorder) Status() *gomock.Call
- func (mr *MockApplicationMockRecorder) User() *gomock.Call
- func (mr *MockApplicationMockRecorder) Volume() *gomock.Call
- func (mr *MockApplicationMockRecorder) Workload(name any) *gomock.Call
- func (mr *MockApplicationMockRecorder) Workloads() *gomock.Call
- type MockManager
- func (m *MockManager) AfterUpdate(ctx context.Context) error
- func (m *MockManager) BeforeUpdate(ctx context.Context, desired *v1beta1.DeviceSpec, opts ...UpdateOpt) error
- func (m *MockManager) CollectOCITargets(ctx context.Context, current, desired *v1beta1.DeviceSpec, ...) (*dependency.OCICollection, error)
- func (m *MockManager) EXPECT() *MockManagerMockRecorder
- func (m *MockManager) Ensure(ctx context.Context, provider provider.Provider) error
- func (m *MockManager) Remove(ctx context.Context, provider provider.Provider) error
- func (m *MockManager) Shutdown(ctx context.Context, state shutdown.State) error
- func (m *MockManager) Status(arg0 context.Context, arg1 *v1beta1.DeviceStatus, arg2 ...status.CollectorOpt) error
- func (m *MockManager) Update(ctx context.Context, provider provider.Provider) error
- type MockManagerMockRecorder
- func (mr *MockManagerMockRecorder) AfterUpdate(ctx any) *gomock.Call
- func (mr *MockManagerMockRecorder) BeforeUpdate(ctx, desired any, opts ...any) *gomock.Call
- func (mr *MockManagerMockRecorder) CollectOCITargets(ctx, current, desired any, opts ...any) *gomock.Call
- func (mr *MockManagerMockRecorder) Ensure(ctx, provider any) *gomock.Call
- func (mr *MockManagerMockRecorder) Remove(ctx, provider any) *gomock.Call
- func (mr *MockManagerMockRecorder) Shutdown(ctx, state any) *gomock.Call
- func (mr *MockManagerMockRecorder) Status(arg0, arg1 any, arg2 ...any) *gomock.Call
- func (mr *MockManagerMockRecorder) Update(ctx, provider any) *gomock.Call
- type MockMonitor
- type MockMonitorMockRecorder
- type Monitor
- type PodmanMonitor
- func (m *PodmanMonitor) Drain(ctx context.Context) error
- func (m *PodmanMonitor) Ensure(ctx context.Context, app Application) error
- func (m *PodmanMonitor) ExecuteActions(ctx context.Context) error
- func (m *PodmanMonitor) Has(id string) bool
- func (m *PodmanMonitor) QueueLifecycle(appID string, desiredState v1beta1.ApplicationDesiredState, ...)
- func (m *PodmanMonitor) QueueRemove(app Application) error
- func (m *PodmanMonitor) QueueUpdate(app Application) error
- func (m *PodmanMonitor) RestartApp(ctx context.Context, appID string, restartGeneration int) error
- func (m *PodmanMonitor) StartApp(ctx context.Context, appID string) error
- func (m *PodmanMonitor) Status() ([]AppStatusResult, error)
- func (m *PodmanMonitor) Stop() error
- func (m *PodmanMonitor) StopApp(ctx context.Context, appID string) error
- type StatusType
- type UpdateOpt
- type Workload
Constants ¶
const ( AppTypeLabel = "appType" DefaultImageManifestDir = "/" )
Variables ¶
This section is empty.
Functions ¶
func NewApplication ¶
NewApplication creates a new application from an application provider.
func NewHelmApplication ¶ added in v1.1.0
NewHelmApplication creates a new application with Helm-specific configuration.
func NewManager ¶
func NewManager( log *log.PrefixLogger, rwFactory fileio.ReadWriterFactory, podmanFactory client.PodmanFactory, clients client.CLIClients, systemInfo systeminfo.Manager, systemdFactory systemd.ManagerFactory, pullConfigResolver dependency.PullConfigResolver, ) *manager
Types ¶
type AppStatusResult ¶ added in v1.1.0
type AppStatusResult struct {
Status v1beta1.DeviceApplicationStatus
Summary v1beta1.DeviceApplicationsSummaryStatus
}
AppStatusResult holds the status result for a single application.
type Application ¶
type Application interface {
// ID is an internal identifier for tracking the application this may or may
// not be the name provided by the user. How this ID is generated is
// determined on the application type level.
ID() string
// Name is the name of the application as defined by the user. If the name
// is not populated by the user a name will be generated based on the
// application type.
Name() string
// Type returns the application type.
AppType() v1beta1.AppType
// User is the username that the app runs as.
User() v1beta1.Username
// Path returns the path to the application on the device.
Path() string
// Workload returns a workload by name.
Workload(name string) (*Workload, bool)
// Workloads returns a copy of all workloads.
Workloads() []Workload
// AddWorkload adds a workload to the application.
AddWorkload(Workload *Workload)
// RemoveWorkload removes a workload from the application.
RemoveWorkload(name string) bool
// ClearWorkloads removes all workloads from the application.
ClearWorkloads()
// CopyWorkloadsFrom copies workloads from another application.
CopyWorkloadsFrom(other Application)
// IsEmbedded returns true if the application is embedded.
IsEmbedded() bool
// Volume is a volume manager.
Volume() provider.VolumeManager
// Status reports the status of an application using the name as defined by
// the user. In the case there is no name provided it will be populated
// according to the rules of the application type.
Status() (*v1beta1.DeviceApplicationStatus, v1beta1.DeviceApplicationsSummaryStatus, error)
// SetDesiredState records the operator-intended lifecycle state for this application.
// Called after a successful stop/start/restart to inform Status() of intent.
SetDesiredState(state v1beta1.ApplicationDesiredState)
// DesiredState returns the operator-intended lifecycle state for this application.
DesiredState() v1beta1.ApplicationDesiredState
// SetRestartGeneration updates the restart generation counter (called on each spec sync).
SetRestartGeneration(gen int)
// RestartGeneration returns the restart generation counter from the desired spec.
RestartGeneration() int
// ActionSpec returns the type-specific action configuration for this application.
ActionSpec() lifecycle.ActionSpec
}
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func NewController ¶
func NewController( podmanFactory client.PodmanFactory, clients client.CLIClients, manager Manager, rwFactory fileio.ReadWriterFactory, log *log.PrefixLogger, bootTime string, ) *Controller
func (*Controller) Sync ¶
func (c *Controller) Sync(ctx context.Context, current, desired *v1beta1.DeviceSpec) error
type KubernetesMonitor ¶ added in v1.1.0
type KubernetesMonitor struct {
// contains filtered or unexported fields
}
KubernetesMonitor monitors Kubernetes-based applications such as Helm releases.
func NewKubernetesMonitor ¶ added in v1.1.0
func NewKubernetesMonitor( log *log.PrefixLogger, clients client.CLIClients, rwFactory fileio.ReadWriterFactory, ) *KubernetesMonitor
NewKubernetesMonitor creates a new KubernetesMonitor with lazy initialization. Kubernetes availability is checked at operation time via k8sClient.Resolve().
func (*KubernetesMonitor) CreateCommand ¶ added in v1.1.0
CreateCommand implements streamingMonitor interface.
func (*KubernetesMonitor) Drain ¶ added in v1.1.0
func (m *KubernetesMonitor) Drain(ctx context.Context) error
Drain stops and removes all applications.
func (*KubernetesMonitor) Ensure ¶ added in v1.1.0
func (m *KubernetesMonitor) Ensure(app Application) error
Ensure adds an application to be monitored.
func (*KubernetesMonitor) ExecuteActions ¶ added in v1.1.0
func (m *KubernetesMonitor) ExecuteActions(ctx context.Context) error
ExecuteActions executes all queued actions.
func (*KubernetesMonitor) HandleEvent ¶ added in v1.1.0
func (m *KubernetesMonitor) HandleEvent(ctx context.Context, data []byte)
HandleEvent implements streamingMonitor interface.
func (*KubernetesMonitor) OnRestart ¶ added in v1.1.0
func (m *KubernetesMonitor) OnRestart()
OnRestart implements streamingMonitor interface.
func (*KubernetesMonitor) Parser ¶ added in v1.1.0
func (m *KubernetesMonitor) Parser() streamParser
Parser implements streamingMonitor interface.
func (*KubernetesMonitor) QueueLifecycle ¶ added in v1.3.0
func (m *KubernetesMonitor) QueueLifecycle(appID string, desiredState v1beta1.ApplicationDesiredState, restartGeneration int)
QueueLifecycle compares the new spec's lifecycle intent against the stored intent on the tracked application and queues ActionStop, ActionStart, or ActionRestart as needed. The stored desiredState/restartGeneration are only advanced by StopApp/StartApp/RestartApp once the corresponding action succeeds, so a failed action is retried on the next sync. No-op if the app is not tracked or if intent is unchanged.
func (*KubernetesMonitor) Remove ¶ added in v1.1.0
func (m *KubernetesMonitor) Remove(app Application) error
Remove removes an application from monitoring.
func (*KubernetesMonitor) RestartApp ¶ added in v1.3.0
func (m *KubernetesMonitor) RestartApp(ctx context.Context, appID string, restartGeneration int) error
RestartApp scales workloads to 0 then re-applies the chart for the application identified by appID.
func (*KubernetesMonitor) StartApp ¶ added in v1.3.0
func (m *KubernetesMonitor) StartApp(ctx context.Context, appID string) error
StartApp re-applies the Helm chart for the application identified by appID.
func (KubernetesMonitor) Status ¶ added in v1.1.0
func (m KubernetesMonitor) Status() ([]AppStatusResult, error)
Status returns the status of all monitored applications.
func (*KubernetesMonitor) Stop ¶ added in v1.1.0
func (m *KubernetesMonitor) Stop() error
Stop stops the Kubernetes monitor.
func (*KubernetesMonitor) StopApp ¶ added in v1.3.0
func (m *KubernetesMonitor) StopApp(ctx context.Context, appID string) error
StopApp stops the Helm application identified by appID by scaling its workloads to 0.
func (*KubernetesMonitor) Update ¶ added in v1.1.0
func (m *KubernetesMonitor) Update(app Application) error
Update updates an existing application, preserving workloads from the old app.
type Manager ¶
type Manager interface {
// Ensure installs and starts the application on the device using the given provider.
Ensure(ctx context.Context, provider provider.Provider) error
// Remove uninstalls the application from the device using the given provider.
Remove(ctx context.Context, provider provider.Provider) error
// Update replaces the current application with a new version provided by the given provider.
Update(ctx context.Context, provider provider.Provider) error
// BeforeUpdate is called prior to installing an application to ensure the
// application is valid and dependencies are met.
BeforeUpdate(ctx context.Context, desired *v1beta1.DeviceSpec, opts ...UpdateOpt) error
// AfterUpdate is called after the application has been validated and is ready to be executed.
// It executes queued install/remove/update actions and reconciles stop/start/restart lifecycle.
AfterUpdate(ctx context.Context) error
// Shutdown closes the manager according to the corresponding shutdown state
Shutdown(ctx context.Context, state shutdown.State) error
dependency.OCICollector
status.Exporter
}
Manager coordinates the lifecycle of an application by interacting with its Provider and ensuring it is properly handed off to the appropriate runtime Monitor.
type MockApplication ¶
type MockApplication struct {
// contains filtered or unexported fields
}
MockApplication is a mock of Application interface.
func NewMockApplication ¶
func NewMockApplication(ctrl *gomock.Controller) *MockApplication
NewMockApplication creates a new mock instance.
func (*MockApplication) ActionSpec ¶ added in v1.1.0
func (m *MockApplication) ActionSpec() lifecycle.ActionSpec
ActionSpec mocks base method.
func (*MockApplication) AddWorkload ¶ added in v0.6.0
func (m *MockApplication) AddWorkload(Workload *Workload)
AddWorkload mocks base method.
func (*MockApplication) AppType ¶ added in v0.6.0
func (m *MockApplication) AppType() v1beta1.AppType
AppType mocks base method.
func (*MockApplication) ClearWorkloads ¶ added in v1.1.0
func (m *MockApplication) ClearWorkloads()
ClearWorkloads mocks base method.
func (*MockApplication) CopyWorkloadsFrom ¶ added in v1.1.0
func (m *MockApplication) CopyWorkloadsFrom(other Application)
CopyWorkloadsFrom mocks base method.
func (*MockApplication) DesiredState ¶ added in v1.3.0
func (m *MockApplication) DesiredState() v1beta1.ApplicationDesiredState
DesiredState mocks base method.
func (*MockApplication) EXPECT ¶
func (m *MockApplication) EXPECT() *MockApplicationMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockApplication) ID ¶ added in v0.4.0
func (m *MockApplication) ID() string
ID mocks base method.
func (*MockApplication) IsEmbedded ¶
func (m *MockApplication) IsEmbedded() bool
IsEmbedded mocks base method.
func (*MockApplication) RemoveWorkload ¶ added in v0.6.0
func (m *MockApplication) RemoveWorkload(name string) bool
RemoveWorkload mocks base method.
func (*MockApplication) RestartGeneration ¶ added in v1.3.0
func (m *MockApplication) RestartGeneration() int
RestartGeneration mocks base method.
func (*MockApplication) SetDesiredState ¶ added in v1.3.0
func (m *MockApplication) SetDesiredState(state v1beta1.ApplicationDesiredState)
SetDesiredState mocks base method.
func (*MockApplication) SetRestartGeneration ¶ added in v1.3.0
func (m *MockApplication) SetRestartGeneration(gen int)
SetRestartGeneration mocks base method.
func (*MockApplication) Status ¶
func (m *MockApplication) Status() (*v1beta1.DeviceApplicationStatus, v1beta1.DeviceApplicationsSummaryStatus, error)
Status mocks base method.
func (*MockApplication) User ¶ added in v1.1.0
func (m *MockApplication) User() v1beta1.Username
User mocks base method.
func (*MockApplication) Volume ¶ added in v0.8.1
func (m *MockApplication) Volume() provider.VolumeManager
Volume mocks base method.
func (*MockApplication) Workload ¶ added in v0.6.0
func (m *MockApplication) Workload(name string) (*Workload, bool)
Workload mocks base method.
func (*MockApplication) Workloads ¶ added in v1.1.0
func (m *MockApplication) Workloads() []Workload
Workloads mocks base method.
type MockApplicationMockRecorder ¶
type MockApplicationMockRecorder struct {
// contains filtered or unexported fields
}
MockApplicationMockRecorder is the mock recorder for MockApplication.
func (*MockApplicationMockRecorder) ActionSpec ¶ added in v1.1.0
func (mr *MockApplicationMockRecorder) ActionSpec() *gomock.Call
ActionSpec indicates an expected call of ActionSpec.
func (*MockApplicationMockRecorder) AddWorkload ¶ added in v0.6.0
func (mr *MockApplicationMockRecorder) AddWorkload(Workload any) *gomock.Call
AddWorkload indicates an expected call of AddWorkload.
func (*MockApplicationMockRecorder) AppType ¶ added in v0.6.0
func (mr *MockApplicationMockRecorder) AppType() *gomock.Call
AppType indicates an expected call of AppType.
func (*MockApplicationMockRecorder) ClearWorkloads ¶ added in v1.1.0
func (mr *MockApplicationMockRecorder) ClearWorkloads() *gomock.Call
ClearWorkloads indicates an expected call of ClearWorkloads.
func (*MockApplicationMockRecorder) CopyWorkloadsFrom ¶ added in v1.1.0
func (mr *MockApplicationMockRecorder) CopyWorkloadsFrom(other any) *gomock.Call
CopyWorkloadsFrom indicates an expected call of CopyWorkloadsFrom.
func (*MockApplicationMockRecorder) DesiredState ¶ added in v1.3.0
func (mr *MockApplicationMockRecorder) DesiredState() *gomock.Call
DesiredState indicates an expected call of DesiredState.
func (*MockApplicationMockRecorder) ID ¶ added in v0.4.0
func (mr *MockApplicationMockRecorder) ID() *gomock.Call
ID indicates an expected call of ID.
func (*MockApplicationMockRecorder) IsEmbedded ¶
func (mr *MockApplicationMockRecorder) IsEmbedded() *gomock.Call
IsEmbedded indicates an expected call of IsEmbedded.
func (*MockApplicationMockRecorder) Name ¶
func (mr *MockApplicationMockRecorder) Name() *gomock.Call
Name indicates an expected call of Name.
func (*MockApplicationMockRecorder) Path ¶
func (mr *MockApplicationMockRecorder) Path() *gomock.Call
Path indicates an expected call of Path.
func (*MockApplicationMockRecorder) RemoveWorkload ¶ added in v0.6.0
func (mr *MockApplicationMockRecorder) RemoveWorkload(name any) *gomock.Call
RemoveWorkload indicates an expected call of RemoveWorkload.
func (*MockApplicationMockRecorder) RestartGeneration ¶ added in v1.3.0
func (mr *MockApplicationMockRecorder) RestartGeneration() *gomock.Call
RestartGeneration indicates an expected call of RestartGeneration.
func (*MockApplicationMockRecorder) SetDesiredState ¶ added in v1.3.0
func (mr *MockApplicationMockRecorder) SetDesiredState(state any) *gomock.Call
SetDesiredState indicates an expected call of SetDesiredState.
func (*MockApplicationMockRecorder) SetRestartGeneration ¶ added in v1.3.0
func (mr *MockApplicationMockRecorder) SetRestartGeneration(gen any) *gomock.Call
SetRestartGeneration indicates an expected call of SetRestartGeneration.
func (*MockApplicationMockRecorder) Status ¶
func (mr *MockApplicationMockRecorder) Status() *gomock.Call
Status indicates an expected call of Status.
func (*MockApplicationMockRecorder) User ¶ added in v1.1.0
func (mr *MockApplicationMockRecorder) User() *gomock.Call
User indicates an expected call of User.
func (*MockApplicationMockRecorder) Volume ¶ added in v0.8.1
func (mr *MockApplicationMockRecorder) Volume() *gomock.Call
Volume indicates an expected call of Volume.
func (*MockApplicationMockRecorder) Workload ¶ added in v0.6.0
func (mr *MockApplicationMockRecorder) Workload(name any) *gomock.Call
Workload indicates an expected call of Workload.
func (*MockApplicationMockRecorder) Workloads ¶ added in v1.1.0
func (mr *MockApplicationMockRecorder) Workloads() *gomock.Call
Workloads indicates an expected call of Workloads.
type MockManager ¶
type MockManager struct {
// contains filtered or unexported fields
}
MockManager is a mock of Manager interface.
func NewMockManager ¶
func NewMockManager(ctrl *gomock.Controller) *MockManager
NewMockManager creates a new mock instance.
func (*MockManager) AfterUpdate ¶ added in v0.4.0
func (m *MockManager) AfterUpdate(ctx context.Context) error
AfterUpdate mocks base method.
func (*MockManager) BeforeUpdate ¶ added in v0.4.0
func (m *MockManager) BeforeUpdate(ctx context.Context, desired *v1beta1.DeviceSpec, opts ...UpdateOpt) error
BeforeUpdate mocks base method.
func (*MockManager) CollectOCITargets ¶ added in v0.9.0
func (m *MockManager) CollectOCITargets(ctx context.Context, current, desired *v1beta1.DeviceSpec, opts ...dependency.OCICollectOpt) (*dependency.OCICollection, error)
CollectOCITargets mocks base method.
func (*MockManager) EXPECT ¶
func (m *MockManager) EXPECT() *MockManagerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockManager) Status ¶
func (m *MockManager) Status(arg0 context.Context, arg1 *v1beta1.DeviceStatus, arg2 ...status.CollectorOpt) error
Status mocks base method.
type MockManagerMockRecorder ¶
type MockManagerMockRecorder struct {
// contains filtered or unexported fields
}
MockManagerMockRecorder is the mock recorder for MockManager.
func (*MockManagerMockRecorder) AfterUpdate ¶ added in v0.4.0
func (mr *MockManagerMockRecorder) AfterUpdate(ctx any) *gomock.Call
AfterUpdate indicates an expected call of AfterUpdate.
func (*MockManagerMockRecorder) BeforeUpdate ¶ added in v0.4.0
func (mr *MockManagerMockRecorder) BeforeUpdate(ctx, desired any, opts ...any) *gomock.Call
BeforeUpdate indicates an expected call of BeforeUpdate.
func (*MockManagerMockRecorder) CollectOCITargets ¶ added in v0.9.0
func (mr *MockManagerMockRecorder) CollectOCITargets(ctx, current, desired any, opts ...any) *gomock.Call
CollectOCITargets indicates an expected call of CollectOCITargets.
func (*MockManagerMockRecorder) Ensure ¶
func (mr *MockManagerMockRecorder) Ensure(ctx, provider any) *gomock.Call
Ensure indicates an expected call of Ensure.
func (*MockManagerMockRecorder) Remove ¶
func (mr *MockManagerMockRecorder) Remove(ctx, provider any) *gomock.Call
Remove indicates an expected call of Remove.
func (*MockManagerMockRecorder) Shutdown ¶ added in v0.10.0
func (mr *MockManagerMockRecorder) Shutdown(ctx, state any) *gomock.Call
Shutdown indicates an expected call of Shutdown.
type MockMonitor ¶
type MockMonitor struct {
// contains filtered or unexported fields
}
MockMonitor is a mock of Monitor interface.
func NewMockMonitor ¶
func NewMockMonitor(ctrl *gomock.Controller) *MockMonitor
NewMockMonitor creates a new mock instance.
func (*MockMonitor) EXPECT ¶
func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockMonitor) Status ¶
func (m *MockMonitor) Status() []v1beta1.DeviceApplicationStatus
Status mocks base method.
type MockMonitorMockRecorder ¶
type MockMonitorMockRecorder struct {
// contains filtered or unexported fields
}
MockMonitorMockRecorder is the mock recorder for MockMonitor.
func (*MockMonitorMockRecorder) Run ¶
func (mr *MockMonitorMockRecorder) Run(ctx any) *gomock.Call
Run indicates an expected call of Run.
func (*MockMonitorMockRecorder) Status ¶
func (mr *MockMonitorMockRecorder) Status() *gomock.Call
Status indicates an expected call of Status.
type Monitor ¶
type Monitor interface {
Run(ctx context.Context)
Status() []v1beta1.DeviceApplicationStatus
}
type PodmanMonitor ¶
type PodmanMonitor struct {
// contains filtered or unexported fields
}
func NewPodmanMonitor ¶
func NewPodmanMonitor( log *log.PrefixLogger, podmanFactory client.PodmanFactory, systemdFactory systemd.ManagerFactory, bootTime string, rwFactory fileio.ReadWriterFactory, ) *PodmanMonitor
func (*PodmanMonitor) Drain ¶ added in v0.10.0
func (m *PodmanMonitor) Drain(ctx context.Context) error
Drain stops and removes all applications, then stops the monitor
func (*PodmanMonitor) Ensure ¶ added in v0.6.0
func (m *PodmanMonitor) Ensure(ctx context.Context, app Application) error
func (*PodmanMonitor) ExecuteActions ¶
func (m *PodmanMonitor) ExecuteActions(ctx context.Context) error
ExecuteActions executes all queued actions.
func (*PodmanMonitor) Has ¶ added in v0.6.0
func (m *PodmanMonitor) Has(id string) bool
func (*PodmanMonitor) QueueLifecycle ¶ added in v1.3.0
func (m *PodmanMonitor) QueueLifecycle(appID string, desiredState v1beta1.ApplicationDesiredState, restartGeneration int)
QueueLifecycle compares the new spec's lifecycle intent against the stored intent on the tracked application and queues ActionStop, ActionStart, or ActionRestart as needed. The stored desiredState/restartGeneration are only advanced by StopApp/StartApp/RestartApp once the corresponding action succeeds, so a failed action is retried on the next sync. No-op if the app is not tracked or if intent is unchanged.
func (*PodmanMonitor) QueueRemove ¶ added in v1.1.0
func (m *PodmanMonitor) QueueRemove(app Application) error
func (*PodmanMonitor) QueueUpdate ¶ added in v1.1.0
func (m *PodmanMonitor) QueueUpdate(app Application) error
func (*PodmanMonitor) RestartApp ¶ added in v1.3.0
RestartApp restarts the application identified by appID. For VM workloads this triggers an ACPI shutdown before the unit restarts.
func (*PodmanMonitor) StartApp ¶ added in v1.3.0
func (m *PodmanMonitor) StartApp(ctx context.Context, appID string) error
StartApp starts a previously stopped application identified by appID.
func (*PodmanMonitor) Status ¶
func (m *PodmanMonitor) Status() ([]AppStatusResult, error)
func (*PodmanMonitor) Stop ¶
func (m *PodmanMonitor) Stop() error
Stop stops the podman monitor without draining applications
func (*PodmanMonitor) StopApp ¶ added in v1.3.0
func (m *PodmanMonitor) StopApp(ctx context.Context, appID string) error
StopApp stops the application identified by appID without removing its files or Podman resources. Dispatches to the LifecycleHandler for the application's type and updates the app's desired state.
type StatusType ¶ added in v0.6.0
type StatusType string
const ( StatusCreate StatusType = "create" StatusInit StatusType = "init" StatusRunning StatusType = "start" StatusStop StatusType = "stop" StatusDie StatusType = "die" // docker only StatusDied StatusType = "died" StatusRemove StatusType = "remove" StatusExited StatusType = "exited" StatusUnhealthy StatusType = "unhealthy" )
func (StatusType) String ¶ added in v0.6.0
func (c StatusType) String() string
type UpdateOpt ¶ added in v1.1.0
type UpdateOpt func(*updateOpts)
UpdateOpt configures application update behavior.
func WithOSUpdatePending ¶ added in v1.1.0
WithOSUpdatePending indicates an OS update is pending.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package console is a generated GoMock package.
|
Package console is a generated GoMock package. |
|
Package helm provides utilities for working with Helm charts and rendered manifests.
|
Package helm provides utilities for working with Helm charts and rendered manifests. |
|
Package lifecycle is a generated GoMock package.
|
Package lifecycle is a generated GoMock package. |
|
Package provider is a generated GoMock package.
|
Package provider is a generated GoMock package. |