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

The /v1/internal/ui/services API endpoint responds with only 1 Tag #4222

Closed
johncowen opened this issue Jun 13, 2018 · 1 comment · Fixed by #5579
Closed

The /v1/internal/ui/services API endpoint responds with only 1 Tag #4222

johncowen opened this issue Jun 13, 2018 · 1 comment · Fixed by #5579
Labels
type/enhancement Proposed improvement or new feature
Milestone

Comments

@johncowen
Copy link
Contributor

Please see #4203

The output of:

GET /v1/internal/ui/services

shows:

...
    "Name": "vault",
    "Tags": [
      "standby"
    ],
...

instead of at least:

...
    "Name": "vault",
    "Tags": [
      "standby", "active" ....
    ],
...

Thanks,

@ophusky
Copy link

ophusky commented Mar 25, 2019

I have the same problem. I am using consul consul 1.4.4 , and this bug still exists,will it be fixed?
/v1/internal/ui/services result:

{
        "Name": "fooService",
        "Tags": [
            "testtag1",
            "testtag2",
            "testtag3"
        ],
    },

/v1/health/service/fooService result:

"Service": {
            "ID": "fooService",
            "Service": "fooService",
            "Tags": [
                "test",
                "dddd",
                "dev",
                "constact=hz"
            ],
........
"Service": {
            "ID": "fooService",
            "Service": "fooService",
            "Tags": [
                "testtag1",
                "testtag2",
                "testtag3"
            ],

mkeeler added a commit that referenced this issue Apr 16, 2019
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement Proposed improvement or new feature
Projects
None yet
3 participants