2023-04-27 20:27:39 +00:00
|
|
|
package bootstrap
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"crypto/tls"
|
|
|
|
"crypto/x509"
|
|
|
|
"fmt"
|
|
|
|
"net/http/httptest"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/hashicorp/consul/agent/config"
|
|
|
|
"github.com/hashicorp/consul/agent/hcp"
|
HCP Telemetry Feature (#17460)
* Move hcp client to subpackage hcpclient (#16800)
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] OTELExporter (#17128)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* [HCP Observability] OTELSink (#17159)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Fix nits
* [HCP Observability] Init OTELSink in Telemetry (#17162)
* Move hcp client to subpackage hcpclient (#16800)
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* [HCP Observability] OTELExporter (#17128)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Initialize OTELSink with sync.Map for all the instrument stores.
* Added telemetry agent to client and init sink in deps
* Fixed client
* Initalize sink in deps
* init sink in telemetry library
* Init deps before telemetry
* Use concrete telemetry.OtelSink type
* add /v1/metrics
* Avoid returning err for telemetry init
* move sink init within the IsCloudEnabled()
* Use HCPSinkOpts in deps instead
* update golden test for configuration file
* Switch to using extra sinks in the telemetry library
* keep name MetricsConfig
* fix log in verifyCCMRegistration
* Set logger in context
* pass around MetricSink in deps
* Fix imports
* Rebased onto otel sink pr
* Fix URL in test
* [HCP Observability] OTELSink (#17159)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Fix nits
* pass extraSinks as function param instead
* Add default interval as package export
* remove verifyCCM func
* Add clusterID
* Fix import and add t.Parallel() for missing tests
* Kick Vercel CI
* Remove scheme from endpoint path, and fix error logging
* return metrics.MetricSink for sink method
* Update SDK
* [HCP Observability] Metrics filtering and Labels in Go Metrics sink (#17184)
* Move hcp client to subpackage hcpclient (#16800)
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* [HCP Observability] OTELExporter (#17128)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Initialize OTELSink with sync.Map for all the instrument stores.
* Added telemetry agent to client and init sink in deps
* Fixed client
* Initalize sink in deps
* init sink in telemetry library
* Init deps before telemetry
* Use concrete telemetry.OtelSink type
* add /v1/metrics
* Avoid returning err for telemetry init
* move sink init within the IsCloudEnabled()
* Use HCPSinkOpts in deps instead
* update golden test for configuration file
* Switch to using extra sinks in the telemetry library
* keep name MetricsConfig
* fix log in verifyCCMRegistration
* Set logger in context
* pass around MetricSink in deps
* Fix imports
* Rebased onto otel sink pr
* Fix URL in test
* [HCP Observability] OTELSink (#17159)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Fix nits
* pass extraSinks as function param instead
* Add default interval as package export
* remove verifyCCM func
* Add clusterID
* Fix import and add t.Parallel() for missing tests
* Kick Vercel CI
* Remove scheme from endpoint path, and fix error logging
* return metrics.MetricSink for sink method
* Update SDK
* Added telemetry agent to client and init sink in deps
* Add node_id and __replica__ default labels
* add function for default labels and set x-hcp-resource-id
* Fix labels tests
* Commit suggestion for getDefaultLabels
Co-authored-by: Joshua Timmons <joshua.timmons1@gmail.com>
* Fixed server.id, and t.Parallel()
* Make defaultLabels a method on the TelemetryConfig object
* Rename FilterList to lowercase filterList
* Cleanup filter implemetation by combining regex into a single one, and making the type lowercase
* Fix append
* use regex directly for filters
* Fix x-resource-id test to use mocked value
* Fix log.Error formats
* Forgot the len(opts.Label) optimization)
* Use cfg.NodeID instead
---------
Co-authored-by: Joshua Timmons <joshua.timmons1@gmail.com>
* remove replic tag (#17484)
* [HCP Observability] Add custom metrics for OTEL sink, improve logging, upgrade modules and cleanup metrics client (#17455)
* Add custom metrics for Exporter and transform operations
* Improve deps logging
Run go mod tidy
* Upgrade SDK and OTEL
* Remove the partial success implemetation and check for HTTP status code in metrics client
* Add x-channel
* cleanup logs in deps.go based on PR feedback
* Change to debug log and lowercase
* address test operation feedback
* use GetHumanVersion on version
* Fix error wrapping
* Fix metric names
* [HCP Observability] Turn off retries for now until dynamically configurable (#17496)
* Remove retries for now until dynamic configuration is possible
* Clarify comment
* Update changelog
* improve changelog
---------
Co-authored-by: Joshua Timmons <joshua.timmons1@gmail.com>
2023-05-29 20:11:08 +00:00
|
|
|
hcpclient "github.com/hashicorp/consul/agent/hcp/client"
|
2023-04-27 20:27:39 +00:00
|
|
|
"github.com/hashicorp/consul/lib"
|
|
|
|
"github.com/hashicorp/consul/tlsutil"
|
|
|
|
"github.com/hashicorp/go-uuid"
|
|
|
|
"github.com/mitchellh/cli"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestBootstrapConfigLoader(t *testing.T) {
|
|
|
|
baseLoader := func(source config.Source) (config.LoadResult, error) {
|
|
|
|
return config.Load(config.LoadOpts{
|
|
|
|
DefaultConfig: source,
|
|
|
|
HCL: []string{
|
|
|
|
`server = true`,
|
|
|
|
`bind_addr = "127.0.0.1"`,
|
|
|
|
`data_dir = "/tmp/consul-data"`,
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
bootstrapLoader := func(source config.Source) (config.LoadResult, error) {
|
|
|
|
return bootstrapConfigLoader(baseLoader, &RawBootstrapConfig{
|
|
|
|
ConfigJSON: `{"bootstrap_expect": 8}`,
|
|
|
|
ManagementToken: "test-token",
|
|
|
|
})(source)
|
|
|
|
}
|
|
|
|
|
|
|
|
result, err := bootstrapLoader(nil)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// bootstrap_expect and management token are injected from bootstrap config received from HCP.
|
|
|
|
require.Equal(t, 8, result.RuntimeConfig.BootstrapExpect)
|
|
|
|
require.Equal(t, "test-token", result.RuntimeConfig.Cloud.ManagementToken)
|
|
|
|
|
|
|
|
// Response header is always injected from a constant.
|
|
|
|
require.Equal(t, "x-consul-default-acl-policy", result.RuntimeConfig.HTTPResponseHeaders[accessControlHeaderName])
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_finalizeRuntimeConfig(t *testing.T) {
|
|
|
|
type testCase struct {
|
|
|
|
rc *config.RuntimeConfig
|
|
|
|
cfg *RawBootstrapConfig
|
|
|
|
verifyFn func(t *testing.T, rc *config.RuntimeConfig)
|
|
|
|
}
|
|
|
|
run := func(t *testing.T, tc testCase) {
|
|
|
|
finalizeRuntimeConfig(tc.rc, tc.cfg)
|
|
|
|
tc.verifyFn(t, tc.rc)
|
|
|
|
}
|
|
|
|
|
|
|
|
tt := map[string]testCase{
|
|
|
|
"set header if not present": {
|
|
|
|
rc: &config.RuntimeConfig{},
|
|
|
|
cfg: &RawBootstrapConfig{
|
|
|
|
ManagementToken: "test-token",
|
|
|
|
},
|
|
|
|
verifyFn: func(t *testing.T, rc *config.RuntimeConfig) {
|
|
|
|
require.Equal(t, "test-token", rc.Cloud.ManagementToken)
|
|
|
|
require.Equal(t, "x-consul-default-acl-policy", rc.HTTPResponseHeaders[accessControlHeaderName])
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"append to header if present": {
|
|
|
|
rc: &config.RuntimeConfig{
|
|
|
|
HTTPResponseHeaders: map[string]string{
|
|
|
|
accessControlHeaderName: "Content-Encoding",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cfg: &RawBootstrapConfig{
|
|
|
|
ManagementToken: "test-token",
|
|
|
|
},
|
|
|
|
verifyFn: func(t *testing.T, rc *config.RuntimeConfig) {
|
|
|
|
require.Equal(t, "test-token", rc.Cloud.ManagementToken)
|
|
|
|
require.Equal(t, "Content-Encoding,x-consul-default-acl-policy", rc.HTTPResponseHeaders[accessControlHeaderName])
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
for name, tc := range tt {
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
|
|
run(t, tc)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func boolPtr(value bool) *bool {
|
|
|
|
return &value
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestLoadConfig_Persistence(t *testing.T) {
|
|
|
|
type testCase struct {
|
|
|
|
// resourceID is the HCP resource ID. If set, a server is considered to be cloud-enabled.
|
|
|
|
resourceID string
|
|
|
|
|
|
|
|
// devMode indicates whether the loader should not have a data directory.
|
|
|
|
devMode bool
|
|
|
|
|
|
|
|
// verifyFn issues case-specific assertions.
|
|
|
|
verifyFn func(t *testing.T, rc *config.RuntimeConfig)
|
|
|
|
}
|
|
|
|
|
|
|
|
run := func(t *testing.T, tc testCase) {
|
|
|
|
dir, err := os.MkdirTemp(os.TempDir(), "bootstrap-test-")
|
|
|
|
require.NoError(t, err)
|
|
|
|
t.Cleanup(func() { os.RemoveAll(dir) })
|
|
|
|
|
|
|
|
s := hcp.NewMockHCPServer()
|
|
|
|
s.AddEndpoint(TestEndpoint())
|
|
|
|
|
|
|
|
// Use an HTTPS server since that's what the HCP SDK expects for auth.
|
|
|
|
srv := httptest.NewTLSServer(s)
|
|
|
|
defer srv.Close()
|
|
|
|
|
|
|
|
caCert, err := x509.ParseCertificate(srv.TLS.Certificates[0].Certificate[0])
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
pool := x509.NewCertPool()
|
|
|
|
pool.AddCert(caCert)
|
|
|
|
clientTLS := &tls.Config{RootCAs: pool}
|
|
|
|
|
|
|
|
baseOpts := config.LoadOpts{
|
|
|
|
HCL: []string{
|
|
|
|
`server = true`,
|
|
|
|
`bind_addr = "127.0.0.1"`,
|
|
|
|
fmt.Sprintf(`http_config = { response_headers = { %s = "Content-Encoding" } }`, accessControlHeaderName),
|
|
|
|
fmt.Sprintf(`cloud { client_id="test" client_secret="test" hostname=%q auth_url=%q resource_id=%q }`,
|
|
|
|
srv.Listener.Addr().String(), srv.URL, tc.resourceID),
|
|
|
|
},
|
|
|
|
}
|
|
|
|
if tc.devMode {
|
|
|
|
baseOpts.DevMode = boolPtr(true)
|
|
|
|
} else {
|
|
|
|
baseOpts.HCL = append(baseOpts.HCL, fmt.Sprintf(`data_dir = %q`, dir))
|
|
|
|
}
|
|
|
|
|
|
|
|
baseLoader := func(source config.Source) (config.LoadResult, error) {
|
|
|
|
baseOpts.DefaultConfig = source
|
|
|
|
return config.Load(baseOpts)
|
|
|
|
}
|
|
|
|
|
|
|
|
ui := cli.NewMockUi()
|
|
|
|
|
|
|
|
// Load initial config to check whether bootstrapping from HCP is enabled.
|
|
|
|
initial, err := baseLoader(nil)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// Override the client TLS config so that the test server can be trusted.
|
|
|
|
initial.RuntimeConfig.Cloud.WithTLSConfig(clientTLS)
|
HCP Telemetry Feature (#17460)
* Move hcp client to subpackage hcpclient (#16800)
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] OTELExporter (#17128)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* [HCP Observability] OTELSink (#17159)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Fix nits
* [HCP Observability] Init OTELSink in Telemetry (#17162)
* Move hcp client to subpackage hcpclient (#16800)
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* [HCP Observability] OTELExporter (#17128)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Initialize OTELSink with sync.Map for all the instrument stores.
* Added telemetry agent to client and init sink in deps
* Fixed client
* Initalize sink in deps
* init sink in telemetry library
* Init deps before telemetry
* Use concrete telemetry.OtelSink type
* add /v1/metrics
* Avoid returning err for telemetry init
* move sink init within the IsCloudEnabled()
* Use HCPSinkOpts in deps instead
* update golden test for configuration file
* Switch to using extra sinks in the telemetry library
* keep name MetricsConfig
* fix log in verifyCCMRegistration
* Set logger in context
* pass around MetricSink in deps
* Fix imports
* Rebased onto otel sink pr
* Fix URL in test
* [HCP Observability] OTELSink (#17159)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Fix nits
* pass extraSinks as function param instead
* Add default interval as package export
* remove verifyCCM func
* Add clusterID
* Fix import and add t.Parallel() for missing tests
* Kick Vercel CI
* Remove scheme from endpoint path, and fix error logging
* return metrics.MetricSink for sink method
* Update SDK
* [HCP Observability] Metrics filtering and Labels in Go Metrics sink (#17184)
* Move hcp client to subpackage hcpclient (#16800)
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* [HCP Observability] New MetricsClient (#17100)
* Client configured with TLS using HCP config and retry/throttle
* Add tests and godoc for metrics client
* close body after request
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* remove clone
* Extract CloudConfig and mock for future PR
* Switch to hclog.FromContext
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* [HCP Observability] OTELExporter (#17128)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Initialize OTELSink with sync.Map for all the instrument stores.
* Added telemetry agent to client and init sink in deps
* Fixed client
* Initalize sink in deps
* init sink in telemetry library
* Init deps before telemetry
* Use concrete telemetry.OtelSink type
* add /v1/metrics
* Avoid returning err for telemetry init
* move sink init within the IsCloudEnabled()
* Use HCPSinkOpts in deps instead
* update golden test for configuration file
* Switch to using extra sinks in the telemetry library
* keep name MetricsConfig
* fix log in verifyCCMRegistration
* Set logger in context
* pass around MetricSink in deps
* Fix imports
* Rebased onto otel sink pr
* Fix URL in test
* [HCP Observability] OTELSink (#17159)
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Create new OTELExporter which uses the MetricsClient
Add transform because the conversion is in an /internal package
* Fix lint error
* early return when there are no metrics
* Add NewOTELExporter() function
* Downgrade to metrics SDK version: v1.15.0-rc.1
* Fix imports
* fix small nits with comments and url.URL
* Fix tests by asserting actual error for context cancellation, fix parallel, and make mock more versatile
* Cleanup error handling and clarify empty metrics case
* Fix input/expected naming in otel_transform_test.go
* add comment for metric tracking
* Add a general isEmpty method
* Add clear error types
* update to latest version 1.15.0 of OTEL
* Client configured with TLS using HCP config and retry/throttle
* run go mod tidy
* Remove one abstraction to use the config from deps
* Address PR feedback
* Initialize OTELSink with sync.Map for all the instrument stores.
* Moved PeriodicReader init to NewOtelReader function. This allows us to use a ManualReader for tests.
* Switch to mutex instead of sync.Map to avoid type assertion
* Add gauge store
* Clarify comments
* return concrete sink type
* Fix lint errors
* Move gauge store to be within sink
* Use context.TODO,rebase and clenaup opts handling
* Rebase onto otl exporter to downgrade metrics API to v1.15.0-rc.1
* Fix imports
* Update to latest stable version by rebasing on cc-4933, fix import, remove mutex init, fix opts error messages and use logger from ctx
* Add lots of documentation to the OTELSink
* Fix gauge store comment and check ok
* Add select and ctx.Done() check to gauge callback
* use require.Equal for attributes
* Fixed import naming
* Remove float64 calls and add a NewGaugeStore method
* Change name Store to Set in gaugeStore, add concurrency tests in both OTELSink and gauge store
* Generate 100 gauge operations
* Seperate the labels into goroutines in sink test
* Generate kv store for the test case keys to avoid using uuid
* Added a race test with 300 samples for OTELSink
* Do not pass in waitgroup and use error channel instead.
* Using SHA 7dea2225a218872e86d2f580e82c089b321617b0 to avoid build failures in otel
* Fix nits
* pass extraSinks as function param instead
* Add default interval as package export
* remove verifyCCM func
* Add clusterID
* Fix import and add t.Parallel() for missing tests
* Kick Vercel CI
* Remove scheme from endpoint path, and fix error logging
* return metrics.MetricSink for sink method
* Update SDK
* Added telemetry agent to client and init sink in deps
* Add node_id and __replica__ default labels
* add function for default labels and set x-hcp-resource-id
* Fix labels tests
* Commit suggestion for getDefaultLabels
Co-authored-by: Joshua Timmons <joshua.timmons1@gmail.com>
* Fixed server.id, and t.Parallel()
* Make defaultLabels a method on the TelemetryConfig object
* Rename FilterList to lowercase filterList
* Cleanup filter implemetation by combining regex into a single one, and making the type lowercase
* Fix append
* use regex directly for filters
* Fix x-resource-id test to use mocked value
* Fix log.Error formats
* Forgot the len(opts.Label) optimization)
* Use cfg.NodeID instead
---------
Co-authored-by: Joshua Timmons <joshua.timmons1@gmail.com>
* remove replic tag (#17484)
* [HCP Observability] Add custom metrics for OTEL sink, improve logging, upgrade modules and cleanup metrics client (#17455)
* Add custom metrics for Exporter and transform operations
* Improve deps logging
Run go mod tidy
* Upgrade SDK and OTEL
* Remove the partial success implemetation and check for HTTP status code in metrics client
* Add x-channel
* cleanup logs in deps.go based on PR feedback
* Change to debug log and lowercase
* address test operation feedback
* use GetHumanVersion on version
* Fix error wrapping
* Fix metric names
* [HCP Observability] Turn off retries for now until dynamically configurable (#17496)
* Remove retries for now until dynamic configuration is possible
* Clarify comment
* Update changelog
* improve changelog
---------
Co-authored-by: Joshua Timmons <joshua.timmons1@gmail.com>
2023-05-29 20:11:08 +00:00
|
|
|
client, err := hcpclient.NewClient(initial.RuntimeConfig.Cloud)
|
2023-04-27 20:27:39 +00:00
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
loader, err := LoadConfig(context.Background(), client, initial.RuntimeConfig.DataDir, baseLoader, ui)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// Load the agent config with the potentially wrapped loader.
|
|
|
|
fromRemote, err := loader(nil)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// HCP-enabled cases should fetch from HCP on the first run of LoadConfig.
|
|
|
|
require.Contains(t, ui.OutputWriter.String(), "Fetching configuration from HCP")
|
|
|
|
|
|
|
|
// Run case-specific verification.
|
|
|
|
tc.verifyFn(t, fromRemote.RuntimeConfig)
|
|
|
|
|
|
|
|
require.Empty(t, fromRemote.RuntimeConfig.ACLInitialManagementToken,
|
|
|
|
"initial_management token should have been sanitized")
|
|
|
|
|
|
|
|
if tc.devMode {
|
|
|
|
// Re-running the bootstrap func below isn't relevant to dev mode
|
|
|
|
// since they don't have a data directory to load data from.
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// Run LoadConfig again to exercise the logic of loading config from disk.
|
|
|
|
loader, err = LoadConfig(context.Background(), client, initial.RuntimeConfig.DataDir, baseLoader, ui)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
fromDisk, err := loader(nil)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// HCP-enabled cases should fetch from disk on the second run.
|
|
|
|
require.Contains(t, ui.OutputWriter.String(), "Loaded HCP configuration from local disk")
|
|
|
|
|
|
|
|
// Config loaded from disk should be the same as the one that was initially fetched from the HCP servers.
|
|
|
|
require.Equal(t, fromRemote.RuntimeConfig, fromDisk.RuntimeConfig)
|
|
|
|
}
|
|
|
|
|
|
|
|
tt := map[string]testCase{
|
|
|
|
"dev mode": {
|
|
|
|
devMode: true,
|
|
|
|
|
|
|
|
resourceID: "organization/0b9de9a3-8403-4ca6-aba8-fca752f42100/" +
|
|
|
|
"project/0b9de9a3-8403-4ca6-aba8-fca752f42100/" +
|
|
|
|
"consul.cluster/new-cluster-id",
|
|
|
|
|
|
|
|
verifyFn: func(t *testing.T, rc *config.RuntimeConfig) {
|
|
|
|
require.Empty(t, rc.DataDir)
|
|
|
|
|
|
|
|
// Dev mode should have persisted certs since they can't be inlined.
|
|
|
|
require.NotEmpty(t, rc.TLS.HTTPS.CertFile)
|
|
|
|
require.NotEmpty(t, rc.TLS.HTTPS.KeyFile)
|
|
|
|
require.NotEmpty(t, rc.TLS.HTTPS.CAFile)
|
|
|
|
|
|
|
|
// Find the temporary directory they got stored in.
|
|
|
|
dir := filepath.Dir(rc.TLS.HTTPS.CertFile)
|
|
|
|
|
|
|
|
// Ensure we only stored the TLS materials.
|
|
|
|
entries, err := os.ReadDir(dir)
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.Len(t, entries, 3)
|
|
|
|
|
|
|
|
haveFiles := make([]string, 3)
|
|
|
|
for i, entry := range entries {
|
|
|
|
haveFiles[i] = entry.Name()
|
|
|
|
}
|
|
|
|
|
|
|
|
wantFiles := []string{caFileName, certFileName, keyFileName}
|
|
|
|
require.ElementsMatch(t, wantFiles, haveFiles)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"new cluster": {
|
|
|
|
resourceID: "organization/0b9de9a3-8403-4ca6-aba8-fca752f42100/" +
|
|
|
|
"project/0b9de9a3-8403-4ca6-aba8-fca752f42100/" +
|
|
|
|
"consul.cluster/new-cluster-id",
|
|
|
|
|
|
|
|
// New clusters should have received and persisted the whole suite of config.
|
|
|
|
verifyFn: func(t *testing.T, rc *config.RuntimeConfig) {
|
|
|
|
dir := filepath.Join(rc.DataDir, subDir)
|
|
|
|
|
|
|
|
entries, err := os.ReadDir(dir)
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.Len(t, entries, 6)
|
|
|
|
|
|
|
|
files := []string{
|
|
|
|
filepath.Join(dir, configFileName),
|
|
|
|
filepath.Join(dir, caFileName),
|
|
|
|
filepath.Join(dir, certFileName),
|
|
|
|
filepath.Join(dir, keyFileName),
|
|
|
|
filepath.Join(dir, tokenFileName),
|
|
|
|
filepath.Join(dir, successFileName),
|
|
|
|
}
|
|
|
|
for _, name := range files {
|
|
|
|
_, err := os.Stat(name)
|
|
|
|
require.NoError(t, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
require.Equal(t, filepath.Join(dir, certFileName), rc.TLS.HTTPS.CertFile)
|
|
|
|
require.Equal(t, filepath.Join(dir, keyFileName), rc.TLS.HTTPS.KeyFile)
|
|
|
|
require.Equal(t, filepath.Join(dir, caFileName), rc.TLS.HTTPS.CAFile)
|
|
|
|
|
|
|
|
cert, key, caCerts, err := loadCerts(dir)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
require.NoError(t, validateTLSCerts(cert, key, caCerts))
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"existing cluster": {
|
|
|
|
resourceID: "organization/0b9de9a3-8403-4ca6-aba8-fca752f42100/" +
|
|
|
|
"project/0b9de9a3-8403-4ca6-aba8-fca752f42100/" +
|
|
|
|
"consul.cluster/" + TestExistingClusterID,
|
|
|
|
|
|
|
|
// Existing clusters should have only received and persisted the management token.
|
|
|
|
verifyFn: func(t *testing.T, rc *config.RuntimeConfig) {
|
|
|
|
dir := filepath.Join(rc.DataDir, subDir)
|
|
|
|
|
|
|
|
entries, err := os.ReadDir(dir)
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.Len(t, entries, 3)
|
|
|
|
|
|
|
|
files := []string{
|
|
|
|
filepath.Join(dir, tokenFileName),
|
|
|
|
filepath.Join(dir, successFileName),
|
|
|
|
filepath.Join(dir, configFileName),
|
|
|
|
}
|
|
|
|
for _, name := range files {
|
|
|
|
_, err := os.Stat(name)
|
|
|
|
require.NoError(t, err)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
for name, tc := range tt {
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
|
|
run(t, tc)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_loadPersistedBootstrapConfig(t *testing.T) {
|
|
|
|
type expect struct {
|
|
|
|
loaded bool
|
|
|
|
warning string
|
|
|
|
}
|
|
|
|
type testCase struct {
|
Backport of [CC-5718] Remove HCP token requirement during bootstrap into release/1.16.x (#18229)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.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>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.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>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* backport of commit f1225f5d474406073ae9f46ddd3c51e93aee3d8a
* backport of commit 5958ae0921522707652794668233741298863ade
* backport of commit 536e6f3b3b68754cb9958f83e225e6f7d1565c08
* backport of commit a99dd82929013249c8f57f1867da8a8ed4fb93d9
* backport of commit fc680e806ee6428c3a363d066f6b093fbe2fdd20
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
2023-07-21 17:53:53 +00:00
|
|
|
existingCluster bool
|
|
|
|
disableManagementToken bool
|
|
|
|
mutateFn func(t *testing.T, dir string)
|
|
|
|
expect expect
|
2023-04-27 20:27:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
run := func(t *testing.T, tc testCase) {
|
|
|
|
dataDir, err := os.MkdirTemp(os.TempDir(), "load-bootstrap-test-")
|
|
|
|
require.NoError(t, err)
|
|
|
|
t.Cleanup(func() { os.RemoveAll(dataDir) })
|
|
|
|
|
|
|
|
dir := filepath.Join(dataDir, subDir)
|
|
|
|
|
|
|
|
// Do some common setup as if we received config from HCP and persisted it to disk.
|
|
|
|
require.NoError(t, lib.EnsurePath(dir, true))
|
Backport of [CC-5718] Remove HCP token requirement during bootstrap into release/1.16.x (#18229)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.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>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.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>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* backport of commit f1225f5d474406073ae9f46ddd3c51e93aee3d8a
* backport of commit 5958ae0921522707652794668233741298863ade
* backport of commit 536e6f3b3b68754cb9958f83e225e6f7d1565c08
* backport of commit a99dd82929013249c8f57f1867da8a8ed4fb93d9
* backport of commit fc680e806ee6428c3a363d066f6b093fbe2fdd20
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
2023-07-21 17:53:53 +00:00
|
|
|
require.NoError(t, persistSuccessMarker(dir))
|
2023-04-27 20:27:39 +00:00
|
|
|
|
|
|
|
if !tc.existingCluster {
|
|
|
|
caCert, caKey, err := tlsutil.GenerateCA(tlsutil.CAOpts{})
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
serverCert, serverKey, err := testLeaf(caCert, caKey)
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.NoError(t, persistTLSCerts(dir, serverCert, serverKey, []string{caCert}))
|
|
|
|
|
|
|
|
cfgJSON := `{"bootstrap_expect": 8}`
|
|
|
|
require.NoError(t, persistBootstrapConfig(dir, cfgJSON))
|
|
|
|
}
|
|
|
|
|
Backport of [CC-5718] Remove HCP token requirement during bootstrap into release/1.16.x (#18229)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.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>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.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>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* backport of commit f1225f5d474406073ae9f46ddd3c51e93aee3d8a
* backport of commit 5958ae0921522707652794668233741298863ade
* backport of commit 536e6f3b3b68754cb9958f83e225e6f7d1565c08
* backport of commit a99dd82929013249c8f57f1867da8a8ed4fb93d9
* backport of commit fc680e806ee6428c3a363d066f6b093fbe2fdd20
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
2023-07-21 17:53:53 +00:00
|
|
|
var token string
|
|
|
|
if !tc.disableManagementToken {
|
|
|
|
token, err = uuid.GenerateUUID()
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.NoError(t, persistManagementToken(dir, token))
|
|
|
|
}
|
2023-04-27 20:27:39 +00:00
|
|
|
|
|
|
|
// Optionally mutate the persisted data to trigger errors while loading.
|
|
|
|
if tc.mutateFn != nil {
|
|
|
|
tc.mutateFn(t, dir)
|
|
|
|
}
|
|
|
|
|
|
|
|
ui := cli.NewMockUi()
|
|
|
|
cfg, loaded := loadPersistedBootstrapConfig(dataDir, ui)
|
|
|
|
require.Equal(t, tc.expect.loaded, loaded, ui.ErrorWriter.String())
|
|
|
|
if loaded {
|
|
|
|
require.Equal(t, token, cfg.ManagementToken)
|
|
|
|
require.Empty(t, ui.ErrorWriter.String())
|
|
|
|
} else {
|
|
|
|
require.Nil(t, cfg)
|
|
|
|
require.Contains(t, ui.ErrorWriter.String(), tc.expect.warning)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
tt := map[string]testCase{
|
|
|
|
"existing cluster with valid files": {
|
|
|
|
existingCluster: true,
|
|
|
|
// Don't mutate, files from setup are valid.
|
|
|
|
mutateFn: nil,
|
|
|
|
expect: expect{
|
|
|
|
loaded: true,
|
|
|
|
warning: "",
|
|
|
|
},
|
|
|
|
},
|
Backport of [CC-5718] Remove HCP token requirement during bootstrap into release/1.16.x (#18229)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.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>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.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>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* backport of commit f1225f5d474406073ae9f46ddd3c51e93aee3d8a
* backport of commit 5958ae0921522707652794668233741298863ade
* backport of commit 536e6f3b3b68754cb9958f83e225e6f7d1565c08
* backport of commit a99dd82929013249c8f57f1867da8a8ed4fb93d9
* backport of commit fc680e806ee6428c3a363d066f6b093fbe2fdd20
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
2023-07-21 17:53:53 +00:00
|
|
|
"existing cluster no token": {
|
|
|
|
existingCluster: true,
|
|
|
|
disableManagementToken: true,
|
2023-04-27 20:27:39 +00:00
|
|
|
expect: expect{
|
Backport of [CC-5718] Remove HCP token requirement during bootstrap into release/1.16.x (#18229)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.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>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.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>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* backport of commit f1225f5d474406073ae9f46ddd3c51e93aee3d8a
* backport of commit 5958ae0921522707652794668233741298863ade
* backport of commit 536e6f3b3b68754cb9958f83e225e6f7d1565c08
* backport of commit a99dd82929013249c8f57f1867da8a8ed4fb93d9
* backport of commit fc680e806ee6428c3a363d066f6b093fbe2fdd20
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
2023-07-21 17:53:53 +00:00
|
|
|
loaded: false,
|
2023-04-27 20:27:39 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
"existing cluster no files": {
|
|
|
|
existingCluster: true,
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
// Remove all files
|
|
|
|
require.NoError(t, os.RemoveAll(dir))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
// No warnings since we assume we need to fetch config from HCP for the first time.
|
|
|
|
warning: "",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"new cluster with valid files": {
|
|
|
|
// Don't mutate, files from setup are valid.
|
|
|
|
mutateFn: nil,
|
|
|
|
expect: expect{
|
|
|
|
loaded: true,
|
|
|
|
warning: "",
|
|
|
|
},
|
|
|
|
},
|
Backport of [CC-5718] Remove HCP token requirement during bootstrap into release/1.16.x (#18229)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.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>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.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>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* backport of commit f1225f5d474406073ae9f46ddd3c51e93aee3d8a
* backport of commit 5958ae0921522707652794668233741298863ade
* backport of commit 536e6f3b3b68754cb9958f83e225e6f7d1565c08
* backport of commit a99dd82929013249c8f57f1867da8a8ed4fb93d9
* backport of commit fc680e806ee6428c3a363d066f6b093fbe2fdd20
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
2023-07-21 17:53:53 +00:00
|
|
|
"new cluster with no token": {
|
|
|
|
disableManagementToken: true,
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
},
|
|
|
|
},
|
2023-04-27 20:27:39 +00:00
|
|
|
"new cluster some files": {
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
// Remove one of the required files
|
|
|
|
require.NoError(t, os.Remove(filepath.Join(dir, certFileName)))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
warning: "configuration files on disk are incomplete",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"new cluster no files": {
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
// Remove all files
|
|
|
|
require.NoError(t, os.RemoveAll(dir))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
// No warnings since we assume we need to fetch config from HCP for the first time.
|
|
|
|
warning: "",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"new cluster invalid cert": {
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
name := filepath.Join(dir, certFileName)
|
|
|
|
require.NoError(t, os.WriteFile(name, []byte("not-a-cert"), 0600))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
warning: "invalid server certificate",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"new cluster invalid CA": {
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
name := filepath.Join(dir, caFileName)
|
|
|
|
require.NoError(t, os.WriteFile(name, []byte("not-a-ca-cert"), 0600))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
warning: "invalid CA certificate",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"new cluster invalid config flag": {
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
name := filepath.Join(dir, configFileName)
|
|
|
|
require.NoError(t, os.WriteFile(name, []byte(`{"not_a_consul_agent_config_field" = "zap"}`), 0600))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
warning: "failed to parse local bootstrap config",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"existing cluster invalid token": {
|
|
|
|
existingCluster: true,
|
|
|
|
mutateFn: func(t *testing.T, dir string) {
|
|
|
|
name := filepath.Join(dir, tokenFileName)
|
|
|
|
require.NoError(t, os.WriteFile(name, []byte("not-a-uuid"), 0600))
|
|
|
|
},
|
|
|
|
expect: expect{
|
|
|
|
loaded: false,
|
|
|
|
warning: "is not a valid UUID",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
for name, tc := range tt {
|
|
|
|
t.Run(name, func(t *testing.T) {
|
|
|
|
run(t, tc)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|