11 个版本
使用旧的 Rust 2015
0.2.0 | 2020 年 4 月 9 日 |
---|---|
0.1.1 | 2018 年 3 月 28 日 |
0.1.0 | 2018 年 2 月 8 日 |
0.0.9 | 2017 年 12 月 12 日 |
0.0.6 | 2017 年 11 月 29 日 |
#3 in #consul
每月 42 次下载
39KB
824 行
Service World - 简单发现 Consul 中的节点和服务
service-world 是一个基于 Rust 和 Tokio 的库,用于查询 Hashicorp 的 Consul 以获取节点和服务。目的是提供一个命令行工具以及一个简单的 web 服务器来发现可用的节点和服务。它包含两个二进制文件 sw-discover 和 sw-present。 sw-discover 是一个 CLI 客户端,可以显示所有服务和节点,还可以根据服务和标签进行筛选。输出可以是彩色纯文本或 JSON 以供后续处理。 sw-present 用于生成一个 HTML 网页,也可以使用内部 web 服务器提供。HTML 使用通过 Handlebars 模板语言提供的 handlebars-rust 生成。
目录
安装
Debian 软件包
请添加我的 PackageCloud 开源仓库,并使用 apt 安装 service-world
。
> curl -s https://packagecloud.io/install/repositories/lukaspustina/opensource/script.deb.sh | sudo bash
> sudo apt-get install service-world
二进制文件
您可以在 GitHub 上找到二进制发布版。
源代码
> rustup run nightly cargo install service_world --all-features
用法
sw-discover
USAGE:
sw-discover [OPTIONS] <url>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-o, --output <output module> Selects output module [default: terminal] [values: terminal, details, json]
-s, --service <service name>... Filters service for specified service names
-t, --tag <tag name>... Filters service for specified tags
ARGS:
<url> URL of consul agent to retrieve catalog from
示例
-
sw-discover 显示所有服务和节点
-
sw-discover 按服务名称筛选,显示详细信息和 JSON 输出。
sw-present
USAGE:
sw-present [FLAGS] --config <config> [url]
FLAGS:
-h, --help Prints help information
-r, --rocket Sets Rocket mode -- activates internal web server
-V, --version Prints version information
OPTIONS:
-c, --config <config> Sets config file
ARGS:
<url> URL of consul agent to retrieve catalog from
配置
在 示例子目录 中有一个自解释的 示例配置文件。一个包含必填配置参数的 极简示例配置 被打包在 Debian 包分发 子目录中。此子目录还包括 两个示例,用于必要的网页模板。
基本上有三个部分。一个通用部分描述了在哪里找到 consul,一个起始页面部分指定了起始页面的链接,以及一个服务部分。服务部分可以指定用于为服务概览中的每个服务生成链接的链接模板。这样,您可以通过每个服务的直接 URL 来丰富服务视图。例如,HAProxy 服务可以链接到其监控网页,而 Elastic Search 服务可以链接到其安装的管理插件等。
示例
-
sw-present 起始页面
-
sw-present 显示服务目录和服务链接
-
sw-present 显示服务导航
Postcardware
您可自由使用 service-world。如果您觉得它有用,我将非常感激您从您家乡寄给我一张明信片,说明您如何使用 service-world。我的工作地址是
Lukas Pustina
CenterDevice GmbH
Rheinwerkallee 3
53227 Bonn
Germany
依赖关系
~18MB
~336K SLoC