#server #postgresql #component #registry #warg #registries #in-memory

dev bin+lib warg-server

Warg 组件注册库的服务器库

10 个版本 (破坏性更新)

0.7.0 2024年5月16日
0.5.0 2024年5月8日
0.5.0-dev 2024年3月7日
0.2.0 2023年10月20日
0.0.0 2023年1月31日

#127 in 数据库接口

Download history 550/week @ 2024-05-04 483/week @ 2024-05-11 149/week @ 2024-05-18 84/week @ 2024-05-25 56/week @ 2024-06-01 42/week @ 2024-06-08 51/week @ 2024-06-15 74/week @ 2024-06-22 51/week @ 2024-06-29 61/week @ 2024-07-06 82/week @ 2024-07-13 54/week @ 2024-07-20 163/week @ 2024-07-27 53/week @ 2024-08-03 89/week @ 2024-08-10 49/week @ 2024-08-17

每月下载量 359
4 crates 中使用

Apache-2.0 WITH LLVM-exception

450KB
11K SLoC

Warg 注册服务器

⚠️ 目前这是原型质量代码。⚠️

运行服务器

注册服务器可以使用内存或 PostgreSQL 存储启动。

内存存储

使用内存存储,服务器将所有数据存储在内存中,当服务器停止时数据将丢失。

要启动服务器,提供 WARG_OPERATOR_KEY 环境变量,该变量用于在服务器的操作日志中签名条目

此外,提供 WARG_NAMESPACE 环境变量以定义包发布的初始命名空间。

$ WARG_NAMESPACE=example WARG_OPERATOR_KEY="ecdsa-p256:I+UlDo0HxyBBFeelhPPWmD+LnklOpqZDkrFP5VduASk=" cargo run -- --content-dir content
2023-04-18T23:48:52.149746Z  INFO warg_server::services::core: initializing core service
2023-04-18T23:48:52.170199Z  INFO warg_server::services::core: core service is running
2023-04-18T23:48:52.170233Z  INFO warg_server: listening on 0.0.0.0:8090

PostgreSQL 存储

使用 PostgreSQL 存储,服务器将所有数据存储在 PostgreSQL 数据库中。

对 PostgreSQL 存储的支持位于 postgres 编译功能标志之后。

使用 Docker 启动 PostgreSQL 服务器是最简单的方法

docker run -d --name postgres -e POSTGRES_PASSWORD=password -v /tmp/data:/var/lib/postgresql/data -p 5432:5432 postgres

使用上述命令,数据将存储在主机上的 /tmp/data

要设置数据库,安装 diesel-cli

cargo install diesel_cli

然后运行设置

diesel database setup --database-url postgres://postgres:password@localhost/registry

在这里,registry 是将要创建的数据库名称。

要启动注册服务器,提供 WARG_OPERATOR_KEYWARG_DATABASE_URL 环境变量

WARG_NAMESPACE=example WARG_DATABASE_URL=postgres://postgres:password@localhost/registry WARG_OPERATOR_KEY="ecdsa-p256:I+UlDo0HxyBBFeelhPPWmD+LnklOpqZDkrFP5VduASk=" cargo run -p warg-server --features postgres -- --content-dir content --data-store postgres

--data-store postgres 标志以 PostgreSQL 数据存储启动服务器。

服务器现在可以重启,并继续使用相同的数据库。

依赖项

约20–35MB
约573K SLoC