Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 1.3 KB

README.md

File metadata and controls

52 lines (39 loc) · 1.3 KB

consul-rust

Build Status

Documentation here.

Rust client libray for Consul HTTP API

Usage

#![allow(unused_must_use)]

use consul::Client;
use consul::Config;
use consul::catalog::Catalog;

fn main(){
    let mut config = Config::new().unwrap();
    config.address = String::from("http://localhost:8500");
    let client = Client::new(config);
    let nodes = client.nodes(None);
    nodes.map(|(nodes, _)|{
        println!("nodes: {:?}", nodes);
       for node in nodes.iter() {
           println!("node {}: {:?}", node.ID, client.node(node.ID.as_str(), None));
       }
    });

    let res = client.services(None);
    res.map(|(m, _)|{
        println!("services: {:?}", m);
        for key in m.keys() {
            let service = client.service(key.as_str(), None);
            println!("service {}: {:?}", key, service);
        }
    });
}

For more example, see the tests .

Installation

Simply include the consul-rust in your Cargo dependencies.

[dependencies]
consul = "0.4"