Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge branch 'master' into eliza/update-deps #250

Merged
merged 5 commits into from
Feb 1, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
install:
- cd web/app && yarn && yarn webpack
script:
- yarn karma start --single-run
- yarn karma start --single-run --reporters dots

- language: generic
script:
Expand Down
30 changes: 29 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
## v0.2.0

This is a big milestone! With this release, Conduit adds support for HTTP/1.x and raw TCP traffic,
meaning it should "just work" for most applications that are running on Kubernetes without
additional configuration.

* Data plane
* Conduit now transparently proxies all TCP traffic, including HTTP/1.x and HTTP/2.
(See caveats below.)
* Command-line interface
* Improved error handling for the `tap` command
* `tap` also now works with HTTP/1.x traffic
* Dashboard
* Minor UI appearance tweaks
* Deployments now searchable from the dashboard sidebar

Caveats:
* Conduit will automatically work for most protocols. However, applications that use WebSockets,
HTTP tunneling/proxying, or protocols such as MySQL and SMTP, will require some additional
configuration. See the [documentation](https://conduit.io/adding-your-service/#protocol-support)
for details.
* Conduit doesn't yet support external DNS lookups. These will be addressed in an upcoming release.
* There are known issues with Conduit's telemetry pipeline that prevent it from scaling beyond a
few nodes. These will be addressed in an upcoming release.
* Conduit is still in alpha! Please help us by
[filing issues and contributing pull requests](https://github.com/runconduit/conduit/issues/new).


## v0.1.3

* This is a minor bugfix for some web dashboard UI elements that were not rendering correctly.
Expand Down Expand Up @@ -30,7 +58,7 @@ Conduit 0.1.1 is focused on making it easier to get started with Conduit.
* The `conduit tap` command output has been reformatted to be line-oriented, making it easier to
parse with common UNIX command line utilities.
* Conduit now supports routing of non-fully qualified domain names.
* The web UI has improved support for large deployments and deployments that dont have any
* The web UI has improved support for large deployments and deployments that don't have any
inbound/outbound traffic.

## v0.1.0
Expand Down
10 changes: 5 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ minutes to review our [code of conduct][coc].

## License

Copyright 2017, Buoyant Inc. All rights reserved.
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
Expand Down
2 changes: 1 addition & 1 deletion futures-mpsc-lossy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "futures-mpsc-lossy"
version = "0.1.3"
version = "0.2.0"
authors = ["Oliver Gould <ver@buoyant.io>"]
publish = false

Expand Down
2 changes: 1 addition & 1 deletion proxy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "conduit-proxy"
version = "0.1.3"
version = "0.2.0"
authors = ["Oliver Gould <ver@buoyant.io>"]
publish = false

Expand Down
2 changes: 1 addition & 1 deletion proxy/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Build the rust proxy into a binary.
#
# If the RELEASE arg is set and non-empty, a release artifact is built.
FROM gcr.io/runconduit/proxy-deps:423ffcd1 as build
FROM gcr.io/runconduit/proxy-deps:fb72d14b as build
WORKDIR /usr/src/conduit
# Ranked roughly from least to most likely to change. Cargo.lock is the least likely
# because it is supposed to be cached in the deps base image.
Expand Down
2 changes: 1 addition & 1 deletion tower-router/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tower-router"
version = "0.1.3"
version = "0.2.0"
authors = ["Carl Lerche <me@carllerche.com>"]
publish = false

Expand Down
8 changes: 7 additions & 1 deletion web/app/css/service-mesh.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
}
& .metric {
float: right;
text-align: right;
}
}

.mesh-section .metric-large {
width: 131px;
}

.incomplete-mesh-message, .complete-mesh-message {
.mesh-completion-message {
margin-top: calc(4 * var(--base-width));
background-color: var(--royalblue);
color: white;
padding: var(--base-width);
Expand All @@ -25,6 +27,10 @@
border-radius: var
}

.service-mesh-table {
margin-top: 18px;
}

/* styles for the StatusTable */
td .status-dot {
float: left;
Expand Down
4 changes: 2 additions & 2 deletions web/app/js/components/DeploymentSummary.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ export default class DeploymentSummary extends React.Component {
flashLastDatapoint={true} />

<div className="summary-stat">
<div className="metric-title">Current requests</div>
<div className="metric-title">Request rate</div>
<div className="metric-value">{metricToFormatter["REQUEST_RATE"](this.props.data.requestRate)}</div>
</div>

<div className="summary-stat">
<div className="metric-title">Current success</div>
<div className="metric-title">Success rate</div>
<div className="metric-value">{metricToFormatter["SUCCESS_RATE"](this.props.data.successRate)}</div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion web/app/js/components/DeploymentsList.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ export default class DeploymentsList extends React.Component {
{ !this.state.loaded ? <ConduitSpinner /> :
<div>
<div className="page-header">
<h1>All deployments</h1>
<h1>Deployments</h1>
</div>
{ _.isEmpty(this.state.metrics) ?
<CallToAction numDeployments={_.size(this.state.metrics)} /> :
Expand Down
2 changes: 1 addition & 1 deletion web/app/js/components/LatencyOverview.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ export default class MultiLineGraph extends React.Component {
return (
<div className="current-latency">
{
_.map(["P99", "P95", "P50"], latency => {
_.map(["P50", "P95", "P99"], latency => {
let ts = this.props.data[latency];
let lat = metricToFormatter["LATENCY"](_.get(_.last(ts), 'value', []));
return (
Expand Down
4 changes: 2 additions & 2 deletions web/app/js/components/ResourceMetricsOverview.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ export default class ResourceMetricsOverview extends React.Component {
<Row gutter={rowGutter}>
<Col span={8}>
<ResourceOverviewMetric
name="Current request rate"
name="Request rate"
metric="REQUEST_RATE"
lastUpdated={this.props.lastUpdated}
timeseries={_.get(this.props.timeseries, "REQUEST_RATE", [])} />
</Col>
<Col span={8}>
<ResourceOverviewMetric
name="Current success rate"
name="Success rate"
metric="SUCCESS_RATE"
lastUpdated={this.props.lastUpdated}
timeseries={_.get(this.props.timeseries, "SUCCESS_RATE", [])} />
Expand Down
8 changes: 4 additions & 4 deletions web/app/js/components/ServiceMesh.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -267,27 +267,27 @@ export default class ServiceMesh extends React.Component {
renderAddDeploymentsMessage() {
if (this.deployCount() === 0) {
return (
<div className="incomplete-mesh-message">
<div className="mesh-completion-message">
No deployments detected. {incompleteMeshMessage()}
</div>
);
} else {
switch (this.unaddedDeploymentCount()) {
case 0:
return (
<div className="complete-mesh-message">
<div className="mesh-completion-message">
All deployments have been added to the service mesh.
</div>
);
case 1:
return (
<div className="incomplete-mesh-message">
<div className="mesh-completion-message">
1 deployment has not been added to the service mesh. {incompleteMeshMessage()}
</div>
);
default:
return (
<div className="incomplete-mesh-message">
<div className="mesh-completion-message">
{this.unaddedDeploymentCount()} deployments have not been added to the service mesh. {incompleteMeshMessage()}
</div>
);
Expand Down
4 changes: 2 additions & 2 deletions web/app/js/components/TabbedMetricsTable.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ const metricToColumns = baseCols => {
successRate: (resource, pathPrefix) => [baseCols.resourceName(resource, pathPrefix), baseCols.successRate],
latency: (resource, pathPrefix) => [
baseCols.resourceName(resource, pathPrefix),
baseCols.latencyP99,
baseCols.latencyP50,
baseCols.latencyP95,
baseCols.latencyP50
baseCols.latencyP99
]
};
};
Expand Down