open-consul/website/source
Matt Keeler ac78c23021
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
..
api Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
assets updated the graphic 2019-04-03 16:53:04 -05:00
docs Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
intro Remove old UI, option to use it, and its build processes 2019-04-12 09:02:27 -06:00
layouts Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
.gitignore website: bulk copy from serf 2014-02-07 16:41:03 -08:00
404.html.md Tweaks 404 message. 2017-04-14 09:00:59 -07:00
android-manifest.json.erb Move to new branding 2017-03-30 18:46:50 -04:00
community.html.erb Update community.html.erb 2017-12-19 20:57:42 -08:00
configuration.html.erb website: fix carousel bugs 2019-01-07 13:39:14 -05:00
discovery.html.erb website: fix carousel bugs 2019-01-07 13:39:14 -05:00
downloads.html.erb Doc changes for 1.4 Final (#4870) 2018-11-13 13:43:53 +00:00
downloads_tools.html.erb [docs] Add IntelliJ Consul to the list of community tools (#5379) 2019-03-05 13:58:03 +01:00
favicon.ico Move to new branding 2017-03-30 18:46:50 -04:00
index.html.erb Fixes URL paths to learn.hashicorp.com 2018-11-28 15:39:28 -08:00
microsoft-tile.xml.builder Move to new branding 2017-03-30 18:46:50 -04:00
redirects.txt Share Fastly and Netlify redirects (#5619) 2019-04-15 14:56:53 -04:00
robots.txt Use new Markdown syntaxes and add SEO descriptions 2014-10-19 19:42:13 -04:00
security.html.erb Move to new branding 2017-03-30 18:46:50 -04:00
segmentation.html.erb Fixes URL paths to learn.hashicorp.com 2018-11-28 15:39:28 -08:00
sitemap.xml.builder Add robots.txt and sitemap 2014-10-19 19:41:12 -04:00