consul/website
Matt Keeler afa1cc98d1
Implement data filtering of some endpoints (#5579)
Fixes: #4222 

# Data Filtering

This PR will implement filtering for the following endpoints:

## Supported HTTP Endpoints

- `/agent/checks`
- `/agent/services`
- `/catalog/nodes`
- `/catalog/service/:service`
- `/catalog/connect/:service`
- `/catalog/node/:node`
- `/health/node/:node`
- `/health/checks/:service`
- `/health/service/:service`
- `/health/connect/:service`
- `/health/state/:state`
- `/internal/ui/nodes`
- `/internal/ui/services`

More can be added going forward and any endpoint which is used to list some data is a good candidate.

## Usage

When using the HTTP API a `filter` query parameter can be used to pass a filter expression to Consul. Filter Expressions take the general form of:

```
<selector> == <value>
<selector> != <value>
<value> in <selector>
<value> not in <selector>
<selector> contains <value>
<selector> not contains <value>
<selector> is empty
<selector> is not empty
not <other expression>
<expression 1> and <expression 2>
<expression 1> or <expression 2>
```

Normal boolean logic and precedence is supported. All of the actual filtering and evaluation logic is coming from the [go-bexpr](https://github.com/hashicorp/go-bexpr) library

## Other changes

Adding the `Internal.ServiceDump` RPC endpoint. This will allow the UI to filter services better.
2019-04-16 12:00:15 -04:00
..
scripts interpolate properly (#5665) 2019-04-15 15:29:19 -04:00
source Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
Gemfile update middleman-hashicorp to 0.3.35 2018-04-13 09:11:32 -07:00
Gemfile.lock website: fix gemfile.lock (#5429) 2019-03-05 20:55:04 +01:00
LICENSE.md Update license 2017-03-08 11:40:06 -08:00
Makefile Update middleman docker image to 0.3.35 2018-04-13 09:22:12 -07:00
README.md Update middleman-hashicorp 2017-03-08 11:26:11 -08:00
config.rb Share Fastly and Netlify redirects (#5619) 2019-04-15 14:56:53 -04:00
redirects.txt add redirects for ACL docs 2019-03-25 15:22:51 -04:00
report.xml Starting Docs (#46) 2018-06-25 12:24:05 -07:00

README.md

Consul Website

This subdirectory contains the entire source for the Consul Website. This is a Middleman project, which builds a static site from these source files.

Contributions Welcome!

If you find a typo or you feel like you can improve the HTML, CSS, or JavaScript, we welcome contributions. Feel free to open issues or pull requests like any normal GitHub project, and we'll merge it in.

Running the Site Locally

Running the site locally is simple. Clone this repo and run make website.

Then open up http://localhost:4567. Note that some URLs you may need to append ".html" to make them work (in the navigation).