Commit Graph

20741 Commits (1f5bef76b54074c4b2ea55dd8417326583dd2103)

Author SHA1 Message Date
hc-github-team-consul-core 1f5bef76b5
Backport of test: update makefile to include ways to trigger deployer integration tests into release/1.17.x (#19555)
* backport of commit 82b5f2e05f

* backport of commit efbbcef2c3

* backport of commit 78386e1d52

---------

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2023-11-07 19:01:15 +00:00
hc-github-team-consul-core c4ca97f65b
Backport of Fix more test flakes into release/1.17.x (#19546)
* backport of commit 5cb614ed73

* backport of commit 13c10a19b1

---------

Co-authored-by: Derek Menteer <derek.menteer@hashicorp.com>
2023-11-07 16:38:37 +00:00
hc-github-team-consul-core 60e5d3eb74
Backport of test: fix some of the peering topology tests to safely run without tenancy in CE into release/1.17.x (#19543)
backport of commit 405bd4df6a

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2023-11-07 16:30:51 +00:00
Tu Nguyen a4b0c35767
Docs/update 1 17 x release notes (#19539)
* nightly workflow for 1.17.x release branch

* manually backport #19514

* reconcile changes

---------

Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
2023-11-06 16:18:47 -06:00
hc-github-team-consul-core 1fbd59875b
Backport of Ci upgrade test 1 17 into release/1.17.x (#19537)
* backport of commit b229e292fe

* keep upgrade test from 1.15

* keep envoy version

---------

Co-authored-by: cskh <hui.kang@hashicorp.com>
2023-11-06 22:00:05 +00:00
hc-github-team-consul-core a5957016be
Backport of [NET-5916] docs: Remove locality proxy startup section into release/1.17.x (#19535)
backport of commit b87e0c53dc

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
2023-11-06 21:08:47 +00:00
hc-github-team-consul-core 50b8bc6c72
Backport of [NET-5916] Update locality-aware routing docs into release/1.17.x (#19532)
* backport of commit 6e93544a53

* backport of commit 4f832725fe

---------

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
2023-11-06 20:09:18 +00:00
hc-github-team-consul-core e8b376a194
Backport of fixed typos in redirect for api gateways into release/1.17.x (#19528)
* server: run the api checks against the path without params (#19205)

* Clone proto into deepcopy correctly (#19204)

* chore: update version and nightly CI for 1.17 (#19208)

Update version file to 1.18-dev, and replace 1.13 nightly test with
1.17.

* mesh: add validation hook to proxy configuration (#19186)

* mesh: add more validations to Destinations resource (#19202)

* catalog, mesh: implement missing ACL hooks (#19143)

This change adds ACL hooks to the remaining catalog and mesh resources, excluding any computed ones. Those will for now continue using the default operator:x permissions.

It refactors a lot of the common testing functions so that they can be re-used between resources.

There are also some types that we don't yet support (e.g. virtual IPs) that this change adds ACL hooks to for future-proofing.

* NET-5073 - ProxyConfiguration: implement various connection options (#19187)

* NET-5073 - ProxyConfiguration: implement various connection options

* PR feedback - LocalConnection and InboundConnection do not affect exposed routes. configure L7 route destinations. fix connection proto sequence numbers.

* add timeout to L7 Route Destinations

* Relplat 897 copywrite bot workarounds (#19200)

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>

* mesh: add xRoute ACL hook tenancy tests (#19177)

Enhance the xRoute ACL hook tests to cover tenanted situations.
These tests will only execute in enterprise.

* resource: enforce lowercase v2 resource names (#19218)

* mesh: add DestinationPolicy ACL hook tenancy tests (#19178)

Enhance the DestinationPolicy ACL hook tests to cover tenanted situations.
These tests will only execute in enterprise.

* catalog: add FailoverPolicy ACL hook tenancy test (#19179)

* docs: Multi-port corrections (#19224)

* typo fixes and instruction corrections

* typo

* link path correction

* Add reason why port 53 is not used by default (#19222)

* Update dns-configuration.mdx

* Update website/content/docs/services/discovery/dns-configuration.mdx

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>

* v2tenancy: rename v1alpha1 -> v2beta1 (#19227)

* [NET-5944] security: Update Go version to 1.20.10 and `x/net` to 0.17.0 (#19225)

* Bump golang.org/x/net to 0.17.0

This resolves [CVE-2023-39325](https://nvd.nist.gov/vuln/detail/CVE-2023-39325)
/ [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487).

* Update Go version to 1.20.10

This resolves [CVE-2023-39325](https://nvd.nist.gov/vuln/detail/CVE-2023-39325)
/ [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487)
(`net/http`).

* NET-6097 - sidecar proxy controller - give name to first failover policy target (#19239)

* Cc 5545: Upgrade HDS packages and modifiers (#19226)

* Upgrade @hashicorp/design-system-tokens to 1.9.0

* Upgrade @hashicorp/design-system-components to 1.8.1

* Upgrade @hashicorp/design-system-components and ember-in-viewport

* Explicitly install ember-modifier@4.1.0

* rename copy-button

* Fix how cleanup is done in with-copyable

* Update aria-menu modifier for new structure

* Update css-prop modifier to new structure

* Convert did-upsert to regular class modifier

* Update notification modifier for new structure

* Update on-oustside modifier for new structure

* Move destroy handler registration in with-copyable

* Update style modifier for new structure

* Update validate modifier for new structure

* Guard against setting on destroyed object

* Upgrade @hashicorp/design-system-components to 2.14.1

* Remove debugger

* Guard against null in aria-menu

* Fix undefined hash in validate addon

* Upgrade ember-on-resize-modifier

* Fix copy button import, missing import and array destructuring

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>

* [NET-5810] CE changes for multiple virtual hosts (#19246)

CE changes for multiple virtual hosts

* Net 4893- Ensure we're testing all the latest versions of Vault/Nomad (#19119)

* NET-5592 - update Nomad integration testing

* NET-4893: Ensure we're testing all the latest versions of Vault/Nomad

* docs: Fix example control-plane-request-limit HCL and JSON (#19105)

The control-plane-request-limit config entry does not support
specifying parameter names in snake case format.

This commit updates the HCL and JSON examples to use the supported
camel case key format.

* test: add 1.17 nightly integrations test (#19253)

* fix expose paths (#19257)

When testing adding http probes to apps, I ran into some issues which I fixed here:
- The listener should be listening on the exposed listener port, updated that.
- The listener and route names were pointing to the path of the exposed path. In my test, the path was "/" resulting in an empty string path. Also, the path may not be unique across exposed path listeners, so I decided to use the path+exposed port as the unique identifier.

* docs: Multiport HCP constraint update (#19261)

* Add sentence

* link text adjustment

* docs: Fix multi-port install (#19262)

* Update configure.mdx

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

* Prevent circular dependencies between v2 resources and generate a mermaid diagram with their dependencies (#19230)

* build(docker): always publish full and minor version tags for dev images (#19278)

* fix nightly integration test: envoy version and n-2 version (#19286)

* [NET-6221] Ensure LB policy set for locality-aware routing (CE) (#19283)

Ensure LB policy set for locality-aware routing (CE)

`overprovisioningFactor` should be overridden with the expected value
(100,000) when there are multiple endpoint groups. Update code and
tests to enforce this.

This is an Enterprise feature. This commit represents the CE portions of
the change; tests are added in the corresponding `consul-enterprise`
change.

* fix: allow snake case keys for ip based rate limit config entry (#19277)

* fix: allow snake case keys for ip based rate limit config entry

* chore: add changelog

* reformatted the JSON schema server conf ref (#19288)

* acls,catalog,mesh: properly authorize workload selectors on writes (#19260)

To properly enforce writes on resources that have workload selectors with prefixes, we need another service authorization rule that allows us to check whether read is allowed within a given prefix. Specifically we need to only allow writes if the policy prefix allows for a wider set of names than the prefix selector on the resource. We should also not allow policies with exact names for prefix matches.

Part of [NET-3993]

* NET-6239: Temporarily disable verify envoy check (#19299)

* skip verify envoy version

* cleanup

* Update supported Envoy versions (#19276)

* mesh: provide missing domain to route configurations in ProxyStateTemplate (#19298)

* add empty domains

* update unit tests

* enable verify envoy script (#19303)

* Vault CA bugfixes (#19285)

* Re-add retry logic to Vault token renewal

* Fix goroutine leak

* Add test for detecting goroutine leak

* Add changelog

* Rename tests

* Add comment

* Backout Envoy 1.28.0 (#19306)

* added ent to ce downgrade changes (#19311)

* added ent to ce downgrade changes

* added changelog

* added busl headers

* skip envoy version check in ci (#19315)

* Tenancy Bridge v2  (#19220)

* tenancy bridge v2 for v2 resources

* add missing copywrite headers

* remove branch name causing conflicts (#19319)

* mesh: ensure route configs are named uniquely per port (#19323)

* [NET-5327] Templated policies api/cli docs (#19270)

* More templated policies docs (#19312)

[NET-5327]More templated policies docs

* Fixing docs to add more templated policies references (#19335)

* Upgrade Consul UI to Node 18 (#19252)

* Upgrading node to node 18

* Ensure we're on latest version of yarn as well

* add comma to make frontend tests run

* Use Node 18 Alpine image in UI build dockerfile

* delete package-lock.json

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>

* resource: default peername to local in list endpoints (#19340)

* Add grpc keepalive configuration. (#19339)

Prior to the introduction of this configuration, grpc keepalive messages were
sent after 2 hours of inactivity on the stream. This posed issues in various
scenarios where the server-side xds connection balancing was unaware that envoy
instances were uncleanly killed / force-closed, since the connections would
only be cleaned up after ~5 minutes of TCP timeouts occurred. Setting this
config to a 30 second interval with a 20 second timeout ensures that at most,
it should take up to 50 seconds for a dead xds connection to be closed.

* bump raft-wal version to 0.4.1 (#19314)

* bump raft-wal version to 0.4.1

* changelog

* go mod tidy integration tests

* go mod tidy test-integ

* NET-5397 - wire up destination golden tests from sidecar-proxy controller for xds controller and xdsv2 (#19167)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* fixing test after route fix merged into main

* gvk partial inference (#19058)

* gvk partial inference

* NET-6079 - wire up sidecarproxy golden file inputs into xds controller - sources (#19241)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* fixing test after route fix merged into main

* first source test works

* WIP

* modify all source files

* source tests pass

* fixing tests after bug fix in main

* NET-6080 - xds controller golden file inputs into xds resources - destinations (#19244)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* fixing test after route fix merged into main

* first source test works

* WIP

* modify all source files

* source tests pass

* fixing tests after bug fix in main

* got first destination working.

* adding destinations

* fix docstring for test

* fixing tests after bug fix in main

* NET-6081 - xds controller golden file inputs into xds resources - sources (#19250)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* fixing test after route fix merged into main

* first source test works

* WIP

* modify all source files

* source tests pass

* fixing tests after bug fix in main

* got first destination working.

* adding destinations

* fix docstring for test

* fixing tests after bug fix in main

* adding source proxies

* fixing tests after bug fix in main

* got first destination working.

* adding destinations

* fix docstring for test

* fixing tests after bug fix in main

* got first destination working.

* adding destinations

* fix docstring for test

* fixing tests after bug fix in main

* Use strict DNS for mesh gateways with hostnames (#19268)

* Use strict DNS for mesh gateways with hostnames

* Add changelog

* [NET-6305] xds: Ensure v2 route match and protocol are populated for gRPC (#19343)

* xds: Ensure v2 route match is populated for gRPC

Similar to HTTP, ensure that route match config (which is required by
Envoy) is populated when default values are used.

Because the default matches generated for gRPC contain a single empty
`GRPCRouteMatch`, and that proto does not directly support prefix-based
config, an interpretation of the empty struct is needed to generate the
same output that the `HTTPRouteMatch` is explicitly configured to
provide in internal/mesh/internal/controllers/routes/generate.go.

* xds: Ensure protocol set for gRPC resources

Add explicit protocol in `ProxyStateTemplate` builders and validate it
is always set on clusters. This ensures that HTTP filters and
`http2_protocol_options` are populated in all the necessary places for
gRPC traffic and prevents future unintended omissions of non-TCP
protocols.

Co-authored-by: John Murret <john.murret@hashicorp.com>

---------

Co-authored-by: John Murret <john.murret@hashicorp.com>

* Add clarification for route match behavior (#19363)

* Add clarification for route match behavior

* Update website/content/docs/connect/config-entries/service-defaults.mdx

Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>

---------

Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>

* Fix 1.17.x release notes and added templated policies (#19370)

* docs - release notes (add enterprise label and example of non compatible service name) (#19377)

* Update v1_17_x.mdx

* Update v1_17_x.mdx

* feat: read resource namespace (#19320)

* test: add missing tests for read resource namespace

* refactor: remove redundant test

* refactor: rename import aliases

* fix: typo var name

* refctor: remove another redundant test

* Net 5875 - Create the Exported Services Resources (#19117)

* init

* computed exported service

* make proto

* exported services resource

* exported services test

* added some tests and namespace exported service

* partition exported services

* computed service

* computed services tests

* register types

* fix comment

* make proto lint

* fix proto format make proto

* make codegen

* Update proto-public/pbmulticluster/v1alpha1/computed_exported_services.proto

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* Update internal/multicluster/internal/types/computed_exported_services.go

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* using different way of resource creation in tests

* make proto

* fix computed exported services test

* fix tests

* differnet validation for computed services for ent and ce

* Acls for exported services

* added validations for enterprise features in ce

* fix error

* fix acls test

* Update internal/multicluster/internal/types/validation_exported_services_ee.go

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* removed the create method

* update proto

* removed namespace

* created seperate function for ce and ent

* test files updated and validations fixed

* added nil checks

* fix tests

* added comments

* removed tenancy check

* added mutation function

* fix mutation method

* fix list permissions in test

* fix pr comments

* fix tests

* lisence

* busl license

* Update internal/multicluster/internal/types/helpers_ce.go

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* Update internal/multicluster/internal/types/helpers_ce.go

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* Update internal/multicluster/internal/types/helpers_ce.go

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* make proto

* some pr comments addressed

* some pr comments addressed

* acls helper

* some comment changes

* removed unused files

* fixes

* fix function in file

* caps

* some positioing

* added test for validation error

* fix names

* made valid a function

* remvoed patch

* removed mutations

* v2 beta1

* v2beta1

* rmeoved v1alpha1

* validate error

* merge ent

* some nits

* removed dup func

* removed nil check

---------

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>

* test: add missing tests for list endpoint (#19364)

* Add enterprise label for rate limiting (#19384)

* test deployer: fix a bug when deploying cluster with various ent images (#19381)

* Stop use of templated-policy and templated-policy-file simultaneously (#19389)

* Resource Hook Pre-Decode Utilities (#18548)

Add some generic type hook wrappers to first decode the data

There seems to be a pattern for Validation, Mutation and Write Authorization hooks where they first need to decode the Any data before doing the domain specific work.

This PR introduces 3 new functions to generate wrappers around the other hooks to pre-decode the data into a DecodedResource and pass that in instead of the original pbresource.Resource.

This PR also updates the various catalog data types to use the new hook generators.

* resource: resource service now checks for `v2tenancy` feature flag (#19400)

* Fix casing in example yaml config (#19369)

* Delete unused files (#19402)

* NET-6294 - v1 Agentless proxycfg datasource errors after v2 changes (#19365)

* increasing unit tests timeout from 10m to 30m (#19423)

* [NET-6138] security: Bump `google.golang.org/grpc` to 1.56.3 (CVE-2023-44487) (#19414)

Bump google.golang.org/grpc to 1.56.3

This resolves [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487).

Co-authored-by: Chris Thain <chris.m.thain@gmail.com>

* Update multi-port examples to remove spec.template.metadata.name (#19430)

* integ test: snapshot mesh frozen bug test (#19435)

* integ test: snapshot mesh frozen bug test

* docs - Update k8s compat matrix  (#19378)

* Update compatibility.mdx

* Update README.md (#19413)

* Fix typo in kind for JWT config on API Gateway (#19441)

* NET-5186 Add NET_BIND_SERVICE capability to consul-dataplane requirements (#18512)

* Add NET_BIND_SERVICE capability to list of consul-dataplane requirements

* Add link to related Kubernetes documentation

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

---------

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

* added redirect for conf entries 1.8.x (#19460)

* Update docs for service splitter example typo (#19469)

* Regen expired test certs (#19476)

* build: ensure we pull through the hashicorp proxy instead of going directly to the docker hub (#19482)

* temporarily disallow L7 traffic permissions (#19322)

* Source / local_app golden tests to include all protocols. (#19436)

* cover all protocols in local_app golden tests

* fix xds tests

* updating latest

* fix broken test

* add sorting of routers to TestBuildLocalApp to get rid of the flaking

* [NET-5916] Fix locality-aware routing config and tests (CE) (#19483)

Fix locality-aware routing config and tests

* testing/deployer: update deployer to use v2 catalog constructs when requested (#19046)

This updates the testing/deployer (aka "topology test") framework to conditionally 
configure and launch catalog constructs using v2 resources. This is controlled via a 
Version field on the Node construct in a topology.Config. This only functions for a 
dataplane type and has other restrictions that match the rest of v2 (no peering, no 
wanfed, no mesh gateways).

Like config entries, you can statically provide a set of initial resources to be synced 
when bringing up the cluster (beyond those that are generated for you such as 
workloads, services, etc).

If you want to author a test that can be freely converted between v1 and v2 then that 
is possible. If you switch to the multi-port definition on a topology.Service (aka 
"workload/instance") then that makes v1 ineligible.

This also adds a starter set of "on every PR" integration tests for single and multiport 
under test-integ/catalogv2

* resource: misc finalizer apis (#19474)

* testing/deployer: support tproxy in v2 for dataplane (#19094)

This updates the testing/deployer (aka "topology test") framework to allow for a 
v2-oriented topology to opt services into enabling TransparentProxy. The restrictions 
are similar to that of #19046

The multiport Ports map that was added in #19046 was changed to allow for the 
protocol to be specified at this time, but for now the only supported protocol is TCP 
as only L4 functions currently on main.

As part of making transparent proxy work, the DNS server needed a new zonefile 
for responding to virtual.consul requests, since there is no Kubernetes DNS and 
the Consul DNS work for v2 has not happened yet. Once Consul DNS supports v2 we should switch over. For now the format of queries is:

<service>--<namespace>--<partition>.virtual.consul

Additionally:

- All transparent proxy enabled services are assigned a virtual ip in the 10.244.0/24
  range. This is something Consul will do in v2 at a later date, likely during 1.18.
- All services with exposed ports (non-mesh) are assigned a virtual port number for use
  with tproxy
- The consul-dataplane image has been made un-distroless, and gotten the necessary
  tools to execute consul connect redirect-traffic before running dataplane, thus simulating
  a kubernetes init container in plain docker.

* update v2 changelog (#19446)

* NET-6319 - L7 routes have statePrefix of upstream. and should have a full path (#19473)

* resource: finalizer aware delete endpoint (2 of 5) (#19493)

resource: make delete endpoint finalizer aware

* build: dependency updates for 1.17.0 (#19453)

* chore: apply enterprise changes that were missed to some testing files (#19504)

This should align between CE ef35525 and ENT 7f95226dbe40151c8f17dd4464784b60cf358dc1 in:

- testing/integration/consul-container
- test-integ
- testing/deployer

* Net-6291/fix/watch resources (#19467)

* fix: update watch endpoint to default based on scope

* test: additional test

* refactor: rename list validate function

* refactor: rename validate<Op>Request() -> ensure<Op>RequestValid() for consistency

* XDS V1 should not make runs for TCP Disco Chains. (#19496)

* XDS V1 should not make runs for TCP Disco Chains.

* update TestEnvoyExtenderWithSnapshot

* testing: disable v2 linkage to nodes in integration tests (#19509)

* Shuffle CICD tests to spread worker load. (#19501)

* [NET-6459] Fix issue with wanfed lan ip conflicts. (#19503)

Fix issue with wanfed lan ip conflicts.

Prior to this commit, the connection pools were unaware which datacenter the
connection was associated with. This meant that any time servers with
overlapping LAN IP addresses and node shortnames existed, they would be
incorrectly co-located in the same pool. Whenever this occurred, the servers
would get stuck in an infinite loop of forwarding RPCs to themselves (rather
than the intended remote DC) until they eventually run out of memory.

Most notably, this issue can occur whenever wan federation through mesh
gateways is enabled.

This fix adds extra metadata to specify which DC the connection is associated
with in the pool.

* CC-5545: Side Nav (#19342)

* Initial work for sidenav

* Use HDS::Text

* Add resolution for ember-element-helper

* WIP dc selector

* Update HCP Home link

* DC selector

* Hook up remaining selectors

* Fix settings and tutorial links

* Remove comments

* Remove skip-links

* Replace auth with new dropdown

* Use href-to helper for sidenav links

* Changelog

* Add description to NavSelector

* Wrap version in footer and role

* Fix login tests

* Add data-test selectors for namespaces

* Fix datacenter disclosure menu test

* Stop rendering auth dialog if acls are disabled

* Update disabled selector state and token selector

* Fix logic in ACL selector

* Fix HCP Home integration test

* Remove toggling the sidenav in tests

* Add sidenav to eng docs

* Re-add debug navigation for eng docs

* Remove ember-in-viewport

* Remove unused styles

* Upgrade @hashicorp/design-system-componentseee

* Add translations for side-nav

* Only show back to hcp link if url is present

* Disable responsive due to a11y-dialog issue

* fixed typos in redirect for api gateways

* backport of commit 7f84855aa8

* backport of commit d78a0efe8c

* backport of commit 655ebb4864

---------

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: Ashwin Venkatesh <ashwin@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: modrake <12264057+modrake@users.noreply.github.com>
Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Hut <tophernuts@gmail.com>
Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Sophie Gairo <97480023+sophie-gairo@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Anita Akaeze <anita.akaeze@hashicorp.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: aahel <aahel.guha@hashicorp.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Chris Thain <chris.m.thain@gmail.com>
Co-authored-by: skpratt <sarah.pratt@hashicorp.com>
Co-authored-by: trujillo-adam <ajosetru@gmail.com>
2023-11-06 17:29:58 +00:00
hc-github-team-consul-core 2f0d638fa4
Backport of [NET-6459] Fix issue with wanfed lan ip conflicts. into release/1.17.x (#19523)
backport of commit a47995f72d

Co-authored-by: Derek Menteer <derek.menteer@hashicorp.com>
2023-11-06 15:07:14 +00:00
hc-github-team-consul-core b0d25d7909
Backport of Shuffle CICD tests to spread worker load. into release/1.17.x (#19520)
backport of commit b8a18c4fac

Co-authored-by: Derek Menteer <derek.menteer@hashicorp.com>
2023-11-06 14:43:40 +00:00
hc-github-team-consul-core 3e0240caba
Backport of [NET-5916] Fix locality-aware routing config and tests (CE) into release/1.17.x (#19491)
backport of commit c0203fbcb5

Co-authored-by: Derek Menteer <derek.menteer@hashicorp.com>
2023-11-03 17:06:57 -05:00
hc-github-team-consul-core da38209e8c
Backport of testing: disable v2 linkage to nodes in integration tests into release/1.17.x (#19510)
backport of commit ebc913ffbd

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2023-11-03 21:20:13 +00:00
hc-github-team-consul-core 757651b82a
Backport of chore: apply enterprise changes that were missed to some testing files into release/1.17.x (#19507)
chore: apply enterprise changes that were missed to some testing files (#19504)

This should align between CE ef35525 and ENT 7f95226dbe40151c8f17dd4464784b60cf358dc1 in:

- testing/integration/consul-container
- test-integ
- testing/deployer

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2023-11-03 17:05:09 +00:00
Dan Stough 27cffd396d
Backport `1.17.x` - build: dependency updates for 1.17.0 (#19455)
build: dependency updates for 1.17.0
2023-11-03 11:44:34 -04:00
hc-github-team-consul-core 5a20bc4530
Backport of update v2 changelog into release/1.17.x (#19495)
backport of commit 52a00721b2

Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
2023-11-02 22:18:43 +00:00
hc-github-team-consul-core 37ef09c43e
Backport of testing/deployer: support tproxy in v2 for dataplane into release/1.17.x (#19494)
testing/deployer: support tproxy in v2 for dataplane (#19094)

This updates the testing/deployer (aka "topology test") framework to allow for a 
v2-oriented topology to opt services into enabling TransparentProxy. The restrictions 
are similar to that of #19046

The multiport Ports map that was added in #19046 was changed to allow for the 
protocol to be specified at this time, but for now the only supported protocol is TCP 
as only L4 functions currently on main.

As part of making transparent proxy work, the DNS server needed a new zonefile 
for responding to virtual.consul requests, since there is no Kubernetes DNS and 
the Consul DNS work for v2 has not happened yet. Once Consul DNS supports v2 we should switch over. For now the format of queries is:

<service>--<namespace>--<partition>.virtual.consul

Additionally:

- All transparent proxy enabled services are assigned a virtual ip in the 10.244.0/24
  range. This is something Consul will do in v2 at a later date, likely during 1.18.
- All services with exposed ports (non-mesh) are assigned a virtual port number for use
  with tproxy
- The consul-dataplane image has been made un-distroless, and gotten the necessary
  tools to execute consul connect redirect-traffic before running dataplane, thus simulating
  a kubernetes init container in plain docker.

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2023-11-02 21:49:15 +00:00
wangxinyi7 7be5fd7aff
backport a merged PR: gvk partial inference (#19058) (#19490)
gvk partial inference (#19058)

* gvk partial inference
2023-11-02 13:48:37 -07:00
hc-github-team-consul-core 2b4d96a45e
Backport of testing/deployer: update deployer to use v2 catalog constructs when requested into release/1.17.x (#19492)
testing/deployer: update deployer to use v2 catalog constructs when requested (#19046)

This updates the testing/deployer (aka "topology test") framework to conditionally 
configure and launch catalog constructs using v2 resources. This is controlled via a 
Version field on the Node construct in a topology.Config. This only functions for a 
dataplane type and has other restrictions that match the rest of v2 (no peering, no 
wanfed, no mesh gateways).

Like config entries, you can statically provide a set of initial resources to be synced 
when bringing up the cluster (beyond those that are generated for you such as 
workloads, services, etc).

If you want to author a test that can be freely converted between v1 and v2 then that 
is possible. If you switch to the multi-port definition on a topology.Service (aka 
"workload/instance") then that makes v1 ineligible.

This also adds a starter set of "on every PR" integration tests for single and multiport 
under test-integ/catalogv2

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2023-11-02 19:53:41 +00:00
hc-github-team-consul-core 33c9574e8b
Backport of temporarily disallow L7 traffic permissions into release/1.17.x (#19488)
backport of commit 3ed40f6a94

Co-authored-by: skpratt <sarah.pratt@hashicorp.com>
2023-11-02 18:36:38 +00:00
hc-github-team-consul-core 33e9e6de0d
Backport of build: ensure we pull through the hashicorp proxy instead of going directly to the docker hub into release/1.17.x (#19486)
backport of commit 5ab1e9888e

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2023-11-02 18:20:45 +00:00
hc-github-team-consul-core e557c80e9c
Backport of Regen expired test certs into release/1.17.x (#19479)
backport of commit d399654096

Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
2023-11-02 15:48:43 +00:00
hc-github-team-consul-core 481ab8f145
Backport of Update docs for service splitter example typo into release/1.17.x (#19471)
backport of commit 81c9697995

Co-authored-by: jm96441n <john.maguire@hashicorp.com>
2023-11-01 19:09:23 +00:00
hc-github-team-consul-core 412e8ea0ba
Backport of added redirect for conf entries 1.8.x into release/1.17.x (#19466)
backport of commit 21f193c9eb

Co-authored-by: trujillo-adam <ajosetru@gmail.com>
2023-11-01 17:49:32 +00:00
hc-github-team-consul-core 0a9c64783a
Backport of NET-5186 Add NET_BIND_SERVICE capability to consul-dataplane requirements into release/1.17.x (#19452)
* backport of commit a10c94df56

* backport of commit 91ab4ec91d

---------

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
2023-10-31 18:19:40 +00:00
hc-github-team-consul-core f7d50713c3
Backport of Fix typo in kind for JWT config on API Gateway into release/1.17.x (#19448)
backport of commit 431bbb9ce5

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
2023-10-31 18:11:02 +00:00
hc-github-team-consul-core 18692b9dc2
Backport of docs - Update k8s compat matrix into release/1.17.x (#19442)
* backport of commit 2290dba03d

* backport of commit 6058722bd8

---------

Co-authored-by: David Yu <dyu@hashicorp.com>
2023-10-31 15:45:10 +00:00
hc-github-team-consul-core 3872b655c9
Backport of integ test: snapshot mesh frozen bug test into release/1.17.x (#19437)
* backport of commit ecdc482f4e

* backport of commit 458449ecb7

* backport of commit 6a7d602d8a

* backport of commit 3d5b425e4e

---------

Co-authored-by: cskh <hui.kang@hashicorp.com>
2023-10-30 22:39:23 +00:00
hc-github-team-consul-core 415ae8bd1b
Backport of Update multi-port examples to remove spec.template.metadata.name into release/1.17.x (#19434)
backport of commit e9006e6548

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2023-10-30 18:03:06 +00:00
Michael Zalimeni 4c3c32d05e
Backport of [NET-6138] security: Bump google.golang.org/grpc to 1.56.3 (CVE-2023-44487) to release/1.17.x (#19417)
Bump google.golang.org/grpc to 1.56.3

This resolves [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487).

Co-authored-by: Chris Thain <chris.m.thain@gmail.com>
2023-10-30 08:45:42 -04:00
hc-github-team-consul-core 9f85516e7d
Backport of NET-6294 - v1 Agentless proxycfg datasource errors after v2 changes into release/1.17.x (#19416)
backport of commit fa50df4b2d

Co-authored-by: John Murret <john.murret@hashicorp.com>
2023-10-27 21:04:20 +00:00
hc-github-team-consul-core 116be6db88
Backport of Delete unused files into release/1.17.x (#19410)
backport of commit 4804558b21

Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
2023-10-27 14:45:40 +00:00
hc-github-team-consul-core fb80da2fc7
Backport of Fix casing in example yaml config into release/1.17.x (#19408)
backport of commit 2da2736c3c

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
2023-10-27 14:22:58 +00:00
hc-github-team-consul-core b7055a096e
Backport of Use strict DNS for mesh gateways with hostnames into release/1.17.x (#19396)
* backport of commit e9eabcb3b3

* backport of commit 013de0bce9

---------

Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
2023-10-26 20:28:45 +00:00
David Yu 4a28622d92
docs: Update dns-configuration.mdx (#19392)
* Update dns-configuration.mdx
2023-10-26 19:35:22 +00:00
hc-github-team-consul-core ebc7d4ee04
Backport of Stop use of templated-policy and templated-policy-file simultaneously into release/1.17.x (#19390)
backport of commit 2c5af2ffd8

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
2023-10-26 19:02:47 +00:00
hc-github-team-consul-core ae4d6577ca
Backport of Add enterprise label for rate limiting into release/1.17.x (#19387)
* backport of commit b9249e25d8

* backport of commit 93341a6e52

---------

Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
2023-10-26 16:21:50 +00:00
hc-github-team-consul-core d0d76eae2c
Backport of docs - release notes (add enterprise label and example of non compatible service name) into release/1.17.x (#19380)
* backport of commit 880d1519f1

* backport of commit 7fedfbac4c

---------

Co-authored-by: David Yu <dyu@hashicorp.com>
2023-10-26 01:53:25 +00:00
hc-github-team-consul-core eb1a0c78a2
Backport of Fix 1.17.x release notes and added templated policies into release/1.17.x (#19371)
backport of commit aeb0b22c50

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
2023-10-25 21:14:12 +00:00
hc-github-team-consul-core 54ee2b633e
Backport of Add clarification for route match behavior into release/1.17.x (#19368)
* backport of commit dba8d6721e

* backport of commit 436cc19464

---------

Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
2023-10-25 20:19:32 +00:00
hc-github-team-consul-core e6c6814c13
Backport of [NET-6305] xds: Ensure v2 route match and protocol are populated for gRPC into release/1.17.x (#19366)
* backport of commit 0a8fe0d94f

* backport of commit 74bf2aa8b0

---------

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
2023-10-25 19:12:18 +00:00
Tyler Wendlandt dbac27d916
Upgrade Consul UI to Node 18 (#19252) (#19362)
* Upgrade Consul UI to Node 18 (#19252)

* Upgrading node to node 18

* Ensure we're on latest version of yarn as well

* add comma to make frontend tests run

* Use Node 18 Alpine image in UI build dockerfile

* delete package-lock.json

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>

* Resetting node 14 on nightly test 1.13

---------

Co-authored-by: Chris Hut <tophernuts@gmail.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>
2023-10-25 10:21:01 -06:00
hc-github-team-consul-core 7d60b6ccb9
Backport of NET-6081 - xds controller golden file inputs into xds resources - sources into release/1.17.x (#19354)
no-op commit due to failed cherry-picking

Co-authored-by: temp <temp@hashicorp.com>
2023-10-24 20:32:14 +00:00
Dhia Ayachi 448f7b885d
1.17.x backport: bump raft-wal version to 0.4.1 (#19314) (#19356)
bump raft-wal version to 0.4.1 (#19314)

* bump raft-wal version to 0.4.1

* changelog

* go mod tidy integration tests

* go mod tidy test-integ
2023-10-24 19:51:27 +00:00
hc-github-team-consul-core 1c98afd997
Backport of NET-6080 - xds controller golden file inputs into xds resources - destinations into release/1.17.x (#19352)
* backport of commit f142c77956

* backport of commit 79eadd1afd

* backport of commit d269c63a99

* backport of commit 532aad4dbf

* backport of commit 2de83d470f

* backport of commit c8af477a30

* NET-6080 - xds controller golden file inputs into xds resources - destinations (#19244)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* fixing test after route fix merged into main

* first source test works

* WIP

* modify all source files

* source tests pass

* fixing tests after bug fix in main

* got first destination working.

* adding destinations

* fix docstring for test

* fixing tests after bug fix in main

---------

Co-authored-by: John Murret <john.murret@hashicorp.com>
2023-10-24 19:11:28 +00:00
hc-github-team-consul-core d15fd26e5d
Backport of NET-6079 - wire up sidecarproxy golden file inputs into xds controller - sources into release/1.17.x (#19351)
* server: run the api checks against the path without params (#19205)

* Clone proto into deepcopy correctly (#19204)

* chore: update version and nightly CI for 1.17 (#19208)

Update version file to 1.18-dev, and replace 1.13 nightly test with
1.17.

* mesh: add validation hook to proxy configuration (#19186)

* mesh: add more validations to Destinations resource (#19202)

* catalog, mesh: implement missing ACL hooks (#19143)

This change adds ACL hooks to the remaining catalog and mesh resources, excluding any computed ones. Those will for now continue using the default operator:x permissions.

It refactors a lot of the common testing functions so that they can be re-used between resources.

There are also some types that we don't yet support (e.g. virtual IPs) that this change adds ACL hooks to for future-proofing.

* NET-5073 - ProxyConfiguration: implement various connection options (#19187)

* NET-5073 - ProxyConfiguration: implement various connection options

* PR feedback - LocalConnection and InboundConnection do not affect exposed routes. configure L7 route destinations. fix connection proto sequence numbers.

* add timeout to L7 Route Destinations

* Relplat 897 copywrite bot workarounds (#19200)

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>

* mesh: add xRoute ACL hook tenancy tests (#19177)

Enhance the xRoute ACL hook tests to cover tenanted situations.
These tests will only execute in enterprise.

* resource: enforce lowercase v2 resource names (#19218)

* mesh: add DestinationPolicy ACL hook tenancy tests (#19178)

Enhance the DestinationPolicy ACL hook tests to cover tenanted situations.
These tests will only execute in enterprise.

* catalog: add FailoverPolicy ACL hook tenancy test (#19179)

* docs: Multi-port corrections (#19224)

* typo fixes and instruction corrections

* typo

* link path correction

* Add reason why port 53 is not used by default (#19222)

* Update dns-configuration.mdx

* Update website/content/docs/services/discovery/dns-configuration.mdx

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>

* v2tenancy: rename v1alpha1 -> v2beta1 (#19227)

* [NET-5944] security: Update Go version to 1.20.10 and `x/net` to 0.17.0 (#19225)

* Bump golang.org/x/net to 0.17.0

This resolves [CVE-2023-39325](https://nvd.nist.gov/vuln/detail/CVE-2023-39325)
/ [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487).

* Update Go version to 1.20.10

This resolves [CVE-2023-39325](https://nvd.nist.gov/vuln/detail/CVE-2023-39325)
/ [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487)
(`net/http`).

* NET-6097 - sidecar proxy controller - give name to first failover policy target (#19239)

* Cc 5545: Upgrade HDS packages and modifiers (#19226)

* Upgrade @hashicorp/design-system-tokens to 1.9.0

* Upgrade @hashicorp/design-system-components to 1.8.1

* Upgrade @hashicorp/design-system-components and ember-in-viewport

* Explicitly install ember-modifier@4.1.0

* rename copy-button

* Fix how cleanup is done in with-copyable

* Update aria-menu modifier for new structure

* Update css-prop modifier to new structure

* Convert did-upsert to regular class modifier

* Update notification modifier for new structure

* Update on-oustside modifier for new structure

* Move destroy handler registration in with-copyable

* Update style modifier for new structure

* Update validate modifier for new structure

* Guard against setting on destroyed object

* Upgrade @hashicorp/design-system-components to 2.14.1

* Remove debugger

* Guard against null in aria-menu

* Fix undefined hash in validate addon

* Upgrade ember-on-resize-modifier

* Fix copy button import, missing import and array destructuring

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>

* [NET-5810] CE changes for multiple virtual hosts (#19246)

CE changes for multiple virtual hosts

* Net 4893- Ensure we're testing all the latest versions of Vault/Nomad (#19119)

* NET-5592 - update Nomad integration testing

* NET-4893: Ensure we're testing all the latest versions of Vault/Nomad

* docs: Fix example control-plane-request-limit HCL and JSON (#19105)

The control-plane-request-limit config entry does not support
specifying parameter names in snake case format.

This commit updates the HCL and JSON examples to use the supported
camel case key format.

* test: add 1.17 nightly integrations test (#19253)

* fix expose paths (#19257)

When testing adding http probes to apps, I ran into some issues which I fixed here:
- The listener should be listening on the exposed listener port, updated that.
- The listener and route names were pointing to the path of the exposed path. In my test, the path was "/" resulting in an empty string path. Also, the path may not be unique across exposed path listeners, so I decided to use the path+exposed port as the unique identifier.

* docs: Multiport HCP constraint update (#19261)

* Add sentence

* link text adjustment

* docs: Fix multi-port install (#19262)

* Update configure.mdx

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

* Prevent circular dependencies between v2 resources and generate a mermaid diagram with their dependencies (#19230)

* build(docker): always publish full and minor version tags for dev images (#19278)

* fix nightly integration test: envoy version and n-2 version (#19286)

* [NET-6221] Ensure LB policy set for locality-aware routing (CE) (#19283)

Ensure LB policy set for locality-aware routing (CE)

`overprovisioningFactor` should be overridden with the expected value
(100,000) when there are multiple endpoint groups. Update code and
tests to enforce this.

This is an Enterprise feature. This commit represents the CE portions of
the change; tests are added in the corresponding `consul-enterprise`
change.

* fix: allow snake case keys for ip based rate limit config entry (#19277)

* fix: allow snake case keys for ip based rate limit config entry

* chore: add changelog

* reformatted the JSON schema server conf ref (#19288)

* acls,catalog,mesh: properly authorize workload selectors on writes (#19260)

To properly enforce writes on resources that have workload selectors with prefixes, we need another service authorization rule that allows us to check whether read is allowed within a given prefix. Specifically we need to only allow writes if the policy prefix allows for a wider set of names than the prefix selector on the resource. We should also not allow policies with exact names for prefix matches.

Part of [NET-3993]

* NET-6239: Temporarily disable verify envoy check (#19299)

* skip verify envoy version

* cleanup

* Update supported Envoy versions (#19276)

* mesh: provide missing domain to route configurations in ProxyStateTemplate (#19298)

* add empty domains

* update unit tests

* enable verify envoy script (#19303)

* Vault CA bugfixes (#19285)

* Re-add retry logic to Vault token renewal

* Fix goroutine leak

* Add test for detecting goroutine leak

* Add changelog

* Rename tests

* Add comment

* Backout Envoy 1.28.0 (#19306)

* added ent to ce downgrade changes (#19311)

* added ent to ce downgrade changes

* added changelog

* added busl headers

* skip envoy version check in ci (#19315)

* Tenancy Bridge v2  (#19220)

* tenancy bridge v2 for v2 resources

* add missing copywrite headers

* remove branch name causing conflicts (#19319)

* mesh: ensure route configs are named uniquely per port (#19323)

* [NET-5327] Templated policies api/cli docs (#19270)

* More templated policies docs (#19312)

[NET-5327]More templated policies docs

* Fixing docs to add more templated policies references (#19335)

* Upgrade Consul UI to Node 18 (#19252)

* Upgrading node to node 18

* Ensure we're on latest version of yarn as well

* add comma to make frontend tests run

* Use Node 18 Alpine image in UI build dockerfile

* delete package-lock.json

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>

* resource: default peername to local in list endpoints (#19340)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* fixing test after route fix merged into main

* first source test works

* WIP

* modify all source files

* backport of commit 17a76f6e24

* backport of commit de5a7c0e11

* backport of commit eb8e27cc48

---------

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: Ashwin Venkatesh <ashwin@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: modrake <12264057+modrake@users.noreply.github.com>
Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Hut <tophernuts@gmail.com>
Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Sophie Gairo <97480023+sophie-gairo@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Anita Akaeze <anita.akaeze@hashicorp.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: aahel <aahel.guha@hashicorp.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>
2023-10-24 19:09:51 +00:00
hc-github-team-consul-core 10f5181281
Backport of NET-5397 - wire up destination golden tests from sidecar-proxy controller for xds controller and xdsv2 into release/1.17.x (#19350)
* server: run the api checks against the path without params (#19205)

* Clone proto into deepcopy correctly (#19204)

* chore: update version and nightly CI for 1.17 (#19208)

Update version file to 1.18-dev, and replace 1.13 nightly test with
1.17.

* mesh: add validation hook to proxy configuration (#19186)

* mesh: add more validations to Destinations resource (#19202)

* catalog, mesh: implement missing ACL hooks (#19143)

This change adds ACL hooks to the remaining catalog and mesh resources, excluding any computed ones. Those will for now continue using the default operator:x permissions.

It refactors a lot of the common testing functions so that they can be re-used between resources.

There are also some types that we don't yet support (e.g. virtual IPs) that this change adds ACL hooks to for future-proofing.

* NET-5073 - ProxyConfiguration: implement various connection options (#19187)

* NET-5073 - ProxyConfiguration: implement various connection options

* PR feedback - LocalConnection and InboundConnection do not affect exposed routes. configure L7 route destinations. fix connection proto sequence numbers.

* add timeout to L7 Route Destinations

* Relplat 897 copywrite bot workarounds (#19200)

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>

* mesh: add xRoute ACL hook tenancy tests (#19177)

Enhance the xRoute ACL hook tests to cover tenanted situations.
These tests will only execute in enterprise.

* resource: enforce lowercase v2 resource names (#19218)

* mesh: add DestinationPolicy ACL hook tenancy tests (#19178)

Enhance the DestinationPolicy ACL hook tests to cover tenanted situations.
These tests will only execute in enterprise.

* catalog: add FailoverPolicy ACL hook tenancy test (#19179)

* docs: Multi-port corrections (#19224)

* typo fixes and instruction corrections

* typo

* link path correction

* Add reason why port 53 is not used by default (#19222)

* Update dns-configuration.mdx

* Update website/content/docs/services/discovery/dns-configuration.mdx

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>

* v2tenancy: rename v1alpha1 -> v2beta1 (#19227)

* [NET-5944] security: Update Go version to 1.20.10 and `x/net` to 0.17.0 (#19225)

* Bump golang.org/x/net to 0.17.0

This resolves [CVE-2023-39325](https://nvd.nist.gov/vuln/detail/CVE-2023-39325)
/ [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487).

* Update Go version to 1.20.10

This resolves [CVE-2023-39325](https://nvd.nist.gov/vuln/detail/CVE-2023-39325)
/ [CVE-2023-44487](https://nvd.nist.gov/vuln/detail/CVE-2023-44487)
(`net/http`).

* NET-6097 - sidecar proxy controller - give name to first failover policy target (#19239)

* Cc 5545: Upgrade HDS packages and modifiers (#19226)

* Upgrade @hashicorp/design-system-tokens to 1.9.0

* Upgrade @hashicorp/design-system-components to 1.8.1

* Upgrade @hashicorp/design-system-components and ember-in-viewport

* Explicitly install ember-modifier@4.1.0

* rename copy-button

* Fix how cleanup is done in with-copyable

* Update aria-menu modifier for new structure

* Update css-prop modifier to new structure

* Convert did-upsert to regular class modifier

* Update notification modifier for new structure

* Update on-oustside modifier for new structure

* Move destroy handler registration in with-copyable

* Update style modifier for new structure

* Update validate modifier for new structure

* Guard against setting on destroyed object

* Upgrade @hashicorp/design-system-components to 2.14.1

* Remove debugger

* Guard against null in aria-menu

* Fix undefined hash in validate addon

* Upgrade ember-on-resize-modifier

* Fix copy button import, missing import and array destructuring

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>

* [NET-5810] CE changes for multiple virtual hosts (#19246)

CE changes for multiple virtual hosts

* Net 4893- Ensure we're testing all the latest versions of Vault/Nomad (#19119)

* NET-5592 - update Nomad integration testing

* NET-4893: Ensure we're testing all the latest versions of Vault/Nomad

* docs: Fix example control-plane-request-limit HCL and JSON (#19105)

The control-plane-request-limit config entry does not support
specifying parameter names in snake case format.

This commit updates the HCL and JSON examples to use the supported
camel case key format.

* test: add 1.17 nightly integrations test (#19253)

* fix expose paths (#19257)

When testing adding http probes to apps, I ran into some issues which I fixed here:
- The listener should be listening on the exposed listener port, updated that.
- The listener and route names were pointing to the path of the exposed path. In my test, the path was "/" resulting in an empty string path. Also, the path may not be unique across exposed path listeners, so I decided to use the path+exposed port as the unique identifier.

* docs: Multiport HCP constraint update (#19261)

* Add sentence

* link text adjustment

* docs: Fix multi-port install (#19262)

* Update configure.mdx

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

* Prevent circular dependencies between v2 resources and generate a mermaid diagram with their dependencies (#19230)

* build(docker): always publish full and minor version tags for dev images (#19278)

* fix nightly integration test: envoy version and n-2 version (#19286)

* [NET-6221] Ensure LB policy set for locality-aware routing (CE) (#19283)

Ensure LB policy set for locality-aware routing (CE)

`overprovisioningFactor` should be overridden with the expected value
(100,000) when there are multiple endpoint groups. Update code and
tests to enforce this.

This is an Enterprise feature. This commit represents the CE portions of
the change; tests are added in the corresponding `consul-enterprise`
change.

* fix: allow snake case keys for ip based rate limit config entry (#19277)

* fix: allow snake case keys for ip based rate limit config entry

* chore: add changelog

* reformatted the JSON schema server conf ref (#19288)

* acls,catalog,mesh: properly authorize workload selectors on writes (#19260)

To properly enforce writes on resources that have workload selectors with prefixes, we need another service authorization rule that allows us to check whether read is allowed within a given prefix. Specifically we need to only allow writes if the policy prefix allows for a wider set of names than the prefix selector on the resource. We should also not allow policies with exact names for prefix matches.

Part of [NET-3993]

* NET-6239: Temporarily disable verify envoy check (#19299)

* skip verify envoy version

* cleanup

* Update supported Envoy versions (#19276)

* mesh: provide missing domain to route configurations in ProxyStateTemplate (#19298)

* add empty domains

* update unit tests

* enable verify envoy script (#19303)

* Vault CA bugfixes (#19285)

* Re-add retry logic to Vault token renewal

* Fix goroutine leak

* Add test for detecting goroutine leak

* Add changelog

* Rename tests

* Add comment

* Backout Envoy 1.28.0 (#19306)

* added ent to ce downgrade changes (#19311)

* added ent to ce downgrade changes

* added changelog

* added busl headers

* skip envoy version check in ci (#19315)

* Tenancy Bridge v2  (#19220)

* tenancy bridge v2 for v2 resources

* add missing copywrite headers

* remove branch name causing conflicts (#19319)

* mesh: ensure route configs are named uniquely per port (#19323)

* [NET-5327] Templated policies api/cli docs (#19270)

* More templated policies docs (#19312)

[NET-5327]More templated policies docs

* Fixing docs to add more templated policies references (#19335)

* Upgrade Consul UI to Node 18 (#19252)

* Upgrading node to node 18

* Ensure we're on latest version of yarn as well

* add comma to make frontend tests run

* Use Node 18 Alpine image in UI build dockerfile

* delete package-lock.json

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>

* resource: default peername to local in list endpoints (#19340)

* NET-5397 - wire up golden tests from sidecar-proxy controller for xds controller and xdsv2

* WIP

* WIP

* everything matching except leafCerts.  need to mock those

* single port destinations working except mixed destinations

* golden test input to xds controller tests for destinations

* proposed fix for failover group naming errors

* clean up test to use helper.

* clean up test to use helper.

* fix test file

* add docstring for test function.

* add docstring for test function.

* fix linting error

* backport of commit b5fa4f29c8

* backport of commit e7ff94b3a6

---------

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: Ashwin Venkatesh <ashwin@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: modrake <12264057+modrake@users.noreply.github.com>
Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Hut <tophernuts@gmail.com>
Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Sophie Gairo <97480023+sophie-gairo@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Anita Akaeze <anita.akaeze@hashicorp.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: aahel <aahel.guha@hashicorp.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Ella Cai <ella.y.cai@gmail.com>
Co-authored-by: Ella Cai <ella@hashicorp.com>
2023-10-24 16:48:10 +00:00
Derek Menteer 8b35e087c5
Backport of Add grpc keepalive configuration (#19339) to 1.17.x (#19345)
Add grpc keepalive configuration. (#19339)

Prior to the introduction of this configuration, grpc keepalive messages were
sent after 2 hours of inactivity on the stream. This posed issues in various
scenarios where the server-side xds connection balancing was unaware that envoy
instances were uncleanly killed / force-closed, since the connections would
only be cleaned up after ~5 minutes of TCP timeouts occurred. Setting this
config to a 30 second interval with a 20 second timeout ensures that at most,
it should take up to 50 seconds for a dead xds connection to be closed.
2023-10-24 08:51:49 -05:00
hc-github-team-consul-core 6cb8ae41b1
Backport of Fixing docs to add more templated policies references into release/1.17.x (#19338)
backport of commit 147f267a7a

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
2023-10-23 15:52:37 +00:00
hc-github-team-consul-core e1cfbfe676
Backport of More templated policies docs into release/1.17.x (#19334)
backport of commit fec86e9668

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
2023-10-23 12:12:56 +00:00
hc-github-team-consul-core 7a756d995e
Backport of [NET-5327] Templated policies api/cli docs into release/1.17.x (#19333)
backport of commit 694d05555e

Co-authored-by: Ronald Ekambi <ronekambi@gmail.com>
2023-10-23 11:50:27 +00:00