Documentation ¶
Index ¶
- type Downloader
- type FirmwareUpdater
- type Instance
- func (instance *Instance) Close() (err error)
- func (instance *Instance) CloudConnected()
- func (instance *Instance) CloudDisconnected()
- func (instance *Instance) GetFOTAStatus() (status cmserver.UpdateFOTAStatus)
- func (instance *Instance) GetFOTAStatusChannel() (channel <-chan cmserver.UpdateFOTAStatus)
- func (instance *Instance) GetSOTAStatus() (status cmserver.UpdateSOTAStatus)
- func (instance *Instance) GetSOTAStatusChannel() (channel <-chan cmserver.UpdateSOTAStatus)
- func (instance *Instance) ProcessDesiredStatus(desiredStatus cloudprotocol.DesiredStatus)
- func (instance *Instance) ProcessRunStatus(status RunInstancesStatus) error
- func (instance *Instance) ProcessUpdateInstanceStatus(status []cloudprotocol.InstanceStatus)
- func (instance *Instance) SendUnitStatus() error
- func (instance *Instance) StartFOTAUpdate() (err error)
- func (instance *Instance) StartSOTAUpdate() (err error)
- type InstanceRunner
- type LayerStatus
- type RunInstancesStatus
- type ServiceStatus
- type SoftwareUpdater
- type StatusSender
- type Storage
- type UnitConfigUpdater
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Downloader ¶
type Downloader interface { Download(ctx context.Context, packageInfo downloader.PackageInfo) (result downloader.Result, err error) Release(filePath string) error ReleaseByType(targetType string) error }
Downloader downloads packages.
type FirmwareUpdater ¶
type FirmwareUpdater interface { GetStatus() (componentsInfo []cloudprotocol.ComponentStatus, err error) UpdateComponents(components []cloudprotocol.ComponentInfo, chains []cloudprotocol.CertificateChain, certs []cloudprotocol.Certificate) (status []cloudprotocol.ComponentStatus, err error) }
FirmwareUpdater updates system components.
type Instance ¶
Instance instance of unit status handler.
func New ¶
func New( cfg *config.Config, unitConfigUpdater UnitConfigUpdater, firmwareUpdater FirmwareUpdater, softwareUpdater SoftwareUpdater, instanceRunner InstanceRunner, downloader Downloader, storage Storage, statusSender StatusSender, ) (instance *Instance, err error)
New creates new unit status handler instance.
func (*Instance) CloudConnected ¶
func (instance *Instance) CloudConnected()
CloudConnected indicates unit connected to cloud.
func (*Instance) CloudDisconnected ¶
func (instance *Instance) CloudDisconnected()
CloudDisconnected indicates unit disconnected from cloud.
func (*Instance) GetFOTAStatus ¶
func (instance *Instance) GetFOTAStatus() (status cmserver.UpdateFOTAStatus)
GetFOTAStatus returns FOTA current status.
func (*Instance) GetFOTAStatusChannel ¶
func (instance *Instance) GetFOTAStatusChannel() (channel <-chan cmserver.UpdateFOTAStatus)
GetFOTAStatusChannel returns FOTA status channels.
func (*Instance) GetSOTAStatus ¶
func (instance *Instance) GetSOTAStatus() (status cmserver.UpdateSOTAStatus)
GetSOTAStatus returns SOTA current status.
func (*Instance) GetSOTAStatusChannel ¶
func (instance *Instance) GetSOTAStatusChannel() (channel <-chan cmserver.UpdateSOTAStatus)
GetSOTAStatusChannel returns SOTA status channel.
func (*Instance) ProcessDesiredStatus ¶
func (instance *Instance) ProcessDesiredStatus(desiredStatus cloudprotocol.DesiredStatus)
ProcessDesiredStatus processes desired status.
func (*Instance) ProcessRunStatus ¶
func (instance *Instance) ProcessRunStatus(status RunInstancesStatus) error
ProcessRunStatus process current run instances status.
func (*Instance) ProcessUpdateInstanceStatus ¶
func (instance *Instance) ProcessUpdateInstanceStatus(status []cloudprotocol.InstanceStatus)
ProcessUpdateInstanceStatus process update instances status.
func (*Instance) SendUnitStatus ¶
SendUnitStatus send unit status.
func (*Instance) StartFOTAUpdate ¶
StartFOTAUpdate triggers FOTA update.
func (*Instance) StartSOTAUpdate ¶
StartSOTAUpdate triggers SOTA update.
type InstanceRunner ¶
type InstanceRunner interface { RunInstances(instances []cloudprotocol.InstanceInfo, newServices []string) error RestartInstances() error GetNodesConfiguration() []cloudprotocol.NodeInfo }
InstanceRunner instances runner.
type LayerStatus ¶
type LayerStatus struct { cloudprotocol.LayerStatus Cached bool }
LayerStatus represents layer status.
type RunInstancesStatus ¶
type RunInstancesStatus struct { UnitSubjects []string Instances []cloudprotocol.InstanceStatus ErrorServices []cloudprotocol.ServiceStatus }
RunInstancesStatus run instances status.
type ServiceStatus ¶
type ServiceStatus struct { cloudprotocol.ServiceStatus Cached bool }
ServiceStatus represents service status.
type SoftwareUpdater ¶
type SoftwareUpdater interface { GetServicesStatus() ([]ServiceStatus, error) GetLayersStatus() ([]LayerStatus, error) InstallService(serviceInfo cloudprotocol.ServiceInfo, chains []cloudprotocol.CertificateChain, certs []cloudprotocol.Certificate) error RestoreService(serviceID string) error RemoveService(serviceID string) error InstallLayer(layerInfo cloudprotocol.LayerInfo, chains []cloudprotocol.CertificateChain, certs []cloudprotocol.Certificate) error RemoveLayer(digest string) error RestoreLayer(digest string) error }
SoftwareUpdater updates services, layers.
type StatusSender ¶
type StatusSender interface { SendUnitStatus(unitStatus cloudprotocol.UnitStatus) (err error) SubscribeForConnectionEvents(consumer amqphandler.ConnectionEventsConsumer) error }
StatusSender sends unit status to cloud.
type Storage ¶
type Storage interface { SetFirmwareUpdateState(state json.RawMessage) (err error) GetFirmwareUpdateState() (state json.RawMessage, err error) SetSoftwareUpdateState(state json.RawMessage) (err error) GetSoftwareUpdateState() (state json.RawMessage, err error) }
Storage used to store unit status handler states.
type UnitConfigUpdater ¶
type UnitConfigUpdater interface { GetStatus() (unitConfigInfo cloudprotocol.UnitConfigStatus, err error) GetUnitConfigVersion(configJSON json.RawMessage) (vendorVersion string, err error) CheckUnitConfig(configJSON json.RawMessage) (vendorVersion string, err error) UpdateUnitConfig(configJSON json.RawMessage) (err error) }
UnitConfigUpdater updates unit configuration.