Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Go to file
Risha Mars a9d4a3d74e
Add more prometheus instrumentation (latency, response size) (#174)
We added basic prometheus instrumentation, but this only encapsulated basic go metrics and
 request counts. This adds latency and response size metrics exporting as well, to the 
public-api server, theweb server and the telemetry server.

Since the util function in grpc.go was basically used to wrap the server creation in a prometheus handler, I added the other prometheus constants in there and renamed the file to prometheus.go. 

- Add request duration and response size instrumentation to web and public api
- Also add latency monitoring to telemetry service requests
- Rename util/grpc.go to util/prometheus.go
2018-02-01 09:50:31 -08:00
.github Updates for v0.1.2 release (#171) 2018-01-19 10:56:20 -08:00
bin Set conduit version to match conduit docker tags (#208) 2018-01-26 11:43:45 -08:00
cli Update cli subcommands to print errors when encountered (#221) 2018-01-29 11:28:19 -08:00
codegen Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
controller Add more prometheus instrumentation (latency, response size) (#174) 2018-02-01 09:50:31 -08:00
futures-mpsc-lossy Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
pkg Set conduit version to match conduit docker tags (#208) 2018-01-26 11:43:45 -08:00
proto Move EosCtx to common for Tap and Telemetery (#204) 2018-01-24 15:48:00 -08:00
proxy Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
proxy-init Make proxy-deps multi-stage to remove the original source files (#161) 2018-01-17 12:26:22 -08:00
tower-grpc Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
tower-grpc-build Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
tower-grpc-examples Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
tower-h2 Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
tower-router Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
web Add more prometheus instrumentation (latency, response size) (#174) 2018-02-01 09:50:31 -08:00
.dockerignore Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
.editorconfig Add links to each deployment name in the Conduit dashboard (#44) 2017-12-19 15:40:24 -08:00
.gcp.json.enc Fix docker-build stage in CI (#21) 2017-12-08 00:52:06 -06:00
.gitattributes Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
.gitignore Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
.prometheus.dev.yml Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
.travis.yml Use dots reporter instead of nyan reporter in CI (#238) 2018-01-31 18:07:19 -08:00
BUILD.md Set conduit version to match conduit docker tags (#208) 2018-01-26 11:43:45 -08:00
CHANGES.md Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
CONTRIBUTING.md Add contributing doc and DCO file (#88) 2017-12-22 14:54:27 -08:00
Cargo.lock Prepare for v0.2.0 release (#248) 2018-01-31 15:39:48 -08:00
Cargo.toml Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
DCO Add contributing doc and DCO file (#88) 2017-12-22 14:54:27 -08:00
Dockerfile-base Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
Dockerfile-go-deps Make proxy-deps multi-stage to remove the original source files (#161) 2018-01-17 12:26:22 -08:00
Gopkg.lock Upgrade k8s.io/client-go to v6.0.0 (#122) 2018-01-11 10:22:37 -08:00
Gopkg.toml Upgrade k8s.io/client-go to v6.0.0 (#122) 2018-01-11 10:22:37 -08:00
LICENSE Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
README.md README update to 2018 (#233) 2018-01-30 10:47:19 -08:00
docker-compose.yml Set conduit version to match conduit docker tags (#208) 2018-01-26 11:43:45 -08:00

README.md

conduit

Build Status GitHub license Slack Status

🎈 Welcome to Conduit! 👋

Conduit is an ultralight service mesh for Kubernetes from the makers of Linkerd. It features a native proxy, written in Rust, that boasts the performance of C without all the heartbleed.

Conduit is experimental. It is capable of proxying all TCP traffic, and reporting top-line metrics (success rates, latencies, etc) for all HTTP, HTTP/2, and gRPC traffic. It currently does not work with websockets or with HTTP tunneling--see the --skip-outbound-ports flag for how to exclude these types of traffic.

Follow our progress towards production-readiness here and on Twitter.

Documentation

View Conduit docs for more a more comprehensive guide to getting started.

Getting started with Conduit

  1. Install the Conduit CLI curl https://run.conduit.io/install | sh

  2. Copy /Users/username/.conduit/bin/conduit into your PATH

  3. Run conduit install | kubectl apply -f - to install Conduit

  4. Check to make sure you're running the latest version of Conduit with conduit version

  5. Open a local version of the Conduit controller with conduit dashboard

  6. (Optional) To install a demo application for your Conduit instance, visit this section on Conduit docs

Working in this repo

BUILD.md includes general information on how to work in this repo.

Code of Conduct

This project is for everyone. We ask that our users and contributors take a few minutes to review our code of conduct.

License

Copyright 2018, Buoyant Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.