Dobby  3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
Classes | Public Member Functions | List of all members
IDobbySettings Class Referenceabstract

Interface provided to the library at startup, contains the configuration options for Dobby. More...

#include <IDobbySettings.h>

Inheritance diagram for IDobbySettings:
Inheritance graph
[legend]

Classes

struct  ApparmorSettings
 
struct  ExtraMount
 
struct  HardwareAccessSettings
 
struct  LogRelaySettings
 
struct  PidsSettings
 
struct  StraceSettings
 

Public Member Functions

virtual std::string workspaceDir () const =0
 Should return the path to a directory used to store temporary data like runc bundles. More...
 
virtual std::string persistentDir () const =0
 Should return a path to a directory on a persistent storage mount. More...
 
virtual std::map< std::string, std::string > extraEnvVariables () const =0
 A list of extra environment variables that will be set for all containers. More...
 
virtual std::string consoleSocketPath () const =0
 Location to create the socket used for capturing container logs. More...
 
virtual std::shared_ptr< HardwareAccessSettingsgpuAccessSettings () const =0
 Returns any extra details needed to access the GPU inside the container.
 
virtual std::shared_ptr< HardwareAccessSettingsvpuAccessSettings () const =0
 Returns any extra details needed to access the VPU (video pipeline) inside the container.
 
virtual std::vector< std::string > externalInterfaces () const =0
 Returns the set of external interface that container traffic maybe routed through. More...
 
virtual std::string addressRangeStr () const =0
 Returns the Dobby network address range in string format. More...
 
virtual in_addr_t addressRange () const =0
 Returns the Dobby network address range in in_addr_t format. More...
 
virtual std::vector< std::string > defaultPlugins () const =0
 Returns any default plugins the platform should run. More...
 
virtual Json::Value rdkPluginsData () const =0
 
virtual LogRelaySettings logRelaySettings () const =0
 
virtual StraceSettings straceSettings () const =0
 
virtual ApparmorSettings apparmorSettings () const =0
 
virtual PidsSettings pidsSettings () const =0
 

Detailed Description

Interface provided to the library at startup, contains the configuration options for Dobby.

Member Function Documentation

◆ addressRange()

virtual in_addr_t IDobbySettings::addressRange ( ) const
pure virtual

Returns the Dobby network address range in in_addr_t format.

IPv4 address, masked with /24, i.e. address can be nnn.nnn.nnn.0

Implemented in Settings.

◆ addressRangeStr()

virtual std::string IDobbySettings::addressRangeStr ( ) const
pure virtual

Returns the Dobby network address range in string format.

IPv4 address, masked with /24, i.e. address can be nnn.nnn.nnn.0

Implemented in Settings.

◆ consoleSocketPath()

virtual std::string IDobbySettings::consoleSocketPath ( ) const
pure virtual

Location to create the socket used for capturing container logs.

This needs to be somewhere writable

Implemented in Settings.

◆ defaultPlugins()

virtual std::vector<std::string> IDobbySettings::defaultPlugins ( ) const
pure virtual

Returns any default plugins the platform should run.

It's assumed the plugins will have an empty data section (i.e. {}) and that the default plugin options will always be suitable

Implemented in Settings.

◆ externalInterfaces()

virtual std::vector<std::string> IDobbySettings::externalInterfaces ( ) const
pure virtual

Returns the set of external interface that container traffic maybe routed through.

On every RDK platform this is { "eth0", "wlan0" } but it may change.

Implemented in Settings.

◆ extraEnvVariables()

virtual std::map<std::string, std::string> IDobbySettings::extraEnvVariables ( ) const
pure virtual

A list of extra environment variables that will be set for all containers.

This would typically define platform specific variables.

Implemented in Settings.

◆ persistentDir()

virtual std::string IDobbySettings::persistentDir ( ) const
pure virtual

Should return a path to a directory on a persistent storage mount.

This is currently not used, but maybe in the future.

Implemented in Settings.

◆ workspaceDir()

virtual std::string IDobbySettings::workspaceDir ( ) const
pure virtual

Should return the path to a directory used to store temporary data like runc bundles.

This should be non-persistent storage and will be used for transient data. If the directory doesn't exist the library will try and create it. If the directory (and any leading dirs) has to be created it will be created with 1755 permissions.

Because of the way container setup works, this directory needs to be accessible - but not writable - by un-privileged processes.

Implemented in Settings.


The documentation for this class was generated from the following file: