Dobby
3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
|
Interface provided to the library at startup, contains the configuration options for Dobby. More...
#include <IDobbySettings.h>
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< HardwareAccessSettings > | gpuAccessSettings () const =0 |
Returns any extra details needed to access the GPU inside the container. | |
virtual std::shared_ptr< HardwareAccessSettings > | vpuAccessSettings () 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 |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Location to create the socket used for capturing container logs.
This needs to be somewhere writable
Implemented in Settings.
|
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.
|
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.
|
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.
|
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.
|
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.