* 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>
* Add associated services count to terminating and ingress gateways in Service List page
* Update to not return instances for terminating and ingress gateways
* 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
* 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
* 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
* 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
* 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
* 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>
* 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
* 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
* 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
* 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
* 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.
* 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