Commit Graph

118 Commits

Author SHA1 Message Date
John Cowen e1d133aac2 ui: Remove old style 'filterable' searching (#9356)
* Switch upstream-instances to use new style of searchable

* Add search action to DataCollection plus basic README

* Use DataCollection for PowerSelect searching in child-selectors

* Remove old style filterable search for role/policies and instances

* Remove old helpers/components related to search/sort/filter
2020-12-09 19:12:52 +00:00
John Cowen 6f9e6a1326 ui: New search/sort/filtering bar for Node > ServiceInstances (#9326)
* Model layer changes to turn Node:ServiceInstances into hasMany

We tried to make something that feels a little like ember-data yet
not leave our approach of re-shaping the JSON directly from the
response.

1. We added transformHasManyResponse for re-shaping JSON for hasMany
relationships. we avoided the normalize word as ember-data serialize
methods usually return something JSON:API shaped and we distinctly don't
want to do that. Transform was the best word we could think of.

2. The integration tests across all of our models here feel very much
like those types of tests that aren't really testing much, or assert
too much to an extent that they get in the way rather than be of any
use. I'd very much like to move a lot of this to unit tests. Currently
most of the fingerprinting functionality is unit tested and these
integration tests were originally to give confidence that IDs and
related properties were being added correctly.

3. We've added a hasMany relationship, but not the corresponding
belongsTo - yet at least. We don't require the belongsTo right now, and
if we do  we can add it later.

* Integrate ServiceInstance search bar for Node:ServiceInstances

* Hide Node.Meta when on the Node:ServiceINstance page

We use a little string replace hack here for a human-like label, this is
soon to be replaced with proper i10n replacement

* Always ensure that a Namespace is set, and add comment explaining
2020-12-09 13:09:33 +00:00
John Cowen c3218f1bee ui: Change URI helper to a template based approach (#9344)
This moves our uri helper to use a the template renderer we already have for rendering URLs.
2020-12-09 09:23:36 +00:00
John Cowen 4f3a0836ea ui: document-attrs helper (#9336)
This commit adds a {{document-attrs}} helper, specifically for adding attributes to the root documentElement, which in our case is always <html>
2020-12-09 09:22:38 +00:00
Kenia 5865c48c98 ui: Refactor topology components (#9339)
* Refactor Stats and Series components

* Refactor metrics error message for ingress-gateway

* Fix upLines icon positioning

* Remove unused variable from being passed down to Stats
2020-12-09 09:10:18 +00:00
John Cowen a66973a274 ui: Native-ize class based helpers (#9337)
* Install ember-decorators/observes

* Remove filter-predicate

* Nativize `env` and inject env service

* Nativize all other class based helpers
2020-12-08 09:27:59 +00:00
John Cowen 106b63b9e6 ui: Don't pluralize words when there is only 1 of the item (#9321) 2020-12-07 09:19:55 +00:00
John Cowen db978af6f3 ui: HealthCheck Search/Sort/Filtering (#9314)
* Adds model layer changes around HealthChecks

1. Makes a HealthCheck model fragment and uses it in ServiceInstances and
Nodes
2. Manually adds a relationship between a ServiceInstance and its
potential ServiceInstanceProxy
3. Misc changes related to the above such as an Exposed property on
MeshChecks, MeshChecks itself

* Add a potential temporary endpoint to distinguish ProxyServiceInstance

* Fix up Node search bar class

* Add search/sort/filter logic

* Fixup Service default sort key

* Add Healthcheck search/sort/filtering

* Tweak CSS add a default Type of 'Serf' when type is blank

* Fix up tests and new test support

* Add ability to search on Service/Node name depending on where you are

* Fixup CheckID search predicate

* Use computed for DataCollection to use caching

* Alpha sort the Type menu

* Temporary fix for new non-changing style Ember Proxys

* Only special case EventSource proxies
2020-12-07 09:15:53 +00:00
John Cowen 291567198d ui: ServiceInstance.Name should be the Service.Name, never the Service.ID (#9316)
* ui: ServiceInstance.Name should be the Service.Name, never the ID

The ServiceInstance.ID should try Service.ID and fallback to
Service.Name, not ServiceInstance.Name. ServiceInstance.Name is just an
alias to Service.Name which is always set.
2020-12-03 09:16:33 +00:00
John Cowen 01b55eab5c ui: Reorganize Tabs CSS (#9313) 2020-12-02 15:48:34 +00:00
John Cowen 9d9e77f417 ui: Asyncify Service Model Hooks (#9312)
* ui: Add Kind grouping computed properties

* Use new computed properties and move model hooks to async methods
2020-12-02 15:43:26 +00:00
John Cowen 4fbbfdcfa2 ui: New overlays (#9305)
Replaces ember-popover with tippy.js based overlay modifier.
2020-12-02 09:44:06 +00:00
John Cowen 4419e0d0dd
ui: Add 'Search Across' for finer grained searching (#9282) 2020-12-02 09:16:55 +00:00
John Cowen 37140b3ff1 ui: Move identity components (#9298) 2020-11-30 18:43:38 +00:00
John Cowen af5e6e6d12 ui: Add copyable IDs to the Role and Policy views (#9296) 2020-11-30 17:29:06 +00:00
John Cowen f91fb648f9 ui: Moves healthcheck list to Glimmer template-only consul component (#9293) 2020-11-30 17:23:37 +00:00
John Cowen 72d9d0a5ec ui: Remove unused helpers or swap for helpers in ember-string-fns (#9294)
* ui: Remove unused helpers or swap for helpers in ember-string-fns

* starts-with > string-starts-with
2020-11-30 17:20:19 +00:00
John Cowen d98fa02a85 ui: Round Trip Time Tooltips (#9290) 2020-11-30 17:03:24 +00:00
John Cowen 41ded7eef7 ui: Modifier based tooltips (#9288) 2020-11-30 16:52:45 +00:00
John Cowen de19fa5f59 ui: Nestable DataSources (plus glimmer upgrade) (#9275) 2020-11-30 15:06:31 +00:00
John Cowen c441d98475 ui: Change metrics link documentation link (#9281)
* ui: Change metrics link documentation link

* Update ui/packages/consul-ui/app/components/topology-metrics/index.hbs

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
2020-11-27 15:44:20 +00:00
John Cowen 3668431e4e ui: Ensure the per item logout button logs you out (#9269) 2020-11-24 17:48:47 +00:00
John Cowen 5a754ae4da ui: Include nspace in up/downstream link when nspaces are enabled (#9257) 2020-11-24 14:34:58 +00:00
Kenia 36307f1b0c ui: Card component nspace refactor (#9228)
* Refactoring conditional for showing nspaces

* Styling empty state for Stats component
2020-11-19 18:42:19 +00:00
John Cowen 1557ee9b1b ui: Alter background color of filter bars (#9238) 2020-11-19 16:08:29 +00:00
John Cowen 1ea9592707 ui: Surface 'detail' of API errors in the error page (#9237)
* ui: Surface 'detail' of API errors in the error page

* Make UI generated 404s look less bare
2020-11-19 16:08:03 +00:00
John Cowen 023618e018 ui: ACL Tokens > Roles and Policy search and sort (#9236)
* ui: Ensure search is enabled for child items in the ACLs area

* Refactor comparators to reuse some utility functions

* Add search and sorting to the ACLs child selector

* Add tests for searching within child selectors

* Allow sorting by CreateIndex
2020-11-19 16:07:13 +00:00
John Cowen f362f166b0 ui: Sort lists with health by unhealthy/healthy by default (#9234)
* ui: Update lists with Health to sort by unhealthy/healthy by default

* Fix up tests for new sorting

* Make specific services page-navigation test
2020-11-19 16:06:20 +00:00
John Cowen 24782b4444 ui: All metrics cards should default to the default nspace if not set (#9223)
* ui: All metrics cards should default to the default nspace if not set

* Use the up/downstream as the data/nspace for up/downstreams not the service
2020-11-19 16:04:31 +00:00
John Cowen 8a5670d7d5 ui: Remove ghost healthcheck from the service instance healthcheck list (#9220)
* ui: Fixup service instance healthcheck list not to show ghost check

If the proxy is undefined, then an undefined vaule is appended to the
list of checks

* There are only 6 checks in the mocks so only expect 6
2020-11-19 16:02:18 +00:00
Kenia cafbfec376 ui: Fix empty state conditional for Series Graph (#9221) 2020-11-18 19:02:44 +00:00
John Cowen a8024825fc ui: Remove ember-computed-style to avoid deprecation error (#9218) 2020-11-18 18:57:57 +00:00
John Cowen ff907311c2 ui: Refactor tomography graph component to glimmer and remove deprecation (#9219)
* ui: Refactor tomograph graph component to glimmer and remove deprecation

* Avoid ember-data deprecation error
2020-11-18 18:56:30 +00:00
John Cowen 3a25d048c6 ui: Change title helper to page-title (#9211) 2020-11-18 11:16:48 +00:00
John Cowen 63e96d70ff ui: Add triple curlies and reformat style attribute (#9210) 2020-11-18 11:11:58 +00:00
Freddy 4d39305442 Add DC and NS support for Envoy metrics (#9207)
This PR updates the tags that we generate for Envoy stats.

Several of these come with breaking changes, since we can't keep two stats prefixes for a filter.
2020-11-16 23:37:50 +00:00
John Cowen 8067b229e7 ui: Search/sort improvements (#9183) 2020-11-13 15:56:20 +00:00
Kenia a2e0246805 ui: Pass down nspace and dc from Service model down to prometheus request (#9175)
* Pass down nspace and dc from Service model down to prometheus request

* Reviewing notes fix-ups

* Fix on dc/nspace to send from upstream/downstream card
2020-11-13 15:39:36 +00:00
Kenia 34b31dab50 ui: Update to not return metrics for ingress gateways (#9081) 2020-11-13 10:16:01 -05:00
Kenia f340762cca ui: Fix up typo for the UI config template url (#9109) 2020-11-13 13:01:58 +00:00
John Cowen 4743ab045e ui: Upstream Instance Search and Sort (#9172)
* ui: Add predicate, comparator and necessary files for the search/sort

* Implement search and sort for upstream instance list

* ui: Tweak CSS so its all part of the component

* Remove the old proxy test attribute
2020-11-13 10:27:19 +00:00
Kenia 676a520ce3 ui: Topology Intentions Popovers (#9137)
* Refactor grid styling for Topology page

* Crate TopologyMetrics Button component and move styling

* Create intention ID

* fixup button styling

* Return a link to the create intention page

* Rename Button to Popover component

* Fixup serializer test

* ui: Inline Topology Intention Actions  (#9153)

* Add arrow and dot to/from metrics back in

* Add addional space to have metrics wrap and show in smaller screens

* Move logic for finding positioning

* Use color variables

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2020-11-13 10:24:34 +00:00
Kenia bc77d91587 ui: Delete Proxy Info tab (#9141)
* Remove Proxy Info and create Upstreams and Exposed Paths tabs

* Update routes formatting

* Update typo for Expose.Checks

* Remove, update, and add tests

* Make consul-upstream-instance-list into a glimmer component

* Create styling for upstream-instance-list component
2020-11-13 10:02:18 +00:00
John Cowen 3135f0628a ui: Add vendor directory as a target for JS linting and lint (#9157)
* ui: Add vendor for js linting

* Lint all the things
2020-11-11 17:00:29 +00:00
John Cowen c52f03156c ui: Move discovery chain component (#9154) 2020-11-11 14:52:51 +00:00
John Cowen 2c8cee3aa9 ui: Remove unnecessay reopens from sort and form services (#9146) 2020-11-10 14:37:34 +00:00
John Cowen e8b7c44087 ui: Move ember-data classes to use native JS classes/decorators (#9136)
* ui: Upgrade ember-data models to use native classes/decorators

* ui: Update remaining ember-data imports

* ui: Move ember-data Adapters to use native classes

* ui: Upgrade serializers to native classes/decorators

* ui: remove meta from roles, they never had it to start with
2020-11-09 17:30:11 +00:00
John Cowen 97b645a745 ui: Run Ember native class code mod (#9093)
* ui: Apply native class codemod to all services

* ui: Apply native class codemod to routes

* ui: Apply native class codemod to controllers

* Fix up ember proxy `content` issue

* Add a CreateTime on policy creation

* Minor formatting

* Convert child based saving to use ec instead of custom approach

* Remove custom event source repo wrapping initializer

* Repos here are no longer proxy objects revert to using them normally

* Remove areas of code that were used to set up source backed repos
2020-11-09 09:26:20 +00:00
John Cowen 9c17ed1931 ui: Move notice storybook to use controls addon (#9126) 2020-11-09 09:15:54 +00:00
John Cowen 49c80aab32 ui: Intention "Action change" warning modal (#9108)
* ui: Add a warning dialog if you go to remove permissions from an intention

* ui: Move modal styles next to component, add warning style

* ui: Move back to using the input name for a selector

* ui: Fixup negative "isn't" step so its optional

* Add warning modal to pageobject

* Fixup test for whether to show the warning modal or not

* Intention change action warning acceptence test

* Add a null/undefined Action
2020-11-06 14:57:53 +00:00
John Cowen 83c0c364df ui: Move AppError and ErrorState to glimmer components (#9095)
* ui: move AppError and ErrorState to glimmer components

* yarn.lock changes
2020-11-06 09:24:43 +00:00
John Cowen fc9975d36c ui: Metrics - Provide a fetch-like http client that automatically adds the current ACL token (#9094)
* Remove local httpGet and shim one in from options

* Add custom httpGet to pass through to provider

* Make a fetch wrapper that adds your token

* Pass the fetch like fetchWithToken wrapper through to the provider

* Fix up httpGet to encode query params again and use fetch-like
2020-11-04 09:34:39 +00:00
John Cowen 1704ce55fc ui: Storybook Install (#9049)
* ui: Install storybook into the main project

* Add a basic story for a notice

* Remove empty dependencies
2020-11-03 14:11:36 +00:00
John Cowen e2c6e4d069 ui: Remove string casting when passing index/checked for dropmenus (#9077)
* ui: Remove string casting when passing index/checked

* Check for e.target
2020-11-02 16:07:41 +00:00
R.B. Boyer 26bb51e337 ui: make metrics work again (#9072)
Fixes regression from #9040
2020-10-30 15:22:30 +00:00
John Cowen f4208b5fba
ui: Metrics - Don't swallow metrics errors (#9044)
* ui: Make eventsources use http-like errors for stopping

* ui: Don't swallow errors from prometheus, pass them to the ui to handle
2020-10-27 14:51:15 +00:00
Kenia cdf5ba703f
ui: Remove downstream dc filter (#9040)
* Remove datacenter filter and update props passed down

* Merging changes fixed

* Fixup tests for metrics link
2020-10-27 10:25:23 -04:00
Kenia ed6a2c150f
ui: Topology limited access banner (#9041)
* Add limited access banner to Topology tab based on ACLs

* Update to folder structure
2020-10-27 10:04:22 -04:00
Paul Banks 52d7283cd6
UI metrics provider dc (#9001)
* Plumb Datacenter and Namespace to metrics provider in preparation for them being usable.

* Move metrics loader/status to a new component and show reason for being disabled.

* Remove stray console.log

* Rebuild AssetFS to resolve conflicts

* Yarn upgrade

* mend
2020-10-26 19:48:23 +00:00
John Cowen c4f027fa0d
ui: Upgrade the rest of the UI to use the new Notice component (#9035) 2020-10-26 16:51:53 +00:00
John Cowen 948917c6b0
ui: Intention Custom Resource Banners (#9018) 2020-10-26 09:30:07 +00:00
John Cowen eedee07e7c
ui: Initial Intention Permission Integration and acceptance testing (#9003) 2020-10-23 17:26:06 +01:00
John Cowen 7559f64d01
ui: Fixup CSS for create pages (#9019) 2020-10-23 15:41:36 +01:00
Kenia 2a8a80638a
ui: Fix the pointer events to view the tooltips when hovering over the icons (#9014)
* Fix the pointer events to view the tooltips when hovering over the icons

* Update to use class instead of id
2020-10-23 09:45:39 -04:00
Kenia 92abbbacc1
ui: Prevent redirect to topology url and hide Topology tab if service has no services (#9008)
* Prevent redirect to topology url and hide Topology tab if service has no proxies

* Remove unused computed function from topology model

* Fix up tests

* Remove use of Exists computed function

* Add tests for hiding topology tab
2020-10-23 09:45:10 -04:00
Kenia 05411303b4
ui: Update Topology metrics dashboard and configuration links (#9002)
* Update Topology metrics dashboard and configuration links

* Fixup tests

* Remove Dashboard Link from settings page

* Removing use of settings Dashboard links
2020-10-23 09:44:38 -04:00
John Cowen 45554e4e9c
ui: Notice component (#9011)
Add simple Notice template only glimmer component
2020-10-23 09:26:32 +01:00
John Cowen 6589cbbd0d
ui: Move to Workspaced Structure (#8994)
* ui: Add the most basic workspace root in /ui

* We already have a LICENSE file in the repository root

* Change directory path in build scripts ui-v2 -> ui

* Make yarn install flags configurable from elsewhere

* Minimal workspace root makefile

* Call the new docker specific target

* Update yarn in the docker build image

* Reconfigure the netlify target and move to the higher makefile

* Move ui-v2 -> ui/packages/consul-ui

* Change repo root to refleect new folder structure

* Temporarily don't hoist consul-api-double

* Fixup CI configuration

* Fixup lint errors

* Fixup Netlify target
2020-10-21 15:23:16 +01:00