Phil Porada
7ea986783d
Add TCP+TLS Healthchecks ( #18381 )
...
* Begin adding TCPUseTLS
* More TCP with TLS plumbing
* Making forward progress
* Keep on adding TCP+TLS support for healthchecks
* Removed too many lines
* Unit tests for TCP+TLS
* Update tlsutil/config.go
Co-authored-by: Samantha <hello@entropy.cat>
* Working on the tcp+tls unit test
* Updated the runtime integration tests
* Progress
* Revert this file back to HEAD
* Remove debugging lines
* Implement TLS enabled TCP socket server and make a successful TCP+TLS healthcheck on it
* Update docs
* Update agent/agent_test.go
Co-authored-by: Samantha <hello@entropy.cat>
* Update website/content/docs/ecs/configuration-reference.mdx
Co-authored-by: Samantha <hello@entropy.cat>
* Update website/content/docs/ecs/configuration-reference.mdx
Co-authored-by: Samantha <hello@entropy.cat>
* Update agent/checks/check.go
Co-authored-by: Samantha <hello@entropy.cat>
* Address comments
* Remove extraneous bracket
* Update agent/agent_test.go
Co-authored-by: Samantha <hello@entropy.cat>
* Update agent/agent_test.go
Co-authored-by: Samantha <hello@entropy.cat>
* Update website/content/docs/ecs/configuration-reference.mdx
Co-authored-by: Samantha <hello@entropy.cat>
* Update the mockTLSServer
* Remove trailing newline
* Address comments
* Fix merge problem
* Add changelog entry
---------
Co-authored-by: Samantha <hello@entropy.cat>
2023-09-05 13:34:44 -07:00
hashicorp-copywrite[bot]
5fb9df1640
[COMPLIANCE] License changes ( #18443 )
...
* Adding explicit MPL license for sub-package
This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.
* Adding explicit MPL license for sub-package
This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.
* Updating the license from MPL to Business Source License
Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at <Blog URL>, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.
* add missing license headers
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
* Update copyright file headers to BUSL-1.1
---------
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-08-11 09:12:13 -04:00
Ronald
94ec4eb2f4
copyright headers for agent folder ( #16704 )
...
* copyright headers for agent folder
* Ignore test data files
* fix proto files and remove headers in agent/uiserver folder
* ignore deep-copy files
2023-03-28 14:39:22 -04:00
Semir Patel
bafa5c7156
Pass remote addr of incoming HTTP requests through to RPC(..) calls ( #15700 )
2022-12-14 09:24:22 -06:00
Chris S. Kim
3d2dffff16
Merge pull request #13388 from deblasis/feature/health-checks_windows_service
...
Feature: Health checks windows service
2022-10-17 09:26:19 -04:00
Alessandro De Blasis
461b42ed48
fix(check): added missing OSService props
2022-09-21 13:10:21 +01:00
malizz
1a0aa38a82
increase the size of txn to support vault ( #14599 )
...
* increase the size of txn to support vault
* add test, revert change to acl endpoint
* add changelog
* update test, add passing test case
* Update .changelog/14599.txt
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
2022-09-19 09:07:19 -07:00
cskh
0f7d4efac3
fix(txn api): missing proxy config in registering proxy service ( #14471 )
...
* fix(txn api): missing proxy config in registering proxy service
2022-09-02 14:28:05 -04:00
Mathew Estafanous
474385d153
Unify various status errors into one HTTP error type. ( #12594 )
...
Replaces specific error types for HTTP Status codes with
a generic HTTPError type.
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
2022-04-29 13:42:49 -04:00
Natalie Smith
0a310188f8
docs: fix yet more references to agent/options
2022-04-11 17:38:49 -07:00
Mark Anderson
98a2e282be
Fixup acl.EnterpriseMeta
...
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
2022-04-05 15:11:49 -07:00
mrspanishviking
7180c99960
Revert "[Docs] Agent configuration hierarchy "
2022-03-15 16:13:58 -07:00
trujillo-adam
76d55ac2b4
merging new hierarchy for agent configuration
2022-03-14 15:44:41 -07:00
Mathew Estafanous
c5d2bea92c
Change error-handling across handlers. ( #12225 )
2022-01-31 11:17:35 -05:00
VictorBac
31a39c9528
Add GRPC and GRPCUseTLS to api.HealthCheckDefinition ( #12108 )
...
* Add GRPC to HealthCheckDefinition
* add GRPC and GRPCUseTLS
2022-01-19 16:09:15 -05:00
R.B. Boyer
097e1645e3
agent: ensure that most agent behavior correctly respects partition configuration ( #10880 )
2021-08-19 15:09:42 -05:00
R.B. Boyer
188e8dc51f
agent/structs: add a bunch more EnterpriseMeta helper functions to help with partitioning ( #10669 )
2021-07-22 13:20:45 -05:00
Christopher Broglie
f0307c73e5
Add support for configuring TLS ServerName for health checks
...
Some TLS servers require SNI, but the Golang HTTP client doesn't
include it in the ClientHello when connecting to an IP address. This
change adds a new TLSServerName field to health check definitions to
optionally set it. This fixes #9473 .
2021-03-16 18:16:44 -04:00
Daniel Nephin
d1772ae305
structs: rename EnterpriseMeta constructor
...
To match the Go convention.
2021-02-16 14:45:43 -05:00
Daniel Nephin
282fbdfa75
api: rename HTTPServer to HTTPHandlers
...
Resolves a TODO about naming. This type is a set of handlers for an http.Server, it is not
itself a Server. It provides http.Handler functions.
2020-09-18 17:38:23 -04:00
Hans Hasselberg
c46e2ae59b
docs: add docs for kv_max_value_size ( #7405 )
...
Apart from the added docs, the error messages are similar now and are
pointing to the corresponding options.
Fixes #6708 .
2020-03-09 11:13:40 +01:00
Kim Ngo
a8f4123d37
agent/txn_endpoint: configure max txn request length ( #7388 )
...
configure max transaction size separately from kv limit
2020-03-05 15:42:37 -06:00
Akshay Ganeshen
8beb716414
feat: support sending body in HTTP checks ( #6602 )
2020-02-10 09:27:12 -07:00
Matt Keeler
6855a778c2
Updates to the Txn API for namespaces ( #7172 )
...
* Updates to the Txn API for namespaces
* Update agent/consul/txn_endpoint.go
Co-Authored-By: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: R.B. Boyer <public@richardboyer.net>
2020-01-30 13:12:26 -05:00
Matt Keeler
848938ad48
Output proper HTTP status codes for Txn requests that are too large ( #7157 )
2020-01-28 16:22:40 -05:00
Sarah Adams
78ad8203a4
Use encoding/json as JSON decoder instead of mapstructure ( #6680 )
...
Fixes #6147
2019-10-29 11:13:36 -07:00
Sarah Adams
9f4b329b6d
txn: don't try to decode request bodies > raft.SuggestedMaxDataSize ( #6422 )
...
txn: don't try to decode request bodies > raft.SuggestedMaxDataSize
2019-08-30 10:41:25 -07:00
Jeff Mitchell
94c73d0c92
Chunking support ( #6172 )
...
* Initial chunk support
This uses the go-raft-middleware library to allow for chunked commits to the KV
2019-07-24 17:06:39 -04:00
Christian Muehlhaeuser
61ff1d20bf
Avoid unnecessary conversions ( #6178 )
...
Those values already have the right type.
2019-07-19 09:13:18 -04:00
Alvin Huang
8ceca2ace3
Add fmt and vet ( #5671 )
...
* add go fmt and vet
* go fmt fixes
2019-04-25 12:26:33 -04:00
Kyle Havlovitz
716a20d8a6
Re-add logic to handle the undocumented duration fields
2019-03-26 10:44:02 -07:00
Kyle Havlovitz
3f5e20452e
http: use the correct check duration fields when converting txn ops
2019-03-25 16:58:41 -07:00
Kyle Havlovitz
1a4978fb94
Re-add ReadableDuration types to health check definition
...
This is to fix the backwards-incompatible change made in 1.4.1 by
changing these fields to time.Duration.
2019-01-25 14:47:35 -08:00
Kyle Havlovitz
21380021af
txn: update existing txn api docs with new operations
2019-01-15 16:54:07 -08:00
Kyle Havlovitz
995e728ea0
txn: fix an issue with querying nodes by name instead of ID
2018-12-12 12:46:33 -08:00
Kyle Havlovitz
67bac7a815
api: add support for new txn operations
2018-12-12 10:54:09 -08:00
Edd Steel
77f19f7505
Support OPTIONS requests
...
- register endpoints with supported methods
- support OPTIONS requests, indicating supported methods
- extract method validation (error 405) from individual endpoints
- on 405 where multiple methods are allowed, create a single Allow
header with comma-separated values, not multiple Allow headers.
2018-02-12 10:15:31 -08:00
Frank Schröder
1e461110e6
agent: consolidate handling of 405 Method Not Allowed ( #3405 )
...
* agent: consolidate http method not allowed checks
This patch uses the error handling of the http handlers to handle HTTP
method not allowed errors across all available endpoints. It also adds a
test for testing whether the endpoints respond with the correct status
code.
* agent: do not panic on metrics tests
* agent: drop other tests for MethodNotAllowed
* agent: align /agent/join with reality
/agent/join uses PUT instead of GET as documented.
* agent: align /agent/check/{fail,warn,pass} with reality
/agent/check/{fail,warn,pass} uses PUT instead of GET as documented.
* fix some tests
* Drop more tests for method not allowed
* Align TestAgent_RegisterService_InvalidAddress with reality
* Changes API client join to use PUT instead of GET.
* Fixes agent endpoint verbs and removes obsolete tests.
* Updates the change log.
2017-09-25 23:11:19 -07:00
Frank Schroeder
1acff3533e
agent: move agent/consul/structs to agent/structs
2017-08-09 14:32:12 +02:00
Frank Schroeder
1c75cf1af5
pkg refactor
...
command/agent/* -> agent/*
command/consul/* -> agent/consul/*
command/agent/command{,_test}.go -> command/agent{,_test}.go
command/base/command.go -> command/base.go
command/base/* -> command/*
commands.go -> command/commands.go
The script which did the refactor is:
(
cd $GOPATH/src/github.com/hashicorp/consul
git mv command/agent/command.go command/agent.go
git mv command/agent/command_test.go command/agent_test.go
git mv command/agent/flag_slice_value{,_test}.go command/
git mv command/agent .
git mv command/base/command.go command/base.go
git mv command/base/config_util{,_test}.go command/
git mv commands.go command/
git mv consul agent
rmdir command/base/
gsed -i -e 's|package agent|package command|' command/agent{,_test}.go
gsed -i -e 's|package agent|package command|' command/flag_slice_value{,_test}.go
gsed -i -e 's|package base|package command|' command/base.go command/config_util{,_test}.go
gsed -i -e 's|package main|package command|' command/commands.go
gsed -i -e 's|base.Command|BaseCommand|' command/commands.go
gsed -i -e 's|agent.Command|AgentCommand|' command/commands.go
gsed -i -e 's|\tCommand:|\tBaseCommand:|' command/commands.go
gsed -i -e 's|base\.||' command/commands.go
gsed -i -e 's|command\.||' command/commands.go
gsed -i -e 's|command|c|' main.go
gsed -i -e 's|range Commands|range command.Commands|' main.go
gsed -i -e 's|Commands: Commands|Commands: command.Commands|' main.go
gsed -i -e 's|base\.BoolValue|BoolValue|' command/operator_autopilot_set.go
gsed -i -e 's|base\.DurationValue|DurationValue|' command/operator_autopilot_set.go
gsed -i -e 's|base\.StringValue|StringValue|' command/operator_autopilot_set.go
gsed -i -e 's|base\.UintValue|UintValue|' command/operator_autopilot_set.go
gsed -i -e 's|\bCommand\b|BaseCommand|' command/base.go
gsed -i -e 's|BaseCommand Options|Command Options|' command/base.go
gsed -i -e 's|base.Command|BaseCommand|' command/*.go
gsed -i -e 's|c\.Command|c.BaseCommand|g' command/*.go
gsed -i -e 's|\tCommand:|\tBaseCommand:|' command/*_test.go
gsed -i -e 's|base\.||' command/*_test.go
gsed -i -e 's|\bCommand\b|AgentCommand|' command/agent{,_test}.go
gsed -i -e 's|cmd.AgentCommand|cmd.BaseCommand|' command/agent.go
gsed -i -e 's|cli.AgentCommand = new(Command)|cli.Command = new(AgentCommand)|' command/agent_test.go
gsed -i -e 's|exec.AgentCommand|exec.Command|' command/agent_test.go
gsed -i -e 's|exec.BaseCommand|exec.Command|' command/agent_test.go
gsed -i -e 's|NewTestAgent|agent.NewTestAgent|' command/agent_test.go
gsed -i -e 's|= TestConfig|= agent.TestConfig|' command/agent_test.go
gsed -i -e 's|: RetryJoin|: agent.RetryJoin|' command/agent_test.go
gsed -i -e 's|\.\./\.\./|../|' command/config_util_test.go
gsed -i -e 's|\bverifyUniqueListeners|VerifyUniqueListeners|' agent/config{,_test}.go command/agent.go
gsed -i -e 's|\bserfLANKeyring\b|SerfLANKeyring|g' agent/{agent,keyring,testagent}.go command/agent.go
gsed -i -e 's|\bserfWANKeyring\b|SerfWANKeyring|g' agent/{agent,keyring,testagent}.go command/agent.go
gsed -i -e 's|\bNewAgent\b|agent.New|g' command/agent{,_test}.go
gsed -i -e 's|\bNewAgent|New|' agent/{acl_test,agent,testagent}.go
gsed -i -e 's|\bAgent\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bBool\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bDefaultConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bDevConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bMergeConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bReadConfigPaths\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bParseMetaPair\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bSerfLANKeyring\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bSerfWANKeyring\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|circonus\.agent|circonus|g' command/agent{,_test}.go
gsed -i -e 's|logger\.agent|logger|g' command/agent{,_test}.go
gsed -i -e 's|metrics\.agent|metrics|g' command/agent{,_test}.go
gsed -i -e 's|// agent.Agent|// agent|' command/agent{,_test}.go
gsed -i -e 's|a\.agent\.Config|a.Config|' command/agent{,_test}.go
gsed -i -e 's|agent\.AppendSliceValue|AppendSliceValue|' command/{configtest,validate}.go
gsed -i -e 's|consul/consul|agent/consul|' GNUmakefile
gsed -i -e 's|\.\./test|../../test|' agent/consul/server_test.go
# fix imports
f=$(grep -rl 'github.com/hashicorp/consul/command/agent' * | grep '\.go')
gsed -i -e 's|github.com/hashicorp/consul/command/agent|github.com/hashicorp/consul/agent|' $f
goimports -w $f
f=$(grep -rl 'github.com/hashicorp/consul/consul' * | grep '\.go')
gsed -i -e 's|github.com/hashicorp/consul/consul|github.com/hashicorp/consul/agent/consul|' $f
goimports -w $f
goimports -w command/*.go main.go
)
2017-06-10 18:52:45 +02:00