Commit Graph

615 Commits

Author SHA1 Message Date
Kenia f981818e41
ui: Make the topology cards into links (#8911) 2020-10-09 16:57:08 -04:00
Paul Banks 40695d5919
Add metrics rendering to the new topology view. (#8858)
* Remove unused StatsCard component

* Create Card and Stats contextual components with styling

* Send endpoint, item, and protocol to Stats as props

* WIP basic plumbing for metrics in Ember

* WIP metrics data source now works for different protocols and produces reasonable mock responses

* WIP sparkline component

* Mostly working metrics and graphs in topology

* Fix date in tooltip to actually be correct

* Clean up console.log

* Add loading frame and create a style sheet for Stats

* Various polish fixes:

 - Loading state for graph
 - Added fake latency cookie value to test loading
 - If metrics provider has no series/stats for the service show something that doesn't look broken
 - Graph hover works right to the edge now
 - Stats boxes now wrap so they are either shown or not as will fit not cut off
 - Graph resizes when browser window size changes
 - Some tweaks to number formats and stat metrics to make them more compact/useful

* Thread Protocol through topology model correctly

* Rebuild assetfs

* Fix failing tests and remove stats-card now it's changed and become different

* Fix merge conflict

* Update api doublt

* more merge fixes

* Add data-permission and id attr to Card

* Run JS linter

* Move things around so the tests run with everything available

* Get tests passing:

1. Remove fakeLatency setTimeout (will be replaced with CONSUL_LATENCY
in mocks)
2. Make sure any event handlers are removed

* Make sure the Consul/scripts are available before the app

* Make sure interval gets set if there is no cookie value

* Upgrade mocks so we can use CONSUL_LATENCY

* Fix handling of no series values from Prometheus

* Update assetfs and fix a comment

* Rebase and rebuild assetfs; fix tcp metric series units to be bits not bytes

* Rebuild assetfs

* Hide stats when provider is not configured

Co-authored-by: kenia <keniavalladarez@gmail.com>
Co-authored-by: John Cowen <jcowen@hashicorp.com>
2020-10-09 21:31:15 +01:00
Kenia aa4618312b
ui: Send kind query to the service-topology endpoint (#8909) 2020-10-09 14:39:16 -04:00
John Cowen 80f9d53781
ui: Add simple intention check interface to per service intentions (#8899) 2020-10-09 15:47:36 +01:00
Kenia 3e89a88aec
ui: Update instances count for ingress and terminating gateways (#8885)
* Add associated services count to terminating and ingress gateways in Service List page

* Update to not return instances for terminating and ingress gateways
2020-10-09 10:47:25 -04:00
R.B. Boyer b4bf092db3
uiserver: upstream refactors done elsewhere (#8891) 2020-10-09 08:32:39 -05:00
R.B. Boyer 61acf05286
ui: fix the namespace flag (#8889) 2020-10-08 15:29:52 -05:00
John Cowen 4083af3ced
ui: Workaround FF and/or ember problem, trying to set a value="" (#8884) 2020-10-08 20:32:27 +01:00
John Cowen 6ab78805cb
ui: Fix up positioning of subpage loader animation (#8879) 2020-10-08 20:32:16 +01:00
Paul Banks aa3f9e9b4f
Add support for serving additional metrics provider JS in the UI (#8743) 2020-10-08 18:03:13 +01:00
Kenia a49e749edf
ui: Add deny SVG lines with icons (#8846)
* Refactor and color SVG Lines based on intention permissions

* Create Icon component with L7 and Deny icon styling

* Reposition icons on the lines when the lines are redrawn

* Create service/intention-permissions helper

* Use service/intention-permissions helper to return allow or deny lines

* Upgrade consul-api-double to v5.3.5

* Update HasPermission attribute
2020-10-08 11:52:09 -04:00
Kenia 712a2d33dc
ui: Add namespaces to downstream cards (#8873)
* Add nspace to downstream cards

* Remove portion of conditional
2020-10-08 11:38:03 -04:00
John Cowen b20f77748d
ui: L7 intentions improvements (#8851)
* Disable source as well as destination on editing

* Various visual/textual amends

* Make errors only appear once you've interacted with a field

* Move tests that involve selecting menus to a create form

* Revert fieldsets and checkboxes
2020-10-08 16:02:31 +01:00
John Cowen 09fbe303b2
ui: Use a custom request for nspace deletion (#8878)
* Turn repo.remove into a custom action to bypass ember-data deletion

* Don't show actions on a deleting nspace
2020-10-08 16:00:52 +01:00
John Cowen 8b0ed0ff01
ui: Change query param name for service instance listing from nspace to ns (#8852) 2020-10-07 15:08:13 +01:00
John Cowen b33a01f8dd
ui: Move node listing copy button to the detail rather than the title (#8850) 2020-10-07 14:45:52 +01:00
John Cowen ccf0e257ea
ui: Fix up Service filtering by whether a Service is in the mesh or not in the mesh (#8836)
* Add MeshEnabled, InMesh properties and add Proxy back in

* Change query param to in-mesh/not-in-mesh

* Use new computed properties
2020-10-07 09:04:55 +01:00
John Cowen d44a7ab6d8
ui: Service instance requests and proxy requests are ranges (#8828) 2020-10-06 14:39:39 +01:00
John Cowen 4aae2bd039
ui: Restrict header styling to specific tabs (#8830) 2020-10-06 14:38:39 +01:00
John Cowen 356ddd1976
ui: Remove authorization and disabled partials/blocks (#8829)
* Add disabled and unauthorized views into AppView without a block

* Remove disabled/unauthorized block usage

* Remove unauthorized and diabled partials

* Passthrough allowLogin attribute
2020-10-06 14:34:32 +01:00
John Cowen 0a91a3f6c4
Fixup node tests to account for new runtime env var passing (#8817) 2020-10-06 14:26:55 +01:00
John Cowen 0f14574ba3
ui: Leader API polling (#8814)
* Allow configuring a datasource to poll instead of block

* Add 30 second polling to the leader API request
2020-10-06 14:26:44 +01:00
John Cowen dd56ad2e8b
ui: Replace proxy icon with mesh icon (#8804) 2020-10-06 09:37:23 +01:00
John Cowen 2339545204
Allow configuring a datasource to poll instead of block (#8805) 2020-10-06 09:31:01 +01:00
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