Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Go to file
Andrew Seigner 77fb6d3709
Add namespace as a resource type in public-api (#760)
* Add namespace as a resource type in public-api

The cli and public-api only supported deployments as a resource type.

This change adds support for namespace as a resource type in the cli and
public-api. This also change includes:
- cli statsummary now prints `-`'s when objects are not in the mesh
- cli statsummary prints `No resources found.` when applicable
- removed `out-` from cli statsummary flags, and analagous proto changes
- switched public-api to use native prometheus label types
- misc error handling and logging fixes

Part of #627

Signed-off-by: Andrew Seigner <siggy@buoyant.io>

* Refactor filter and groupby label formulation

Signed-off-by: Kevin Lingerfelt <kl@buoyant.io>

* Rename stat_summary.go to stat.go in cli

Signed-off-by: Kevin Lingerfelt <kl@buoyant.io>

* Update rbac privileges for namespace stats

Signed-off-by: Kevin Lingerfelt <kl@buoyant.io>
2018-04-13 16:53:01 -07:00
.github Add a newline to dco.yml (#254) 2018-02-01 15:16:02 -08:00
bin Remove the telemetry service (#757) 2018-04-13 11:21:29 -07:00
cli Add namespace as a resource type in public-api (#760) 2018-04-13 16:53:01 -07:00
controller Add namespace as a resource type in public-api (#760) 2018-04-13 16:53:01 -07:00
doc Controller: add more destination labels, fix service label (#731) 2018-04-11 10:44:52 -07:00
grafana Namespace-aware Grafana dashboards (#716) 2018-04-06 15:37:53 -07:00
pkg Add namespace as a resource type in public-api (#760) 2018-04-13 16:53:01 -07:00
proto Add namespace as a resource type in public-api (#760) 2018-04-13 16:53:01 -07:00
proxy Remove NODE_NAME and POD_NAME env usage (#758) 2018-04-13 13:09:51 -07:00
proxy-init Use apps/v1beta2 for Kubernetes 1.8 compatibility (#762) 2018-04-13 12:08:16 -07:00
test Implement ListPods in public-api (#743) 2018-04-11 17:53:57 -07:00
testutil Add tests/utils/scripts for running integration tests (#608) 2018-03-27 15:06:55 -07:00
web Add namespace as a resource type in public-api (#760) 2018-04-13 16:53:01 -07:00
.dockerignore Link to Grafana from Conduit Dashboard (#678) 2018-04-06 10:56:42 -07: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 Stop collapsing Cargo.lock in GitHub PR reviews. (#551) 2018-03-13 10:17:33 -07:00
.gitignore Link to Grafana from Conduit Dashboard (#678) 2018-04-06 10:56:42 -07:00
.prometheus.dev.yml Remove the telemetry service (#757) 2018-04-13 11:21:29 -07:00
.travis.yml Fix ci job failing when new Docker image added (#691) 2018-04-05 15:01:54 -07:00
BUILD.md Remove the telemetry service (#757) 2018-04-13 11:21:29 -07:00
CHANGES.md Update release notes for v0.3.1. (#574) 2018-03-15 08:50:09 -10:00
CONTRIBUTING.md Add contributing doc and DCO file (#88) 2017-12-22 14:54:27 -08:00
Cargo.lock Add labels from service discovery to proxy metrics reports (#661) 2018-04-12 12:54:38 -07:00
Cargo.toml proxy: improve graceful shutdown process (#684) 2018-04-10 14:15:37 -07: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 Use Go 1.10.1 to build all Go code. (#650) 2018-04-02 14:58:30 -10:00
Gopkg.lock Use apps/v1beta2 for Kubernetes 1.8 compatibility (#762) 2018-04-13 12:08:16 -07:00
Gopkg.toml Optimize Prometheus queries (#298) 2018-02-09 10:55:07 -08:00
LICENSE Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
README.md update readme: experimental -> alpha, and minor tweaks (#391) 2018-02-19 15:41:04 -08:00
TEST.md Add tests/utils/scripts for running integration tests (#608) 2018-03-27 15:06:55 -07:00
docker-compose.yml Remove the telemetry service (#757) 2018-04-13 11:21:29 -07:00

README.md

conduit

Build Status GitHub license Slack Status

🎈 Welcome to Conduit! 👋

Conduit is an ultralight service mesh for Kubernetes. It features a minimalist control plane written in Go, and a native proxy data plane written in Rust that boasts the performance of C without the heartbleed.

Conduit is alpha. 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.

Get involved

Documentation

View Conduit docs for more a more comprehensive guide to getting started, or view the full Conduit roadmap.

Getting started with Conduit

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

  2. Add $HOME/.conduit/bin to your PATH.

  3. Install Conduit into your Kubernetes cluster with: conduit install | kubectl apply -f -.

  4. Verify that the installation succeeded with conduit check.

  5. Explore the Conduit controller with conduit dashboard.

  6. Optionally, install a demo application to run with Conduit.

  7. Add your own service to the Conduit mesh!

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

Conduit is 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.