Commit Graph

86 Commits (e6a4635266b799ea06e73cb74222b5a146cc4069)

Author SHA1 Message Date
Tim Raymond e6a4635266 Make basepath configureable
/chronograf was hard-coded for developing this feature. This adds a
--basepath flag that lets users configure what the basepath will
actually be
2017-01-27 17:00:08 -05:00
Tim Raymond 9d2e9111ef Make prefixer support multiple tags, chunked enc
The prefixer needs to not only replace `src="` attributes as it
currently does because that is not the only place a relative URL can
appear. It needs to also prefix URLs found in CSS which can also come
from the downstream http.ResponseWriter.

This adds support for an arbitrary list of patterns that will cause the
prefixer to insert its configured prefix. This is currently set to look
for `src`, `href`, and `url()` attributes.

Also, because we are modifying the stream, we need to suppress the
Content-Length generated by any downstream http.Handlers and instead
enable Transfer-Encoding: chunked so that we can stream the modified
response (we don't know apriori how many times we'll perform a
prefixing, so we can't calculate a final Content-Length). This is
accomplished by duplicating the Headers in the wrapResponseWriter that
is handed to the `Next` handler. We also handle the chunking and
Flushing that needs to happen as a result of using chunked transfer
encoding.
2017-01-27 17:00:08 -05:00
Tim Raymond 33256914b3 Add URL Prefixer
In order to support hosting chronograf under an arbitrary path[1], we
need to be able to rewrite all the URLs that are served in HTML and CSS.
Take, for example, the scenario where Chronograf is to be hosted under
`/chronograf` using Caddy and this example Caddyfile:

```
localhost:2020
gzip
proxy /chronograf localhost:8888 {
  without /chronograf
}
```

Chronograf will not load properly when visiting
`http://localhost:2020/chronograf` because the requests for CSS, and
fonts will go to `http://localhost:2020/app-somegianthash.js` when they
should go to `http://localhost:2020/chronograf/app-somegianthash.js`.
This is the essence of issue #721.

To solve this, we add a URLPrefixer http.Handler, that acts as a
middleware. It inserts itself between any upstream handlers, and the
handler that was passed to it as its `Next` parameter and searches for
`src="` attributes. Upon discovering one of these attributes, it writes
the detected attribute and then the configured prefix. It then continues
writing the stream to the upstream http.ResponseWriter until
encountering another attribute until EOF.
2017-01-27 17:00:08 -05:00
gunnaraasen 58a2a82d52 Add X-Chronograf-Version header 2017-01-23 23:29:12 -08:00
Chris Goller a8729df725 Fix kapacitor auth with basic auth in header
Proxying the basic auth via URL path was not working, so, this
places it directly into the header.
2017-01-10 18:51:25 -06:00
Chris Goller a8252b5cda Merge pull request #738 from influxdata/feature/go-orphan-kapacitor
Update source remove to also remove kapacitor and rules resources
2017-01-09 15:49:05 -06:00
Chris Goller 3dc578aa59 Merge pull request #733 from influxdata/feature/go-oauth-gh-orgs
Add Github organization restriction to authentication
2017-01-06 13:27:25 -06:00
Hunter Trujillo 10a0ea1c14 Clarifying operator values. 2017-01-06 10:45:54 -07:00
Chris Goller bc3a0e1b3d Add Github organization restriction to authentication 2017-01-06 11:39:20 -06:00
Chris Goller c852618342 Merge pull request #728 from influxdata/feature/go-insecure-tls
Add insecureSkipVerify option to source to accept all influxdb certs
2017-01-05 16:08:58 -06:00
Chris Goller 18b7dd1932 Fix formatting of swagger.json 2017-01-05 15:59:46 -06:00
Chris Goller 291bab7f16 Update removal of sources to include removing kapacitor and rules resources 2017-01-05 14:47:44 -06:00
Chris Goller bf415e5eea Update kapacitor alert rules to accept inside and outside range 2017-01-04 22:20:12 -06:00
Chris Goller 439a4d32e8 Add insecureSkipVerify option to source to accept all influxdb certs
The insecureSkipVerify defaults to false, but when true, instructs
the server to accept any certificate coming from the InfluxDB server.
2017-01-04 19:35:07 -06:00
Mark Rushakoff 84d28e3aad Miscellaneous lint cleanup 2016-12-20 12:59:56 -08:00
Chris Goller ad2374fbb7 Merge pull request #700 from influxdata/jz-add-uptime
Add server uptime reporting
2016-12-19 16:10:14 -06:00
Jack Zampolin 9994097ebc Address PR comments 2016-12-19 13:29:33 -08:00
Jack Zampolin 3ab2c13364 Add server uptime reporting 2016-12-19 12:09:59 -08:00
Jade McGough 1be3eef2e2 Merge pull request #691 from influxdata/feature/dashboards
Feature/dashboards
2016-12-15 13:54:23 -08:00
Jade McGough 32f1097a7d fix json decoding 2016-12-15 13:53:43 -08:00
Jade McGough ffe9943212 clean up pointer usage 2016-12-15 13:37:11 -08:00
Jade McGough 7d275b9551 add dashboard validation 2016-12-15 13:22:32 -08:00
Jade McGough 00f66e7593 fix bugs 2016-12-15 11:27:06 -08:00
Jade McGough d3e77fd253 wording 2016-12-15 00:41:42 -08:00
Jade McGough eda132df08 add update function for dashboards api 2016-12-15 00:31:53 -08:00
Jade McGough 52e845844f formatting 2016-12-14 12:55:21 -08:00
Jade McGough e8d1094be9 add dashboard creation to API 2016-12-14 12:54:58 -08:00
Jade McGough 8bc8ba151e formatting 2016-12-14 12:12:20 -08:00
Jade McGough 7986ecce3f add dashboard GET and DELETE handlers 2016-12-14 09:37:47 -08:00
Jade McGough 8f939f8fbf omg it compiled 2016-12-13 23:56:26 -08:00
Jade McGough ccf93b4781 fix errors 2016-12-13 22:57:52 -08:00
Jade McGough 4cd1037ce0 update internal.pb.go 2016-12-13 03:07:24 -08:00
Jade McGough 70e64b6baf WIP 2016-12-08 19:28:40 -08:00
Chris Goller 34b79fd0eb Fix Content-Type of the index.html page to be text/html 2016-12-08 21:03:11 -06:00
Chris Goller a073f26078 Merge pull request #673 from influxdata/remove_endpoint
removing unimplemented endpoint from swagger
2016-12-08 17:23:38 -06:00
Jade McGough 7393e4b321 removing unimplemented endpoint from swagger 2016-12-08 15:12:39 -08:00
Jade McGough 7599369eed add dashboards interface/structs 2016-12-07 16:31:22 -08:00
Jade McGough 9a2e49b4d2 add routes and stubs for dashboard API endpoints 2016-12-07 15:18:04 -08:00
Jade McGough fa8edf94c5 add swagger documentation for dashboard routes 2016-12-07 15:17:42 -08:00
Jade McGough 37f7ba5c68 shorten TCPKeepAlive length 2016-12-07 15:17:27 -08:00
Chris Goller a6cb4a1935 Update teapot to be informational 2016-12-07 13:28:58 -06:00
Jade McGough ec52b8a813 update swagger 2016-12-05 22:07:11 -08:00
Chris Goller 66ac6af136 Update layout ylabel and yrange to be properties of the query. 2016-11-30 14:13:15 -08:00
Chris Goller 28bccfdcb2 Add ylabels and yranges to layouts 2016-11-30 14:04:32 -08:00
Will Piers bc9ee7eeea Rebase and add error logging for users endpoint 2016-11-21 14:24:01 -07:00
Will Piers f3cdf81ab5 Return 418 when auth is turned off 2016-11-21 14:20:33 -07:00
Will Piers d3da8998e8 Add users endpoints/storage plus me endpoint 2016-11-21 14:19:57 -07:00
Chris Goller b63047a402 Add server error logging 2016-11-19 11:41:06 -06:00
Chris Goller f002fd774a Update swagger to remove rp/db for layouts 2016-11-18 16:07:53 -06:00
Chris Goller 88d60c9807 Fix tab spacing in protobuf and swagger 2016-11-18 16:07:53 -06:00