config

package
v2.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigurationStruct

type ConfigurationStruct struct {
	// WritableInfo contains configuration settings that can be changed in the Registry .
	Writable WritableInfo
	// Clients is a map of services used by a DS.
	Clients map[string]bootstrapConfig.ClientInfo
	// Registry contains registry-specific settings.
	Registry bootstrapConfig.RegistryInfo
	// Service contains DeviceService-specific settings.
	Service bootstrapConfig.ServiceInfo
	// Device contains device-specific configuration settings.
	Device DeviceInfo
	// Driver is a string map contains customized configuration for the protocol driver implemented based on Device SDK
	Driver map[string]string
	// SecretStore contains information for connecting to the secure SecretStore (Vault) to retrieve or store secrets
	SecretStore bootstrapConfig.SecretStoreInfo
	// MessageQueue contains information for connecting to MessageBus which provides alternative way to publish event
	MessageQueue bootstrapConfig.MessageBusInfo
	// MaxEventSize is the maximum event size that can be sent to MessageBus or CoreData
	MaxEventSize int64
}

ConfigurationStruct contains the configuration properties for the device service.

func (*ConfigurationStruct) EmptyWritablePtr

func (c *ConfigurationStruct) EmptyWritablePtr() interface{}

EmptyWritablePtr returns a pointer to a service-specific empty WritableInfo struct. It is used by the bootstrap to provide the appropriate structure to registry.Client's WatchForChanges().

func (*ConfigurationStruct) GetBootstrap

GetBootstrap returns the configuration elements required by the bootstrap. Currently, a copy of the configuration data is returned. This is intended to be temporary -- since ConfigurationStruct drives the configuration.toml's structure -- until we can make backwards-breaking configuration.toml changes (which would consolidate these fields into an bootstrapConfig.BootstrapConfiguration struct contained within ConfigurationStruct).

func (*ConfigurationStruct) GetInsecureSecrets

func (c *ConfigurationStruct) GetInsecureSecrets() bootstrapConfig.InsecureSecrets

GetInsecureSecrets returns the service's InsecureSecrets.

func (*ConfigurationStruct) GetLogLevel

func (c *ConfigurationStruct) GetLogLevel() string

GetLogLevel returns the current ConfigurationStruct's log level.

func (*ConfigurationStruct) GetMessageBusInfo

func (c *ConfigurationStruct) GetMessageBusInfo() bootstrapConfig.MessageBusInfo

GetMessageBusInfo returns the MessageBus configuration

func (*ConfigurationStruct) GetRegistryInfo

func (c *ConfigurationStruct) GetRegistryInfo() bootstrapConfig.RegistryInfo

GetRegistryInfo gets the config.RegistryInfo field from the ConfigurationStruct.

func (*ConfigurationStruct) GetTelemetryInfo added in v2.2.0

func (c *ConfigurationStruct) GetTelemetryInfo() *bootstrapConfig.TelemetryInfo

GetTelemetryInfo returns the service's Telemetry settings.

func (*ConfigurationStruct) UpdateFromRaw

func (c *ConfigurationStruct) UpdateFromRaw(rawConfig interface{}) bool

UpdateFromRaw converts configuration received from the registry to a service-specific configuration struct which is then used to overwrite the service's existing configuration struct.

func (*ConfigurationStruct) UpdateWritableFromRaw

func (c *ConfigurationStruct) UpdateWritableFromRaw(rawWritable interface{}) bool

UpdateWritableFromRaw converts configuration received from the registry to a service-specific WritableInfo struct which is then used to overwrite the service's existing configuration's WritableInfo struct.

type DeviceInfo

type DeviceInfo struct {
	// DataTransform specifies whether or not the DS perform transformations
	// specified by value descriptor on a actuation or query command.
	DataTransform bool
	// MaxCmdOps defines the maximum number of resource operations that
	// can be sent to a Driver in a single command.
	MaxCmdOps int
	// MaxCmdValueLen is the maximum string length of a command parameter or
	// result (including the value descriptor name) that can be returned
	// by a Driver.
	MaxCmdValueLen int
	// ProfilesDir specifies a directory which contains device profiles
	// files which should be imported on startup.
	ProfilesDir string
	// DevicesDir specifies a directory contains devices files which should be imported on startup.
	DevicesDir string
	// UpdateLastConnected specifies whether to update device's LastConnected
	// timestamp in metadata.
	UpdateLastConnected bool

	Discovery DiscoveryInfo
	// AsyncBufferSize defines the size of asynchronous channel
	AsyncBufferSize int
	// EnableAsyncReadings to determine whether the Device Service would deal with the asynchronous readings
	EnableAsyncReadings bool
	// Labels are properties applied to the device service to help with searching
	Labels []string
	// UseMessageBus indicates whether or not the Event are published directly to the MessageBus
	UseMessageBus bool
}

DeviceInfo is a struct which contains device specific configuration settings.

type DiscoveryInfo

type DiscoveryInfo struct {
	// Enabled controls whether or not device discovery is enabled.
	Enabled bool
	// Interval indicates how often the discovery process will be triggered.
	// It represents as a duration string.
	Interval string
}

DiscoveryInfo is a struct which contains configuration of device auto discovery.

type Reading added in v2.2.0

type Reading struct {
	// ReadingUnits specifies whether or not to indicate the units of measure for the value in the reading
	ReadingUnits bool
}

Reading is a struct which contains reading configuration settings.

type Telemetry

type Telemetry struct {
	Alloc,
	TotalAlloc,
	Sys,
	Mallocs,
	Frees,
	LiveObjects uint64
}

Telemetry provides metrics (on a given device service) to system management.

type WritableInfo

type WritableInfo struct {
	// Level is the logging level of writing log message
	LogLevel        string
	InsecureSecrets config.InsecureSecrets
	Reading         Reading
	Telemetry       config.TelemetryInfo
}

WritableInfo is a struct which contains configuration settings that can be changed in the Registry .

Jump to

Keyboard shortcuts

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