1个不稳定版本

0.1.0 2024年4月30日

#347 in 配置

31 每月下载
用于 5 个crates (3 个直接使用)

Apache-2.0

8KB
88 代码行

Terraphim Settings Crate

该crate的目的是为Terraphim AI提供每个设备的设置。它使用twelf crate来合并环境变量和设置文件的设置。twelf crate层的逻辑是从环境和设置文件中合并设置。用户可以通过修改环境中的设置TERRAPHIM_SERVER_HOSTNAME或修改设置文件./default/settings.toml中的“-”后的值,在不修改代码的情况下覆盖默认设置。

每次部署(桌面或服务器)都有自己的默认设置文件。设置文件位于项目根目录的默认文件夹中。设置文件命名为settings.toml。设置文件是一个具有以下结构的TOML文件

server_hostname = "${TERRAPHIM_SERVER_HOSTNAME}-127.0.0.1:8000"
api_endpoint="${TERRAPHIM_SERVER_API_ENDPOINT}-https://127.0.0.1:8000/api"

[profiles.s3]
type = "s3"
bucket = "test"
region = "${TERRAPHIM_PROFILE_S3_REGION:-us-east-1}"
endpoint = "${TERRAPHIM_PROFILE_S3_ENDPOINT:-http://rpi4node3:8333/}"
access_key_id = "${AWS_ACCESS_KEY_ID}"
secret_access_key = "${AWS_SECRET_ACCESS_KEY}"

[profiles.sled]
type = "sled"
datadir= "/tmp/opendal/sled"

[profiles.dash]
type = "dashmap"
root = "/tmp/dashmaptest"

[profiles.rock]
type = "rocksdb"
datadir = "/tmp/opendal/rocksdb" 

[profiles.atomicserver]
endpoint = "${TERRAPHIM_PROFILE_ATOMICSERVER}"
type = "atomicserver"
private_key = "${TERRAPHIM_PROFILE_ATOMICSERVER_PRIVATE_KEY}"
public_key = "${TERRAPHIM_PROFILE_ATOMICSERVER_PUBLIC_KEY}"
parent_resource_id="${TERRAPHIM_PROFILE_ATOMICSERVER}"

应用程序首次启动时,设置crate会检查设置文件是否存在。如果不存在,它将从默认文件夹将设置文件复制到 ~/.config/terraphim/settings.toml(在Mac和Linux上)。

依赖项

~2–13MB
~106K SLoC