Commit Graph

21255 Commits (ac83ac13438a288032aefa67813e9f6efe588aae)

Author SHA1 Message Date
Derek Menteer ac83ac1343
Fix streaming RPCs for agentless. (#20868)
* Fix streaming RPCs for agentless.

This PR fixes an issue where cross-dc RPCs were unable to utilize
the streaming backend due to having the node name set. The result
of this was the agent-cache being utilized, which would cause high
cpu utilization and memory consumption due to the fact that it
keeps queries alive for 72 hours before purging inactive entries.

This resource consumption is compounded by the fact that each pod
in consul-k8s gets a unique token. Since the agent-cache uses the
token as a component of the key, the same query is duplicated for
each pod that is deployed.

* Add changelog.
2024-03-15 14:44:51 -05:00
Derek Menteer 0ac8ae6c3b
Fix xDS deadlock due to syncLoop termination. (#20867)
* Fix xDS deadlock due to syncLoop termination.

This fixes an issue where agentless xDS streams can deadlock permanently until
a server is restarted. When this issue occurs, no new proxies are able to
successfully connect to the server.

Effectively, the trigger for this deadlock stems from the following return
statement:
https://github.com/hashicorp/consul/blob/v1.18.0/agent/proxycfg-sources/catalog/config_source.go#L199-L202

When this happens, the entire `syncLoop()` terminates and stops consuming from
the following channel:
https://github.com/hashicorp/consul/blob/v1.18.0/agent/proxycfg-sources/catalog/config_source.go#L182-L192

Which results in the `ConfigSource.cleanup()` function never receiving a
response and holding a mutex indefinitely:
https://github.com/hashicorp/consul/blob/v1.18.0/agent/proxycfg-sources/catalog/config_source.go#L241-L247

Because this mutex is shared, it effectively deadlocks the server's ability to
process new xDS streams.

----

The fix to this issue involves removing the `chan chan struct{}` used like an
RPC-over-channels pattern and replacing it with two distinct channels:

+ `stopSyncLoopCh` - indicates that the `syncLoop()` should terminate soon.  +
`syncLoopDoneCh` - indicates that the `syncLoop()` has terminated.

Splitting these two concepts out and deferring a `close(syncLoopDoneCh)` in the
`syncLoop()` function ensures that the deadlock above should no longer occur.

We also now evict xDS connections of all proxies for the corresponding
`syncLoop()` whenever it encounters an irrecoverable error. This is done by
hoisting the new `syncLoopDoneCh` upwards so that it's visible to the xDS delta
processing. Prior to this fix, the behavior was to simply orphan them so they
would never receive catalog-registration or service-defaults updates.

* Add changelog.
2024-03-15 13:57:11 -05:00
Derek Menteer eabff257d7
Various bug-fixes and improvements (#20866)
* Shuffle the list of servers returned by `pbserverdiscovery.WatchServers`.

This randomizes the list of servers to help reduce the chance of clients
all connecting to the same server simultaneously. Consul-dataplane is one
such client that does not randomize its own list of servers.

* Fix potential goroutine leak in xDS recv loop.

This commit ensures that the goroutine which receives xDS messages from
proxies will not block forever if the stream's context is cancelled but
the `processDelta()` function never consumes the message (due to being
terminated).

* Add changelog.
2024-03-15 13:10:48 -05:00
Austin Workman 94c0d783b8
K8s v1 Multiport documentation indentation updates (#20858)
Fixing indentation in service account token secrets and addingn clarity about how they are used.

Co-authored-by: David Yu <dyu@hashicorp.com>
2024-03-14 22:11:47 +00:00
David Yu 2d053c3ac6
docs: Update release notes for 1.17.x for legacy api gateway removal (#20857)
* Update v1_17_x.mdx

* Update v1_3_x.mdx

* Update website/content/docs/release-notes/consul-k8s/v1_3_x.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2024-03-14 14:51:15 -07:00
Matt Keeler 8fcafb139c
Add `consul snapshot decode` command (#20824)
Add snapshot decoding command
2024-03-14 12:59:06 -04:00
Deniz Onur Duzgun e9029ccd7a
[NET-8368] security: bump Go version to 1.21.8 (#20812)
* [NET-8368] Bump Go version
2024-03-14 09:46:15 -04:00
Chris Hut bfbc0ee4fd
Revert link existing but better 🪦 (#20830)
* Revert "feat: add alert to link to hcp modal to ask a user refresh a page; up… (#20682)"

This reverts commit dd833d9a36.

* Revert "chor: change cluster name param to have datacenter.name as default value (#20644)"

This reverts commit 8425cd0f90.

* Revert "chor: adds informative error message when acls disabled and read-only… (#20600)"

This reverts commit 9d712ccfc7.

* Revert "Cc 7147 link to hcp modal (#20474)"

This reverts commit 8c05e57ac1.

* Revert "Add nav bar item to show HCP link status and encourage folks to link (#20370)"

This reverts commit 22e6ce0df1.

* Revert "Cc 7145 hcp link status api (#20330)"

This reverts commit 049ca102c4.

* Revert "💜 Cc 7187/purple banner for linking existing clusters (#20275)"

This reverts commit 5119667cd1.
2024-03-13 13:59:00 -07:00
Nathan Coleman cff9161bb5
Add API gateway to index of configuration entries (#20849) 2024-03-13 16:57:12 -04:00
Semir Patel 217e5e1d78
snapshot agent: docs to deprecate top-level snapshot destinations (#20848) 2024-03-13 15:37:27 -05:00
Semir Patel 223714bdea
docs: document support for multiple snapshot destinations (#20829) 2024-03-12 16:37:01 -05:00
Nathan Coleman eccb144bbf
Fix typo in ingress-gateway docs (#20835) 2024-03-12 21:08:33 +00:00
sarahalsmiller 262f435800
NET-6821 Disable Terminating Gateway Auto Host Header Rewrite (#20802)
* disable terminating gateway auto host rewrite

* add changelog

* clean up unneeded additional snapshot fields

* add new field to docs

* squash

* fix test
2024-03-12 15:37:20 -05:00
David Yu 08bfca0193
docs: K8s docs cleanup (#20820)
* Update install.mdx
* Update install-k8s.mdx
2024-03-11 10:56:37 -07:00
David Yu df4c288ba8
docs: Update GKE Autopliot docs (#20813)
Update install.mdx
2024-03-07 15:40:56 -08:00
Michael Zalimeni d4761c0ccd
security: upgrade google.golang.org/protobuf to 1.33.0 (#20801)
Resolves CVE-2024-24786.
2024-03-06 23:04:42 +00:00
Michael Zalimeni 90117613e8
docs: update 1.4.0 Helm docs with Docs team feedback (#20798) 2024-03-06 09:09:28 -05:00
mallikabandaru 1522678da8
replicated the changes made in ent repo for consistency (#20781)
* replicated the changes made in ent repo for consistency

* incorporated review comments
2024-03-06 09:29:54 +00:00
Matt Keeler abe14f11e6
Remove redundant usage metrics (#20674)
* Remove redundant usage metrics

* Add the changelog

* Update website/content/docs/upgrading/upgrade-specific.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/upgrading/upgrade-specific.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/upgrading/upgrade-specific.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/upgrading/upgrade-specific.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/upgrading/upgrade-specific.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2024-03-05 14:09:47 -05:00
aahel 4e7982a5b7
fix lambda registrator module doc link (#20796) 2024-03-05 22:53:50 +05:30
skpratt 0610aaaaf0
add raw delete api method (#20737)
* add raw delete

* allow 200 response for successful delete

* add comment
2024-03-05 08:52:55 -06:00
John Maguire 96b3e2276f
Update mog version to be compatible with go 1.22 (#20692) 2024-03-04 18:24:22 +00:00
David Yu f461f49ea5
docs: Update OpenShift compat matrix (#20788)
Update compatibility.mdx
2024-03-01 22:09:41 +00:00
Nathan Coleman c097b11fff
Fix typos in route retry filter docs for APIGW (#20761)
* Fix typose in route retry filter docs for APIGW

* Update website/content/docs/connect/gateways/api-gateway/configuration/routetimeoutfilter.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2024-03-01 21:07:50 +00:00
David Yu c16da726d2
docs: clean up docs on release notes (#20777)
* Update v1_3_x.mdx

* Update v1_2_x.mdx
2024-03-01 19:52:49 +00:00
Matt Keeler 5c936fba33
Enable callers to control whether per-tenant usage metrics are included in calls to store.ServiceUsage (#20672)
* Enable callers to control whether per-tenant usage metrics are included in calls to store.ServiceUsage

* Add changelog
2024-03-01 13:44:55 -05:00
John Murret a1c6181677
DNS v2 - split up router into multiple responsibilities & break up router tests into multiple files. (#20688)
* Update agent/dns.go

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>

* PR feedback

* split tests out into multiple files.

* Extract responsibilities from router into discoveryResultsFetcher, messageSerializer, responseGenerator.

* adding recordmaker tests

* add response generator test coverage.

* changing tests case name based on PR feedback

---------

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
2024-03-01 15:36:37 +00:00
John Murret a15a957a36
NET-8056 - v2 DNS Testing Improvements (#20710)
* NET-8056 - v2 DNS Testing Improvements

* adding TestDNSServer_Lifecycle

* add license headers to new files.
2024-03-01 05:42:42 -07:00
John Landa 1857f73669
Johnlanda/fault injection docs (#20713)
* fault injection docs

* Add link to the fault injection docs from nav

* Fix formatting

* Update enterprise docs

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/enterprise/index.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/enterprise/index.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update website/content/docs/connect/manage-traffic/fault-injection.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Update docs-nav-data.json

add fault injection to nav

* Update docs-nav-data.json

* Update docs-nav-data.json

* Update docs-nav-data.json

* Update v1_18_x.mdx

* Update v1_4_x.mdx

* Update v1_4_x.mdx

---------

Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2024-02-29 17:40:19 -08:00
David Yu 984ccec934
docs: 1.18.x cleanup (#20759)
* Update compatibility.mdx
* Update configure.mdx
2024-03-01 01:01:02 +00:00
Jeff Boruszak 9979ab815b
docs: Fix version typo in consul-k8s v1.3.x release notes (#20767)
* version fix

* Bash fix
2024-02-29 16:30:37 -08:00
Michael Zalimeni 0668ace1a7
docs: update Helm docs for consul-k8s 1.4.0 (#20770) 2024-02-29 14:42:02 -08:00
Jeff Boruszak 20920ffb88
docs: consul-k8s v1.4.0 release notes (#20766)
* Release notes

* Update website/content/docs/release-notes/consul-k8s/v1_4_x.mdx

Co-authored-by: David Yu <dyu@hashicorp.com>

---------

Co-authored-by: David Yu <dyu@hashicorp.com>
2024-02-29 14:09:43 -08:00
Chris S. Kim 0571382c4a
Retract api@v1.28.0 (#20762) 2024-02-29 16:56:00 +00:00
Jeff Boruszak 8ae69b264d
docs: Consul on Nomad overview (#20735)
* Nomad overview page

* Apply suggestions from code review

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>

* Fix typos

* Add API gateway

* Remove API gateway support

---------

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
2024-02-28 15:51:12 -08:00
David Yu 1323b7abf1
docs: Update v2 Catalog API note to re-iterate beta and add downgrade from enterprise note (#20757)
* Update v1_18_x.mdx
* Update traffic-split.mdx

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2024-02-28 21:48:14 +00:00
Jared Kirschner 6f48ce153c
docs: add 1.18.0 release date (#20754) 2024-02-28 14:45:09 -05:00
David Yu 14730419f6
docs: Update release notes for 1.18.x (#20751)
Update v1_18_x.mdx
2024-02-28 19:27:07 +00:00
Jeff Boruszak b2e989c01f
docs: v1.18 Consul release notes (#20736)
* v1.18 release notes page

* Remove API gateway
2024-02-28 09:33:20 -08:00
Matt Keeler 1a454b7b47
Make routes controller tests more robust when testing with multiple tenancies (#20743)
When executing the test with multiple tenancies the various mesh controllers remained running across multiple sub-tests. While the resourcetest.Client cleans up resources created with it, resources created by the controllers were not being cleaned up. This could result in subsequent sub tests encountering unexpected values and failing when they should pass.
2024-02-28 11:03:12 -05:00
Jeff Boruszak 90d3a7c16d
docs: v2 and multiport updates for v1.18 (#20705)
* Move consul resource page + redirect

* Updates for v1.18

* Remove beta warning

* Secondary datacenter constraint

* Clarify transparent proxy in prereqs

* Config entry mention

* requested improvements

* suggestions from review

* additional suggestion
2024-02-28 01:14:25 +00:00
sarahalsmiller 930a20b523
Update main changelog for 1.18.0 (#20744)
* update main changelog

* Update CHANGELOG.md
2024-02-28 00:54:33 +00:00
Chris Hut a58f346f55
Hardcode links to CCM to be false (#20732)
Hardcode links to CCM to be false - due to CCM deprecation

Remove changelog item for breaking Ui change
 - since CCM linking no longer exists
2024-02-26 12:34:01 -08:00
Jared Kirschner 3ee926e6b3
docs: Add Consul Enterprise LTS docs (#20720) 2024-02-26 15:27:59 -05:00
sarahalsmiller 670ee90a77
Use correct enterprise meta on wildcard service update (#20721)
* use correct enterprise meta on wildcard service update

* changelog

* rename changelog file
2024-02-26 12:03:08 -06:00
Michael Zalimeni 50b442f7f2
[NET-7713] docs: Update v2 K8s docs to use virtual port references (#20695)
docs: Update v2 K8s docs to use virtual port references

Now that service virtual port references are supported in xRoutes and
config,

- Call out both formats accepted for service port references
- Update K8s examples to use virtual ports (most likely use case)
2024-02-26 12:15:31 -05:00
Matt Keeler 16a0800777
Update API and API Docs regarding disabling gossip for a partition. (#20669) 2024-02-26 12:14:39 -05:00
NicoletaPopoviciu 913055b833
docs - Update k8s compat matrix (#20714)
Update compatibility matrix
2024-02-26 10:08:29 -05:00
wangxinyi7 b1bd6ab91a
revert grpc to http (#20716)
* Revert "refactor the resource client (#20343)"

This reverts commit 3c5cb04b0f.

* Revert "clean up http client (#20342)"

This reverts commit 2b89025eab.

* remove deprecated peer

* fix the typo

* remove forwarding test as it tests grpc, should add it back
2024-02-23 12:27:49 -08:00
David Yu e72152465f
docs: format API GW tab docs (#20707)
* Update install-k8s.mdx

* Update install-k8s.mdx
2024-02-22 15:21:49 -08:00