21 个版本 (8 个破坏性更新)
0.9.1 | 2023 年 5 月 16 日 |
---|---|
0.8.1 | 2023 年 5 月 10 日 |
0.5.4 | 2023 年 3 月 15 日 |
1572 在 网页编程
230 每月下载量
在 nomad_events_logger 中使用
230KB
4.5K SLoC
Nomad 客户端
Nomad HTTP API 客户端
目录
概述
HTTP API 版本 : v1.5.x
快速入门
通过命令行安装包
cargo add nomad-client-rs
或者将以下内容添加到您的 Cargo.toml
[dependencies]
nomad-client-rs = "x.x.x"
使用方法
默认 nomad 客户端使用 环境变量/默认值
let client = NomadClient::default();
具有自定义配置的 nomad 客户端
let client_config = Config {
base_url: "http://example".into(),
port: 1234,
api_version: "v1".into(),
token: None,
..Config::default()
};
let client = NomadClient::new(client_config);
实现的 API 端点
类 | 方法 | HTTP 请求 |
---|---|---|
allocation | allocation_restart | POST /client/allocation/{alloc_id}/restart |
acl | acl_tokens_list | GET /acl/tokens |
acl | acl_token_create | POST /acl/token |
acl | acl_token_update | POST /acl/token/{accessor_id} |
acl | acl_token_read | GET /acl/token/{accessor_id} |
acl | acl_token_read_self | GET /acl/token/self |
acl | acl_token_delete | DELETE /acl/token/{accessor_id} |
client | client_list_files | GET /client/fs/ls/{alloc_id}?path={file_path} |
client | client_get_file | GET /client/fs/cat/{alloc_id}?path={file_path} |
client | client_get_file_info | GET /client/fs/stat/{alloc_id}?path={file_path} |
client | client_read_metadata | GET /client/metadata |
client | client_update_metadata | POST /client/metadata |
deployment | deployment_list | GET /deployments |
deployment | deployment_get | GET /deployments/{id} |
deployment | deployment_allocation_list | GET /deployment/allocations/{id} |
deployment | deployment_fail | POST /deployment/fail/{id} |
event | events_subscribe | GET /event/stream |
job | job_dispatch | POST /job/{job_name}/dispatch |
job | job_parse | POST /job/parse |
job | job_create | POST /jobs |
job | job_list_allocations | GET /job/{job_name}/allocations |
job | job_delete | DELETE /job/{job_name} |
namespace | namespace_list | GET /namespaces |
namespace | namespace_get | GET /namespace/{namespace} |
namespace | namespace_create | POST /namespace |
namespace | namespace_delete | DELETE /namespace/{namespace} |
status | status_get_peers | GET /status/peers |
status | status_get_leader | GET /status/leader |
变量 | 变量列表 | GET /vars |
变量 | 变量获取 | GET /var/{var_path} |
变量 | 变量创建 | PUT /var/{var_path} |
变量 | 变量删除 | DELETE /var/{var_path} |
服务 | 服务列表 | GET /services |
服务 | 变量获取 | GET /services/{service_name} |
环境
变量
NomadClient 可以通过环境变量进行配置。
如果环境变量不可用,它将使用指定的默认值。
变量 | 默认值 |
---|---|
NOMAD_BASE_URL | https://127.0.0.1 |
NOMAD_PORT | 4646 |
NOMAD_API_VERSION | v1 |
NOMAD_SECRET_TOKEN | |
NOMAD_TLS_ALLOW_INSECURE | false |
NOMAD_MTLS_CERT_PATH | |
NOMAD_MTLS_KEY_PATH |
身份验证
MTLS
NomadClient 仅支持使用 .pem
文件进行 mTLS 身份验证。要使用 mTLS 身份验证,只需在 Config
结构体中配置 mtls
字段。
let client_config = Config {
mtls: Some(MTLSConfig::new("path/to/client.pem", "path/to/client-key.pem"));
..Config::default()
};
依赖项
~6–19MB
~274K SLoC