#服务发现 #服务 #consul #发现 #网络 #命令行工具 #生成 HTML

nightly bin+lib service_world

从 Hasicorp 的 consul 中发现服务

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 次下载

MIT 许可证

39KB
824

Service World - 简单发现 Consul 中的节点和服务

Linux & OS X Build Status MIT licensed

service-world 是一个基于 RustTokio 的库,用于查询 Hashicorp 的 Consul 以获取节点和服务。目的是提供一个命令行工具以及一个简单的 web 服务器来发现可用的节点和服务。它包含两个二进制文件 sw-discoversw-presentsw-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 显示所有服务和节点

  • sw-discover 按服务名称筛选,显示详细信息和 JSON 输出。 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 显示服务目录和服务链接 sw-present 显示服务目录和服务链接

  • sw-present 显示服务导航 sw-present 导航

Postcardware

您可自由使用 service-world。如果您觉得它有用,我将非常感激您从您家乡寄给我一张明信片,说明您如何使用 service-world。我的工作地址是

Lukas Pustina
CenterDevice GmbH
Rheinwerkallee 3
53227 Bonn
Germany

依赖关系

~18MB
~336K SLoC