Commit Graph

947 Commits

Author SHA1 Message Date
Michael Klein 163f8b9057 Encapsulate hcp related logic in service 2022-10-19 08:34:36 +02:00
Michael Klein 955949998f Fix `TokenSecretID`-handling 2022-10-19 08:34:36 +02:00
Michael Klein 12a923c658 Add tests for TokenSecretID handling 2022-10-19 08:34:30 +02:00
wenincode 101561eb4f Enable synthetic nodes in mock data via env var 2022-10-18 13:45:14 -06:00
wenincode 7c5e109e17 Call super with arguments to safeguard against future changes 2022-10-18 11:53:24 -06:00
wenincode 33186ab543 Update yarn lockfile 2022-10-18 10:17:03 -06:00
wenincode 443b73435a Use local-storage service to manage localStorage
Use local-storage service, prototyped here https://github.com/LevelbossMike/local-storage-service, to manage local storage usage in an octane way. Does not write to local storage in tests by default and is easy to stub out.
2022-10-18 09:40:47 -06:00
Michael Klein 101a20e03e Improve testability `env`-service 2022-10-18 16:07:12 +02:00
wenincode f9f4ca8da4 Set postfix for agentless-notice storage key based on partition and dc 2022-10-14 14:08:40 -06:00
wenincode 9777ee0077 Save agentless node notice dismissal per dc 2022-10-14 12:21:25 -06:00
Tyler Wendlandt 4a3801385d
Merge pull request #14986 from hashicorp/ui/feature/filter-node-healthchecks-agentless
UI: filter node healthchecks on agentless service instances
2022-10-14 09:33:45 -06:00
Michael Klein 00201936c8
Merge pull request #14977 from hashicorp/ui/fix/scrollbar-bento-box
ui: Bento-Box show scrollbars only when necessary
2022-10-14 09:07:57 +02:00
wenincode b761f583a8 Address linting errors 2022-10-13 19:05:19 -06:00
wenincode e36848111a Add tests for filtering node health checks 2022-10-13 18:45:15 -06:00
wenincode c27cc17991 Format healthchecks template 2022-10-13 15:48:18 -06:00
wenincode 9526f9f4f5 Filter healthchecks for synthetic-nodes 2022-10-13 15:47:47 -06:00
wenincode ae06401225 Update peers show tests to look for serverAddresses tab 2022-10-13 13:06:11 -06:00
Jasmine W aaf1277c6d Update index.js 2022-10-13 14:42:13 -04:00
Michael Klein 677bbcf4fa Bento-Box show scrollbars only when necessary 2022-10-13 20:27:19 +02:00
Jasmine W 718d4f5455 UI: Copy changes for peering detail page 2022-10-13 13:45:03 -04:00
wenincode 9d56feb77e Fix linting error 2022-10-13 10:59:48 -06:00
wenincode 31cbbc85e3 Move agentless-notice banner css to it's own file 2022-10-13 10:38:26 -06:00
Michael Klein b6020c0b54
Merge pull request #14973 from hashicorp/ui/chore/consol-api-gateway-bottom-sources-filter
ui: Always sort consul-gateway to bottom sources list
2022-10-13 18:34:45 +02:00
wenincode eb2cdcfb94 Add tests for agentless-notice-banner 2022-10-13 10:29:03 -06:00
wenincode 5fc979ee6e Move banner to component and make it dismissable 2022-10-13 10:29:03 -06:00
wenincode 036ccaf72e Add banner for agentless node notice 2022-10-13 10:29:03 -06:00
Michael Klein e9cd6753c7 Always sort consul-gateway to bottom sources list 2022-10-13 17:13:00 +02:00
Tyler Wendlandt a6b9219808
Merge pull request #14970 from hashicorp/ui/feature/filter-synthetic-nodes
ui: Filter synthetic nodes on nodes list page
2022-10-13 09:12:03 -06:00
Michael Klein e8f2024e43 Add tests peers.show 2022-10-13 16:45:03 +02:00
Michael Klein d9b4f5dab4 Fix href-to persists hash
Copy passed hash before manipulating it.

Assigning to the same hash object will break href-to
because in certain scenarios href-to-helper will
not create a new object that gets passed to
`fsm-with-optional`-hrefTo method.

This is problematic for optional route-params, and lead
to a situation where links to peered services would
create the wrong url for their href-attribute.
2022-10-13 16:45:03 +02:00
Michael Klein 4c2a5c31dc Update peering mocks 2022-10-13 16:45:03 +02:00
Michael Klein db4b38c36e Fix linting error dimension service 2022-10-13 16:45:03 +02:00
Michael Klein c3237ebed4 Fix peering regenerate test
* only dialers will show a regenerate token action
* add test that receivers won't show regenerate action
2022-10-13 16:45:03 +02:00
Michael Klein 56e5081f46 Update yarn.lock 2022-10-13 16:45:03 +02:00
Michael Klein e19008e54b Don't `--focus` for dist-vercel
This breaks the vercel deploy as `--focus` will try to install
workspace dependency from the registry:

Reference:
https://github.com/yarnpkg/yarn/issues/5864
https://github.com/yarnpkg/yarn/issues/6715
2022-10-13 16:43:54 +02:00
Michael Klein 8d0c18f1ed Link to peer.show service-instance peer-info 2022-10-13 16:43:54 +02:00
Michael Klein 482ee42efc Prettify dc.services.show template 2022-10-13 16:43:54 +02:00
Michael Klein f2e0df1534 Use translations for empty states peers.show 2022-10-13 16:43:54 +02:00
Michael Klein 35d8035258 Update dimension provider
* simplify implementation
* add docs
2022-10-13 16:43:54 +02:00
Michael Klein 5a8678e596 Rename `peers.edit` to `peers.show` 2022-10-13 16:43:54 +02:00
Michael Klein 3d1f032b51 Fix bucket-list display depends on navigation
We need to explicitly tell the UI to not show the bucket-list
when we are displaying imported services. If we make
this depend on the data we will sometimes not show
it due to data-loader caching.
2022-10-13 16:43:54 +02:00
Michael Klein 0ad4334597 Match design order health states imported-services 2022-10-13 16:43:54 +02:00
Michael Klein 02c74807b3 Use existing freefilter to match existing design 2022-10-13 16:43:49 +02:00
Michael Klein 33cf82a2d5 Add filtering for 'unknown' imported services 2022-10-13 16:43:49 +02:00
Michael Klein fb306b39d8 Add `unknown`-state predicate services
Based on the new peer relationship
2022-10-13 16:43:49 +02:00
Michael Klein 9624ecadb0 Update imported/export count on peers
Api has changed we need to adjust accordingly.
2022-10-13 16:43:49 +02:00
Michael Klein fd94a0681b Add peer as a belongs-to to service
Working with a peer model as a relationship is much
easier than to workaround a non-relationship in
imported services. This is currently only relevant
for imported-services where we know the peer
in advance.
2022-10-13 16:43:49 +02:00
Michael Klein 2f19d4e97e Always transition to imported peers.edit 2022-10-13 16:43:49 +02:00
Michael Klein 1228b9a8a8 Prototype StreamStatus integration peers detail 2022-10-13 16:43:49 +02:00
Michael Klein 2bc2079758 Move peering bento box into dedicated component 2022-10-13 16:43:49 +02:00
Michael Klein b9d5d3cb62 Don't handle undefined in smart-date-format
We will handle that from the outside
2022-10-13 16:43:38 +02:00
Michael Klein 96015e60d5 Add bento box peers.edit 2022-10-13 16:43:38 +02:00
Michael Klein be604a2828 Implement smart-date-format-helper
Add a helper that knows how to format past dates
in a smart way. When less than a week ago we will
use relative date strings - for dates older than a week
we will use a friendly human-readable format.

This matches best practices we want to adhere to
based on what Terraform did for date-formatting.
2022-10-13 16:43:38 +02:00
Michael Klein bd5b47bfa8 Add empty state peers.edit.addresses 2022-10-13 16:43:38 +02:00
Michael Klein f7e36609ad Add tooltips exported/imported tabs 2022-10-13 16:43:38 +02:00
Michael Klein 184a2a0e78 Display tab tooltips in tab-nav 2022-10-13 16:43:38 +02:00
Michael Klein a712142ec0 Allow tabs to have tooltips 2022-10-13 16:43:38 +02:00
Michael Klein 92ddea3627 Link service in exported-service list 2022-10-13 16:43:38 +02:00
Michael Klein f5934e75be Show cursor peer-list 2022-10-13 16:43:38 +02:00
Michael Klein 2854bcde76 Implement imported services tab peers.edit 2022-10-13 16:43:38 +02:00
Michael Klein b86567e163 Display addresses when receiver peer.edit 2022-10-13 16:43:38 +02:00
Michael Klein 0194eebd95 Return all items without search term exported 2022-10-13 16:43:38 +02:00
Michael Klein b356cffbc5 Always display imported & exported on peer
Peers are bi-directional, we need to reflect that
2022-10-13 16:43:38 +02:00
Michael Klein 7fe7ecfeda fix placeholder empty-state exported 2022-10-13 16:43:38 +02:00
Michael Klein d30484968d Make exported-services searchable by name 2022-10-13 16:43:38 +02:00
Michael Klein 8c99ecb28c Create search-provider 2022-10-13 16:43:38 +02:00
Michael Klein 0ca0cb34e8 Pull in vertical-collection
We want to use a community solution for occlusion
rendering for this problem instead of using a custom
abstraction.
2022-10-13 16:43:38 +02:00
Michael Klein 419531287b Create dimensions provider
To measure the available space of an element when it
should take up the "rest" of the page. This matches
what `ListCollection` is doing internally but makes
the mechanism available in a composable component.
2022-10-13 16:43:38 +02:00
Michael Klein 9006b7eebb Switch out ember-ref-modifier for ember-ref-bucket
ember-ref-bucket is the successor of ref-modifier. We
weren't using ref-modifier anywhere so switching out
is not an issue.
2022-10-13 16:43:38 +02:00
Michael Klein 44f42a52a1 Use HDS in peers.edit.exported 2022-10-13 16:43:31 +02:00
wenincode 06711c8f51 Expect a boolean from synthetic-node meta key 2022-10-13 08:41:26 -06:00
wenincode 0aabfa921f Re-enable nodes in list feature test 2022-10-13 08:29:48 -06:00
wenincode bc966efbe4 Use reject-by composable helper instead of provider 2022-10-13 07:29:51 -06:00
Michael Klein 8c0aa57bd2 Configure tailwind-jit for sub-apps as well 2022-10-13 10:44:07 +02:00
Michael Klein 961d0179c7 add external-services method to peer repo 2022-10-13 10:44:07 +02:00
Michael Klein d33b5c7bd3 Move javascript tab class to tab-nav 2022-10-13 10:44:07 +02:00
Michael Klein 7334472f84 Pass provider data for peering tab-nav 2022-10-13 10:44:07 +02:00
Michael Klein 4b89df2335 Create Peerings::Provider
We need a component abstraction that encapsulates
creating the dynamic tabs based on peering-type.

We create a `PeerTab`-abstraction that behaves like
the data-structure the tab-nav expects to achieve this
effect.
2022-10-13 10:44:07 +02:00
Michael Klein 99921a8bdd Transition to exported/imported based on peer type 2022-10-13 10:44:07 +02:00
Michael Klein 65a33f8f8a Add imported/exported tabs to peers.edit 2022-10-13 10:44:07 +02:00
Michael Klein 78b0eb4f43 Add imported and exported routes for peers.edit 2022-10-13 10:44:07 +02:00
Michael Klein 7f799cd9f5 Handle case when this.element is undefined outlet 2022-10-13 10:44:07 +02:00
Michael Klein 75d867b7e8 Add link to peers.edit to peerings list 2022-10-13 10:44:07 +02:00
Michael Klein ca53d4dc0d Bring back edit-route for peerings 2022-10-13 10:44:07 +02:00
Michael Klein 2cb8b44b5f Only display regenerate token when peer is dialer
Regenerating only makes sense if we are dealing with the
side that created  the token - i.e. the dialer.
2022-10-13 10:44:07 +02:00
Michael Klein 66a1343b2a Differentiate between dialer / receiver peer model 2022-10-13 10:44:06 +02:00
wenincode ec30447f00 Remove mocking synthetic nodes for now 2022-10-12 17:16:22 -06:00
wenincode ef681d06dc Add changelog 2022-10-12 17:16:01 -06:00
wenincode 1de0af4be1 Filter synthetic nodes on nodes list page 2022-10-12 17:16:01 -06:00
Michael Klein e0a5ea5d09 Allow deleting terminated peers 2022-10-12 09:33:23 +02:00
Michael Klein 1f4c4d5005 pass dc/partition when normalizing peerings 2022-10-12 09:29:24 +02:00
Michael Klein c1fdc5836b default to an empty array peering services 2022-10-12 09:29:24 +02:00
Michael Klein 73deb13bd8 Update peer repo with latest API changes 2022-10-12 09:29:24 +02:00
Tyler Wendlandt f8dab48cd4
ui: hide node name and meta on agentless instances (#14921)
* [NET-950] hide node name and meta on agentless instances

* Fix linting issues and set synthetic-node value

* ui: changelog entry
2022-10-11 09:59:53 -06:00
Tyler Wendlandt 11fe7dc8c5
ui: Remove node name from agentless service instance (#14903)
* [NET-949]: Remove node name from agentless instance

* Add changelog entry
2022-10-07 04:01:34 -06:00
Tyler Wendlandt d64b9d9722
ui: Update empty-state copy throughout app (#14721)
* Update empty-state copy throughout app

Update empty-states throughout the app to only include mentions of ACLs if the user has ACLs enabled.

* Update peers empty state copy
Flip the empty state copy logic for peers. Small typo fixes on other empty states.

* Update Node empty state with docs

* Update intentions empty state
Make ACL copy dependent on if acls are enabled.

* Update Nodes empty state learn copy

* Fix binding rule copy key
2022-10-06 11:01:49 -06:00
Michael Klein 4df01dd6a1
ui: Setup Hashicorp Design System for usage in consul-ui (#14394)
* Use postcss instead of ember-cli-sass

This will make it possible to work with tailwindcss.

* configure postcss to compile sass
* add "sub-app" css into app/styles tree

* pin node@14 via volta

Only used by people that use volta

* Install tailwind and autoprefixer

* Create tailwind config

* Use tailwind via postcss

* Fix: tailwind changes current styling

When adding tailwind to the bottom of app.scss we apparently
change the way the application looks. We will import
it first to make sure we don't change the current styling
of the application right now.

* Automatic import of HDS colors in tailwind

* Install @hashicorp/design-system-components

* install add-on
* setup postcss scss pipeline to include tokens css
* import add-on css

* Install ember-auto-import v2

HDS depends on v2 of ember-auto-import so we need to upgrade.

* Upgrade ember-cli-yadda

v0.6.0 of ember-cli-yadda adds configuration for webpack.
This configuration is incompatible with webpack v5
which ember-auto-import v2 is using.
We need to upgrade ember-cli-yadda to the latest
version that fixes this incompatability with auto-import v2

* Install ember-flight-icons

HDS components are using the addon internally.

* Document HDS usage in engineering docs

* Upgrade ember-cli-api-double

* fix new linting errors
2022-10-06 17:17:20 +02:00
Tyler Wendlandt 734be3fa11
ui: Wrap service names on show and instance routes (#14771)
* Wrap service names on show and instance routes
Moves the trailing type/kind/actions to the second row of the header
no matter what length the service name is. Wraps service name text.

* Change grid format of AppView globally

* Add tooltips to the last element of breadcrumbs
2022-10-05 13:21:34 -06:00
Michael Klein 1f62594deb
Allow managed-runtime badge to be dynamic (#14853) 2022-10-05 11:48:03 +02:00
Michael Klein 1832806fca
fix link back to hcp not showing up (#14812) 2022-09-30 20:32:02 +02:00