Commit Graph

18977 Commits

Author SHA1 Message Date
freddygv 472a8e82dc Add integ test for peering through gateways 2022-10-13 14:58:05 -06:00
freddygv 2c99a21596 Update leader routine to maybe use gateways 2022-10-13 14:58:00 -06:00
freddygv e69bc727ec Update peering establishment to maybe use gateways
When peering through mesh gateways we expect outbound dials to peer
servers to flow through the local mesh gateway addresses.

Now when establishing a peering we get a list of dial addresses as a
ring buffer that includes local mesh gateway addresses if the local DC
is configured to peer through mesh gateways. The ring buffer includes
the mesh gateway addresses first, but also includes the remote server
addresses as a fallback.

This fallback is present because it's possible that direct egress from
the servers may be allowed. If not allowed then the leader will cycle
back to a mesh gateway address through the ring.

When attempting to dial the remote servers we retry up to a fixed
timeout. If using mesh gateways we also have an initial wait in
order to allow for the mesh gateways to configure themselves.

Note that if we encounter a permission denied error we do not retry
since that error indicates that the secret in the peering token is
invalid.
2022-10-13 14:57:55 -06:00
malizz b0b0cbb8ee
increase protobuf size limit for cluster peering (#14976) 2022-10-13 13:46:51 -07:00
Jasmine W e04c56a3a1
Merge pull request #14975 from hashicorp/ui/bugfix/peering-misspelling
UI: Copy changes for peering detail page
2022-10-13 15:28:21 -04:00
Derek Menteer 4e140c98bc Address PR comments. 2022-10-13 14:11:02 -05:00
Derek Menteer 1e394da400 Disallow peering to the same cluster. 2022-10-13 14:11:02 -05:00
wenincode 12a24a6d8c Update peers show tests to look for serverAddresses tab 2022-10-13 13:06:11 -06:00
Jasmine W 09513e7ef2 Update index.js 2022-10-13 14:42:13 -04:00
Derek Menteer 8742fbe14f Prevent consul peer-exports by discovery chain. 2022-10-13 12:45:09 -05:00
Derek Menteer f366edcb8d Prevent the "consul" service from being exported. 2022-10-13 12:45:09 -05:00
Jasmine W 56e3c0884e UI: Copy changes for peering detail page 2022-10-13 13:45:03 -04:00
Michael Klein 3872a36d93
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
Derek Menteer caa1396255 Add remote peer partition and datacenter info. 2022-10-13 10:37:41 -05:00
Michael Klein f06001352a Always sort consul-gateway to bottom sources list 2022-10-13 17:13:00 +02:00
Tyler Wendlandt e8748503c3
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 5ac1bc9cc0
Merge pull request #14947 from hashicorp/ui/feat/peer-detail-page
ui: peer detail view
2022-10-13 17:03:57 +02:00
Michael Klein ceeb823d01 Add changelog for peers detail page 2022-10-13 16:45:03 +02:00
Michael Klein 54409c9ac4 Add tests peers.show 2022-10-13 16:45:03 +02:00
Michael Klein 38fed7d2b6 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 0653bb57ac Update peering mocks 2022-10-13 16:45:03 +02:00
Michael Klein 19fbdb7a0b Fix linting error dimension service 2022-10-13 16:45:03 +02:00
Michael Klein 6b34e3e91a 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 491de53154 Update yarn.lock 2022-10-13 16:45:03 +02:00
Michael Klein 7178604f4a 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 041e7c4626 Link to peer.show service-instance peer-info 2022-10-13 16:43:54 +02:00
Michael Klein e548bbb4ff Prettify dc.services.show template 2022-10-13 16:43:54 +02:00
Michael Klein a33feb2b41 Use translations for empty states peers.show 2022-10-13 16:43:54 +02:00
Michael Klein 0532dcc441 Update dimension provider
* simplify implementation
* add docs
2022-10-13 16:43:54 +02:00
Michael Klein 35c7cc8ec1 Rename `peers.edit` to `peers.show` 2022-10-13 16:43:54 +02:00
Michael Klein d6f0fe9f6e 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 e55306e258 Match design order health states imported-services 2022-10-13 16:43:54 +02:00
Michael Klein 9030c32164 Use existing freefilter to match existing design 2022-10-13 16:43:49 +02:00
Michael Klein 71e20c3122 Add filtering for 'unknown' imported services 2022-10-13 16:43:49 +02:00
Michael Klein 42a725bffe Add `unknown`-state predicate services
Based on the new peer relationship
2022-10-13 16:43:49 +02:00
Michael Klein ebf7c91b11 Update imported/export count on peers
Api has changed we need to adjust accordingly.
2022-10-13 16:43:49 +02:00
Michael Klein 40e18c0e45 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 45f06149d4 Always transition to imported peers.edit 2022-10-13 16:43:49 +02:00
Michael Klein a61085258e Prototype StreamStatus integration peers detail 2022-10-13 16:43:49 +02:00
Michael Klein 90259d7366 Move peering bento box into dedicated component 2022-10-13 16:43:49 +02:00
Michael Klein e8db58c56b 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 7600cb2e31 Add bento box peers.edit 2022-10-13 16:43:38 +02:00
Michael Klein ecfb17bba0 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 ec8c6e0c47 Add empty state peers.edit.addresses 2022-10-13 16:43:38 +02:00
Michael Klein 128de18ac1 Add tooltips exported/imported tabs 2022-10-13 16:43:38 +02:00
Michael Klein ec6d6d001f Display tab tooltips in tab-nav 2022-10-13 16:43:38 +02:00
Michael Klein 7162005a70 Allow tabs to have tooltips 2022-10-13 16:43:38 +02:00
Michael Klein 56d83c316e Link service in exported-service list 2022-10-13 16:43:38 +02:00
Michael Klein 33471be408 Show cursor peer-list 2022-10-13 16:43:38 +02:00
Michael Klein 20d80ed8eb Implement imported services tab peers.edit 2022-10-13 16:43:38 +02:00