beetle data locations
beetle

Data Locations

Beetle follows operating system conventions for storing files & folders, using an beetle directory as a common wrapper for beetle data, regardless of platform.

platformconfiguration filesapplication files
Linux$XDG_CONFIG_HOME/beetle or $HOME/.config/beetle$XDG_DATA_HOME/beetle or $HOME/.local/share/beetle
MacOS$HOME/Library/Application Support/beetle$HOME/Library/Application Support/beetle
Windows{FOLDERID_RoamingAppData}/beetle{FOLDERID_RoamingAppData}/beetle
iOSN/A: Configured via codeapp-local rocksDB instance
AndroidN/A: Configured via codeapp-local rocksDB instance

Under the hood our approach follows the dirs.dev approach, aiming to respect supported operating system rules for config, cache files, and other application data.

Configuration files

Configuration files are stored in the configuration directory, and follow a ${service_name}.config.toml convention. Configuration files are not required, and will resort to default configuration when not present. For more info see configuration.

serviceconfiguration filename
beetle cloud p2pp2p.config.toml
beetle cloud storestore.config.toml
beetle cloud gatewaygateway.config.toml
beetle oneone.config.toml

Private Keys

Private keys are considered configuration data. Each key is storead as a separate file using the same naming conventions as OpenSSH. Examining a common beetle config directory will look like this:

$ tree .
beetle
├── id_p2p_ed25519_0
├── store.config.toml
├── gateway.config.toml
└── p2p.config.toml

In this case, id_p2p_ed25519_0 will be used by p2p services as the basis for peer identity.