Documentation
¶
Index ¶
- func ApplySettings(cleanSession bool, settings SettingsAccessor, args map[string]interface{}, ...) error
- func CreateCloudConnection(settings *LocalConnectionSettings, cleanSession bool, ...) (*conn.MQTTConnection, error)
- func CreateLocalConnection(settings *LocalConnectionSettings, logger watermill.LoggerAdapter) (*conn.MQTTConnection, error)
- func HonoConnect(sigs <-chan os.Signal, statusPub message.Publisher, ...) error
- func LocalConnect(localClient *conn.MQTTConnection, logger watermill.LoggerAdapter) error
- func NewCAPool(caFile string) (*x509.CertPool, error)
- func NewHonoPub(logger watermill.LoggerAdapter, honoClient *conn.MQTTConnection) message.Publisher
- func NewHonoSub(logger watermill.LoggerAdapter, honoClient *conn.MQTTConnection) message.Subscriber
- func NewOnlineHonoPub(logger watermill.LoggerAdapter, honoClient *conn.MQTTConnection) message.Publisher
- func ParseProvisioningJSON(data []byte, settings *HubConnectionSettings) error
- func ReadConfig(path string, config interface{}) error
- func ReadProvisioning(path string, settings *HubConnectionSettings) error
- func SetupTracing(router *message.Router, logger logger.Logger)
- type Cleaner
- func CreateHubConnection(settings *HubConnectionSettings, nopStore bool, logger watermill.LoggerAdapter) (*conn.MQTTConnection, Cleaner, error)
- func NewFSTlsConfig(caCertPool *x509.CertPool, certFile, keyFile string) (*tls.Config, Cleaner, error)
- func NewHubTLSConfig(settings *TLSSettings, logger watermill.LoggerAdapter) (*tls.Config, Cleaner, error)
- func NewTPMTlsConfig(settings *TLSSettings, caCertPool *x509.CertPool, ...) (*tls.Config, Cleaner, error)
- type HubConnectionSettings
- type LocalConnectionSettings
- type Settings
- func (settings *Settings) DeepCopy() SettingsAccessor
- func (settings *Settings) HubConnection() *HubConnectionSettings
- func (settings *Settings) LocalConnection() *LocalConnectionSettings
- func (settings *Settings) Provisioning() string
- func (settings *Settings) ValidateDynamic() error
- func (settings *Settings) ValidateStatic() error
- type SettingsAccessor
- type TLSSettings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplySettings ¶
func ApplySettings( cleanSession bool, settings SettingsAccessor, args map[string]interface{}, statusPub message.Publisher, logger logger.Logger, ) error
ApplySettings applies all launch settings.
func CreateCloudConnection ¶
func CreateCloudConnection( settings *LocalConnectionSettings, cleanSession bool, logger watermill.LoggerAdapter, ) (*conn.MQTTConnection, error)
CreateCloudConnection creates a remote mosquitto connection.
func CreateLocalConnection ¶
func CreateLocalConnection( settings *LocalConnectionSettings, logger watermill.LoggerAdapter, ) (*conn.MQTTConnection, error)
CreateLocalConnection creates a local mosquitto connection.
func HonoConnect ¶
func HonoConnect(sigs <-chan os.Signal, statusPub message.Publisher, honoClient *conn.MQTTConnection, logger logger.Logger, ) error
HonoConnect connects to the Hono client.
func LocalConnect ¶
func LocalConnect(localClient *conn.MQTTConnection, logger watermill.LoggerAdapter) error
LocalConnect connects to the local client.
func NewHonoPub ¶
func NewHonoPub(logger watermill.LoggerAdapter, honoClient *conn.MQTTConnection) message.Publisher
NewHonoPub returns publisher for the Hono message connection.
func NewHonoSub ¶
func NewHonoSub(logger watermill.LoggerAdapter, honoClient *conn.MQTTConnection) message.Subscriber
NewHonoSub returns subscriber for the Hono message connection.
func NewOnlineHonoPub ¶
func NewOnlineHonoPub(logger watermill.LoggerAdapter, honoClient *conn.MQTTConnection) message.Publisher
NewOnlineHonoPub returns publisher for the Hono message connection in online mode.
func ParseProvisioningJSON ¶
func ParseProvisioningJSON(data []byte, settings *HubConnectionSettings) error
ParseProvisioningJSON parse and get settings values using the provided json content. The expected format should match the format used in the provisioning.json file. All values that are not present or have unexpected format are not filled in. Returns error if the provided data is not a valid json format.
func ReadConfig ¶
ReadConfig reads the configuration file provided settings.
func ReadProvisioning ¶
func ReadProvisioning(path string, settings *HubConnectionSettings) error
ReadProvisioning reads the provisioning file provided settings.
Types ¶
type Cleaner ¶
type Cleaner func()
Cleaner type is used to define the clean-up function.
func CreateHubConnection ¶
func CreateHubConnection( settings *HubConnectionSettings, nopStore bool, logger watermill.LoggerAdapter, ) (*conn.MQTTConnection, Cleaner, error)
CreateHubConnection creates a hub connection.
func NewFSTlsConfig ¶
func NewFSTlsConfig(caCertPool *x509.CertPool, certFile, keyFile string) (*tls.Config, Cleaner, error)
NewFSTlsConfig initializes a file Hub TLS.
func NewHubTLSConfig ¶
func NewHubTLSConfig(settings *TLSSettings, logger watermill.LoggerAdapter) (*tls.Config, Cleaner, error)
NewHubTLSConfig initializes the Hub TLS.
func NewTPMTlsConfig ¶
func NewTPMTlsConfig( settings *TLSSettings, caCertPool *x509.CertPool, logger watermill.LoggerAdapter, ) (*tls.Config, Cleaner, error)
NewTPMTlsConfig initializes s TPM Hub TLS.
type HubConnectionSettings ¶
type HubConnectionSettings struct { DeviceID string `json:"deviceId"` DeviceIDPattern string `json:"deviceIdPattern"` TenantID string `json:"tenantId"` PolicyID string `json:"policyId"` Address string `json:"address"` Password string `json:"password"` ClientID string `json:"clientId"` AuthID string `json:"authId"` UseCertificate bool `json:"-"` AutoProvisioningEnabled bool `json:"-"` TLSSettings }
HubConnectionSettings contains remote connection related settings.
func (*HubConnectionSettings) Validate ¶
func (c *HubConnectionSettings) Validate() error
Validate validates the hub connection settings.
type LocalConnectionSettings ¶
type LocalConnectionSettings struct { LocalAddress string `json:"localAddress"` LocalUsername string `json:"localUsername"` LocalPassword string `json:"localPassword"` }
LocalConnectionSettings contains the local connection settings.
func (*LocalConnectionSettings) Validate ¶
func (c *LocalConnectionSettings) Validate() error
Validate validates the local connection settings.
type Settings ¶
type Settings struct { logger.LogSettings HubConnectionSettings LocalConnectionSettings ProvisioningFile string `json:"provisioningFile"` }
Settings defines all configurable data that is used to setup the Suite Connector.
func DefaultSettings ¶
func DefaultSettings() *Settings
DefaultSettings returns the default settings.
func (*Settings) DeepCopy ¶
func (settings *Settings) DeepCopy() SettingsAccessor
DeepCopy implementation.
func (*Settings) HubConnection ¶
func (settings *Settings) HubConnection() *HubConnectionSettings
HubConnection implementation.
func (*Settings) LocalConnection ¶
func (settings *Settings) LocalConnection() *LocalConnectionSettings
LocalConnection implementation.
func (*Settings) Provisioning ¶
Provisioning implementation.
func (*Settings) ValidateDynamic ¶
ValidateDynamic validates the settings that are changed runtime.
func (*Settings) ValidateStatic ¶
ValidateStatic validates the settings that could not be changed runtime.
type SettingsAccessor ¶
type SettingsAccessor interface { // Provisioning returns the ProvisioningFile embedded field. Provisioning() string // LocalConnection returns the LocalConnectionSettings embedded field. LocalConnection() *LocalConnectionSettings // HubConnection returns HubConnectionSettings embedded field. HubConnection() *HubConnectionSettings // ValidateDynamic validates settings instance ValidateDynamic() error // Creates deep copy of this instance. DeepCopy() SettingsAccessor }
SettingsAccessor is used accessing embedded struct members.
type TLSSettings ¶
type TLSSettings struct { CACert string `json:"cacert"` Cert string `json:"cert"` Key string `json:"key"` TPMKey string `json:"tpmKey"` TPMKeyPub string `json:"tpmKeyPub"` TPMHandle uint64 `json:"tpmHandle"` TPMDevice string `json:"tpmDevice"` }
TLSSettings represents the TLS configuration data.