Commit Graph

37 Commits (50bd623a5ff9fa9feec3e0dcefb2c75913a0bdd3)

Author SHA1 Message Date
hc-github-team-consul-core 15952b763a
Backport of test: fix some multiport deployer bugs and remove a container test already handled by deployer tests into release/1.17.x (#19652)
backport of commit eb13295e2b

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2023-11-15 16:44:22 +00:00
hc-github-team-consul-core aa9ecd0ad1
Backport of testing/deployer: rename various terms to better align with v2 and avoid confusion into release/1.17.x (#19604)
testing/deployer: rename various terms to better align with v2 and avoid confusion (#19600)

Conceptually renaming the following topology terms to avoid confusion with v2 and to better align with it:

- ServiceID -> ID
- Service -> Workload
- Upstream -> Destination

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2023-11-10 19:40:55 +00:00
hc-github-team-consul-core 3c327faf66
Backport of Integ test - use asserter into release/1.17.x (#19598)
* backport of commit bd637e04a1

---------

Co-authored-by: cskh <hui.kang@hashicorp.com>
2023-11-09 22:50:47 -05:00
hc-github-team-consul-core 9ee59566d3
Backport of test: add a v2 container integration test of xRoute splits into release/1.17.x (#19587)
[1.17.x] test: add a v2 container integration test of xRoute splits (#19570)

This adds a deployer-based integration test verifying that a 90/10 traffic
split works for: HTTPRoute, GRPCRoute, and TCPRoute.

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2023-11-08 23:44:20 +00:00
hc-github-team-consul-core 5343faac62
Backport of docs: spike of info about how to use deployer topology tests into release/1.17.x (#19588)
docs: spike of info about how to use deployer topology tests (#19576)

Initial developer facing docs on how to write deployer (topology) integration tests.

Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2023-11-08 23:33:13 +00:00
hc-github-team-consul-core 1d130e7dd2
Backport of test/deployer: add the method of deregistering services into release/1.17.x (#19568)
backport of commit 3e8146af23

Co-authored-by: cskh <hui.kang@hashicorp.com>
2023-11-07 22:52:46 +00:00
hc-github-team-consul-core d6ced68bfb
Backport of test: update deployer default images into release/1.17.x (#19556)
backport of commit 426b138e4c

Co-authored-by: R.B. Boyer <rb@hashicorp.com>
2023-11-07 19:34:43 +00:00
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 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
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 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
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 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
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
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 2dcda57490
Backport of [NET-5944] security: Update Go version to 1.20.10 and `x/net` to 0.17.0 into release/1.17.x (#19235)
* backport of commit d7d9de9564

* backport of commit 0794b1ce74

---------

Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
2023-10-16 22:09:58 +00:00
John Landa 9eaa8eb026
dns token (#17936)
* dns token

fix whitespace for docs and comments

fix test cases

fix test cases

remove tabs in help text

Add changelog

Peering dns test

Peering dns test

Partial implementation of Peered DNS test

Swap to new topology lib

expose dns port for integration tests on client

remove partial test implementation

remove extra port exposure

remove changelog from the ent pr

Add dns token to set-agent-token switch

Add enterprise golden file

Use builtin/dns template in tests

Update ent dns policy

Update ent dns template test

remove local gen certs

fix templated policy specs

* add changelog

* go mod tidy
2023-09-20 15:50:06 -06:00
cskh 9b497f8c78
CI: lint test-integ (#18875)
* CI: lint test-integ

* fix lint error
2023-09-19 10:05:51 -04:00
Ashesh Vidyut 6fd33ba30d
NET-4519 Collecting journald logs in "consul debug" bundle (#18797)
* debug since

* fix docs

* chagelog added

* fix go mod

* debug test fix

* fix test

* tabs test fix

* Update .changelog/18797.txt

Co-authored-by: Ganesh S <ganesh.seetharaman@hashicorp.com>

---------

Co-authored-by: Ganesh S <ganesh.seetharaman@hashicorp.com>
2023-09-19 08:46:50 +05:30
Dhia Ayachi b1688ad856
Run copyright after running deep-copy as part of the Makefile/CI (#18741)
* execute copyright headers after performing deep-copy generation.

* fix copyright install

* Apply suggestions from code review

Co-authored-by: Semir Patel <semir.patel@hashicorp.com>

* Apply suggestions from code review

Co-authored-by: Semir Patel <semir.patel@hashicorp.com>

* rename steps to match codegen naming

* remove copywrite install category

---------

Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
2023-09-11 13:50:52 -04:00
Nick Irvine 3569d702d5
ENT port: test-integ/peering: peer through mesh gateway [NET-4609] (#18605)
Co-authored-by: Matt Keeler <mjkeeler7@gmail.com>
2023-09-08 12:04:56 -04:00
Ronald bbef879f85
[NET-5325] ACL templated policies support in tokens and roles (#18708)
* [NET-5325] ACL templated policies support in tokens and roles
- Add API support for creating tokens/roles with templated-policies
- Add CLI support for creating tokens/roles with templated-policies

* adding changelog
2023-09-08 12:45:24 +00:00
Nick Irvine 373c7dc144
switch all client nodes in dc2 to dataplane [NET-4299] (#18608) 2023-09-06 23:46:34 +00:00
Semir Patel b96cff7436
resource: Require scope for resource registration (#18635) 2023-09-01 09:44:53 -05:00
Ashvitha 0f48b7af5e
[HCP Telemetry] Move first TelemetryConfig Fetch into the TelemetryConfigProvider (#18318)
* Add Enabler interface to turn sink on/off

* Use h for hcpProviderImpl vars, fix PR feeback and fix errors

* Keep nil check in exporter and fix tests

* Clarify comment and fix function name

* Use disable instead of enable

* Fix errors nit in otlp_transform

* Add test for refreshInterval of updateConfig

* Add disabled field in MetricsConfig struct

* Fix PR feedback: improve comment and remove double colons

* Fix deps test which requires a maybe

* Update hcp-sdk-go to v0.61.0

* use disabled flag in telemetry_config.go

* Handle 4XX errors in telemetry_provider

* Fix deps test

* Check 4XX instead

* Run make go-mod-tidy
2023-08-30 13:25:26 -04:00
Semir Patel 53e28a4963
OSS -> CE (community edition) changes (#18517) 2023-08-22 09:46:03 -05:00
hashicorp-copywrite[bot] 5fb9df1640
[COMPLIANCE] License changes (#18443)
* Adding explicit MPL license for sub-package

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Adding explicit MPL license for sub-package

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Updating the license from MPL to Business Source License

Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at <Blog URL>, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.

* add missing license headers

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

* Update copyright file headers to BUSL-1.1

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-08-11 09:12:13 -04:00
Dan Stough 948ce8bc23
build: updates for 1.16.1 release (#18415)
* build: updates for 1.16.1 release

* build: fix missing replace directive for envoyextensions

* build: go mod tidy testing/deployer
2023-08-09 17:12:34 -04:00
cskh 43d8898e08
bump testcontainers-go from 0.22.0 and remove pinned go version in in… (#18395)
* bump testcontainers-go from 0.22.0 and remove pinned go version in integ test

* go mod tidy

* Replace deprecated target.Authority with target.URL.Host
2023-08-08 18:08:14 +00:00
Michael Zalimeni 905e371607
[NET-5146] security: Update Go version to 1.20.7 and `x/net` to 0.13.0 (#18358)
* Update Go version to 1.20.7

This resolves [CVE-2023-29409]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29409)(`crypto/tls`).

* Bump golang.org/x/net to 0.13.0

Addresses [CVE-2023-3978](https://nvd.nist.gov/vuln/detail/CVE-2023-3978)
for security scans (non-impacting).
2023-08-02 13:10:29 -04:00
Ashesh Vidyut 67fc93e26d
NET-4240 - Snapshots are failing on Windows (#18302)
* fix go mod

* fix go sum

* added change log

* ran make go mod tidy
2023-08-02 08:14:35 +05:30
Ashvitha 828567c62e
[HCP Telemetry] Periodic Refresh for Dynamic Telemetry Configuration (#18168)
* OTElExporter now uses an EndpointProvider to discover the endpoint

* OTELSink uses a ConfigProvider to obtain filters and labels configuration

* improve tests for otel_sink

* Regex logic is moved into client for a method on the TelemetryConfig object

* Create a telemetry_config_provider and update deps to use it

* Fix conversion

* fix import newline

* Add logger to hcp client and move telemetry_config out of the client.go file

* Add a telemetry_config.go to refactor client.go

* Update deps

* update hcp deps test

* Modify telemetry_config_providers

* Check for nil filters

* PR review updates

* Fix comments and move around pieces

* Fix comments

* Remove context from client struct

* Moved ctx out of sink struct and fixed filters, added a test

* Remove named imports, use errors.New if not fformatting

* Remove HCP dependencies in telemetry package

* Add success metric and move lock only to grab the t.cfgHahs

* Update hash

* fix nits

* Create an equals method and add tests

* Improve telemetry_config_provider.go tests

* Add race test

* Add missing godoc

* Remove mock for MetricsClient

* Avoid goroutine test panics

* trying to kick CI lint issues by upgrading mod

* imprve test code and add hasher for testing

* Use structure logging for filters, fix error constants, and default to allow all regex

* removed hashin and modify logic to simplify

* Improve race test and fix PR feedback by removing hash equals and avoid testing the timer.Ticker logic, and instead unit test

* Ran make go-mod-tidy

* Use errtypes in the test

* Add changelog

* add safety check for exporter endpoint

* remove require.Contains by using error types, fix structure logging, and fix success metric typo in exporter

* Fixed race test to have changing config values

* Send success metric before modifying config

* Avoid the defer and move the success metric under
2023-08-01 17:20:18 -04:00
cskh c2066b9b22
NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
2023-07-20 21:30:22 -04:00
Anita Akaeze 271e5af155
update readme.md (#18191)
u[date readme.md
2023-07-19 18:24:55 -04:00
Michael Zalimeni 29cdb75d05
[NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0

While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.

See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.

Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
2023-07-19 11:37:58 -04:00
Nick Irvine cd3fc9e1d0
add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
2023-07-18 16:41:30 -07:00