Commit Graph

591 Commits

Author SHA1 Message Date
Kenia 454ce7166b
ui: Service Mesh - Topology tab and basic layout (#8788)
* Create Topology Tab with foundational layout and styling

* Create Toplogy Metrics component with dynamic SVG

* Add ember-render-modifiers addon

* Implement Topology Metrics comp and fix up styling

* Create topology endpoint with tests

* Move arrow drawing to index.js file

* Add topology to show controller

* Fix up conditional wrapper, tabs positioning, links, and styling

* Group upstreams by dc and fix up styling

* Create service/health-percentage helper

* Add health check percentages to upstreams and downstreams

* Basic Layout

* Upgrade @hashicorp/consul-api-double to v5.2.3

* Renamed endpoint to be service-topology

* Refactor styling

* Update to only show Topology tab when Connect is enabled

* Fix bug and changes from review notes

* Remove unused functions that are replaced with SVG markers

* Refactor to resuse svg-curve helper

* Use the render-template helper for the metrics link

* Add topology default null to services show route

* Removed unused ID

* Fix up tests broken by redirect to /topology
2020-10-05 13:07:35 -04:00
John Cowen 527d3ab605
ui: CSS margin/border alterations (#8796)
* ui: Reorganize page top margins and borders

* Tweak definition table copy-buttons

* Make room for intro paragraphs
2020-10-05 15:02:15 +01:00
John Cowen f00e6e78f0
ui: Defer requesting gateway related services until the tab is visible (#8803)
* ui: Defer requesting gateway related services until the tab is visible

* Extend one route with the other as they are the same thing dsatawise
2020-10-05 14:48:26 +01:00
Kenia 38ce837a69
ui: Create template-anchor helper and remove component (#8798) 2020-10-05 09:10:00 -04:00
Alvin Huang 28c8ac91bc
ci: fix bindata autoupdate (#8801)
* update bindata on ui-v2/ changes

* Revert "Remove GIT_SHA environment variable"

This reverts commit f620f9aefd41362ce76c3a8e0f4addf402ee0ca2.

* Revert "Hardcode in an app version for ember-cli-app-version"

This reverts commit 5ae493d79b34ef2143d78a44c21a63623140bba8.

* revert modtime change in #8712
2020-10-02 15:23:38 -04:00
John Cowen 063745af5c
ui: Show service and node checks as a merged list sorted by health (#8797) 2020-10-02 09:09:05 +01:00
Paul Banks 35d249e38f
Merge pull request #8694 from hashicorp/ui-config-metrics
Add config changes for UI metrics
2020-10-01 17:38:03 +01:00
John Cowen 2828528d47
ui: Fix up tab separator CSS to not apply to all tabs (#8792) 2020-10-01 14:33:48 +01:00
John Cowen 4533dc3be3
ui: Initialize chain variable to null (#8791) 2020-10-01 14:31:29 +01:00
Paul Banks a6c748ec1b
Refactor uiserver to separate package, cleaner Reloading 2020-10-01 11:32:25 +01:00
John Cowen c0abe1e406
ui: Outlet Loading (#8779)
Moves all Route/model hook loading to use Outlet components which listen on route change.
2020-10-01 09:33:22 +01:00
Kenia 095e5801ae
ui: Update to service index page (#8775)
* Add 'in service mesh ...' to the composite rows in Service List page

* Add associated services count to terminating and ingress gateways in Service List page

* Update mesh icon in icon-defintion files
2020-09-30 09:13:38 -04:00
John Cowen 75271d1667
ui: Centralized Config Intention Permission CRUD (#8762) 2020-09-30 12:33:01 +01:00
Alvin Huang a7353d925e
ci:add check for bindata_assetfs changes (#8712)
* add check for bindata_assetfs changes

* Remove GIT_SHA environment variable

* Hardcode in an app version for ember-cli-app-version

* change ' to " for CONSUL_UI_SETTINGS_PLACEHOLDER

Co-authored-by: John Cowen <jcowen@hashicorp.com>
Co-authored-by: hashicorp-ci <hashicorp-ci@users.noreply.github.com>
2020-09-29 17:03:45 -04:00
John Cowen 10dc269fd4
ui: Upgrades ember and related to latest 3.20 LTS release (#8761)
* ui: Upgrades ember and related to latest 3.20 LTS release

* Delete ember-portal related tests

As we are running inline and block component tests in the same test an
error is raised as we are adding the same named portal twice.

Tests were deleted here as they weren't really testing anything anyway
2020-09-29 16:59:35 +01:00
John Cowen 4a76042989
ui: Correct readonly L7 Intentions API calls (#8725)
* Disable ability to select destination if not creating

* Add a LegacyID for intentions that don't have them

* Use `/exact/` endpoint for reading single intentions

* Fix up test for new API interaction

* Upgrade consul-api-double

* Comment out tests using destination for the moment

Also, removed any intention related things from the old page-navigation
tests
2020-09-24 16:07:13 +01:00
John Cowen f6fafe0ed1
ui: Go back to expecting falsey values during config env tests (#8710) 2020-09-23 09:19:04 +01:00
John Cowen d8fb480ca1
ui: Various CSS amends (#8708)
* ui: Various CSS amends

1. Split out %icon-definition from %composite-row
2. Add hover effect to node listing
3. Fix up proxy level list components
4. Rename our various pills to use a 100-900 scale
5. Reogranize other icon related things (consul-kind and
consul-external-source)

* Fix up upstream test
2020-09-22 18:20:44 +01:00
John Cowen 65f2cd891b
ui: Read-only CRD/Centralized Config Intentions (#8659) 2020-09-18 11:14:06 +01:00
Kenia 667ddad7c3
ui: Add services count to node listings (#8690) 2020-09-16 11:39:57 -04:00
Paul Banks 0062106c46
Update UI Config passing to not use an inline script (#8645)
* Update UI Config passing to not use an inline script

* Update agent/http.go

* Fix incorrect placeholder name
2020-09-15 20:57:37 +01:00
John Cowen e9bb8f6668
ui: Use runInDebug to add error logging to logger service (#8658) 2020-09-15 18:45:22 +01:00
John Cowen bbd57b7f01
ui: Add in-repo addon to configure inclusion of components/**/*.scss (#8660) 2020-09-15 18:45:08 +01:00
John Cowen 5268841eac
ui: Default test latency to 0 (#8640)
During development a HTTP request will pause for 1 minute ONLY when an
?index is set. This gives a realistic emulation of blocking queries.

During testing we can change this latency when we are testing blocking
queries, which we do in numerous places.

A problem can arise during testing on a very slow machine.

If you are not testing blocking queries and therefore not set a latency
to test with, if the machine you are testing on is slow enough a normal
page can assert during a test, yet not tear down before a further
blocking query request is made. This blocking query then uses the default
latency which cause the page to hang for 1 minute, which in turn causes
the test to timeout.

This only seems to happen on a very slow system, but it does potentially
explain why we occasionally see the odd flakey test popping up.
2020-09-09 18:51:18 +01:00
John Cowen e9d116322e
ui: Move %definition-table to use CSS grid (#8629) 2020-09-09 09:12:56 +01:00
John Cowen fdd891c38e
ui: Reinstate listing of available test steps via CLI (#8614)
* Unignore any bin files underneath the UI folder

* Add previously ignored node exec script

* Rearrange steps file so we can continue to list steps out
2020-09-09 09:12:42 +01:00
John Cowen 4086385e59
ui: [Bugfix] KV creation from within a 'folder' (#8613)
* ui: Prefill an newly created KV for the when we are on a create route

* ui: Add some KV creation tests
2020-09-09 09:12:09 +01:00
John Cowen 736a3c89e7
ui: Reinstate tooltip for exposed paths pill (#8598) 2020-09-02 14:47:04 +01:00
John Cowen 6ae3e3ffc7
ui: Delete unused javascript/CSS components (#8597) 2020-09-02 14:45:06 +01:00
John Cowen 2946d823ba
ui: Improved filtering and sorting (#8591) 2020-09-01 19:13:11 +01:00
Kenia d8c14b51a3
ui: Redesign Node list page (#8567)
* Create ConsulNodeList component

* Implement ConsulNodeList and the new Search/Sort to Node List page

* Minor styling fix to align the first icons in composite row

* Fix-up and add tests for the redesigned Node List page

* Add Leader to composite row for Node List page

* Add test for node leader
2020-08-28 09:21:03 -04:00
John Cowen 539b1076e2
ui: Split ember-data service model into service/service-instance (#8557) 2020-08-26 15:24:30 +01:00
Kenia abc0045adc
ui: Tooltip Bugs (#8562)
* Fix tooltip offset in Discovery Chain for Firefox Browser

* Add z-index to ember-tooltip to over over the search/sort in AppView
2020-08-26 10:05:09 -04:00
John Cowen 7238089fc7
ui: Add new Service.Mesh* properties for improved sorting (#8542)
* ui: Serialize proxies into the model, add Mesh* model props

Serializes the proxies associated with a service onto the Service model
itself, then adds various Mesh* properties

* ui: Uses the new Mesh* properties throughout the app
2020-08-21 08:53:22 +01:00
Kenia 92c2614f6a
ui: Redesign Node Lock Sessions Tab (#8535)
* Add delay svg icon

* Create ConsulLockSessionList component

* Implement ConsulLockSession component in Lock Sessions tab

* Create format-time helper

* Add Invalidate button and fix up styling

* Fixup and add additional tests
2020-08-20 10:29:16 -04:00
Kenia a0eb8846e5
ui: Increase spacing between detail items in composite row (#8507) 2020-08-19 09:17:34 -04:00
John Cowen 913ae5cfb3
ui: Reduce reconnection attempts on disconnection (#8481)
* ui: Reduce reconnection attempts on disconnection

The UI will attempt to reconnect/retry a blocking query to Consul after
a disconnection in certain circumstances.

1. On receipt of a 5xx error (used for keeping blocking queries running
through reverse proxies that have lowertimeouts than consul itself)
2. When a user switches to a different tab and back again)
3. When the connection to Consul is dropped entirely (when Consul itself
has exited)

In the last case the retry attempts where not using a 3 second interval
between attempts like the first case is.

This commit changes the last case to use the same 3 second pause as the
last case.
2020-08-11 18:47:15 +01:00
John Cowen 10fe22c9b4
ui: Add Optgroups and selectedItems to multiple select dropdown and use (#8476)
* ui: Switch selects to use more HTML-like approach for optgroups

* Add KV comparator

* Use new option/optgroup approach for sort/select

* Fix up tests for new order of menu items
2020-08-11 18:02:51 +01:00
John Cowen 3962f35905
ui: Passthrough any error from a route:application refresh (#8480) 2020-08-11 17:57:22 +01:00
Kenia 85a878549b
ui: Add unique slug key id to proxy (#8479) 2020-08-11 12:53:45 -04:00
John Cowen 095eb22dd0
ui: Dropdown/select improvements (#8468)
* ui: Better org of split-button/sort-button ready for design change

* ui: Improve keyboard accessibility of dropdown menu
2020-08-10 16:00:05 +01:00
Kenia 9e711b2792
ui: Add sorting to namespaces (#8405)
* Add sorting to namespaces

* Add sorting to namespaces

* ui: Fix up default namespace no delete test (#8467)

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2020-08-10 10:54:51 -04:00
John Cowen b5a40473ab
ui: Rework popover-menu auto closing (#8340)
* ui: Move more menu subcomponents deeper down into popovermenu

* ui: Simplify aria-menu component+remove auto menu close on route change

* Add ember-string-fns

* Use new PopoverMenu sub components and fix up tests

* Fix up wrong closing let

* Remove dcs from the service show page now we have it in the navigation
2020-08-10 09:26:02 +01:00
Kenia de95a6a325
ui: Add sorting to Policies (#8373)
* Add sorting to ACLs policies with comparator

* Add acls/roles sorting test

* Add navigation test for acls/policies

* Update onchange value for sorting policies
2020-07-29 14:36:09 -04:00
Kenia b6cf6ab6cd
ui: Add sorting to Roles (#8369)
* Add sorting to ACLs roles with comparator

* Add acls/roles sorting test

* Add navigation feature test to roles

* Update onchange value target for sorting roles
2020-07-29 10:55:38 -04:00
Kenia 6f073947a0
ui: Update onchange value target for sorting tokens (#8399) 2020-07-29 10:13:00 -04:00
John Cowen 12c4bddcac
ui: Ensure URLs for tabs change when selecting a different DC (#8397)
* ui: Add URLs to tabs to we can assert them

* Add dcs to the service show page, temporarily

There is an ongoing PR which removes the need to do this by adding a dcs
property to the navigation, hence temporary

* Add a step to assert on whether text _contains_ rather than exact match

* Test whether the URL of the instance tab changes when the user switches dcs using the main navigation menu

* Recompute href-to's on URL change, just like is-href
2020-07-29 16:09:40 +02:00
Kenia 39c5510362
ui: Fix up on the onchange value to target for soting intentions (#8398) 2020-07-29 10:07:48 -04:00
Kenia 689d1375a3
ui: Add sorting to ACLs tokens with tests (#8359)
* Add sorting to ACLs tokens with tests

* Create token comparator and implement in template

* Upgrade @hashicorp/consul-api-double to 3.1.6

* Add navigation test to acls tokens
2020-07-29 09:41:40 -04:00
John Cowen 52b1a73d3b
ui: Use X-Range header as a signal as to whether to reconcile the ember-data store (#8384)
* ui: Use `X-Range` header/meta to decide whether to reconcile or not

Previously we used a `shouldReconcile` method in order to decide whether
a response should trigger a reconciliation of the frontend ember-data
'source of truth' or not. It's a lot nicer/clearer if this 'flag' can be set
alongside the HTTP request information, moreover we almost have the same
functionality in `If-Range`/`Partial Content` HTTP functionality.

Here we partly follow this HTTP semantics but use a custom `X-Range` header
instead.
2020-07-29 10:16:09 +02:00