From 941c940a760560a74abe76cf0e943e974f952097 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Sep 2026 18:46:09 +0000 Subject: [PATCH] deps: bump the go-minor-patch group with 2 updates Bumps the go-minor-patch group with 2 updates: [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) and [github.com/hashicorp/consul/api](https://github.com/hashicorp/consul). Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.113.0 to 1.113.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.113.0...service/s3/v1.113.1) Updates `github.com/hashicorp/consul/api` from 1.34.4 to 1.34.5 - [Release notes](https://github.com/hashicorp/consul/releases) - [Changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/consul/compare/api/v1.34.4...api/v1.34.5) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3 dependency-version: 1.113.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-minor-patch - dependency-name: github.com/hashicorp/consul/api dependency-version: 1.34.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-minor-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 +- go.sum | 12 +- .../aws/aws-sdk-go-v2/service/s3/CHANGELOG.md | 4 + .../service/s3/api_op_CopyObject.go | 6 +- .../s3/api_op_CreateMultipartUpload.go | 6 +- .../service/s3/api_op_PutObject.go | 6 +- .../service/s3/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/s3/types/types.go | 13 +- vendor/github.com/aws/smithy-go/AGENTS.md | 173 ++++++++++++++++++ .../github.com/hashicorp/consul/api/agent.go | 80 ++++++++ .../hashicorp/consul/api/config_entry.go | 6 + .../consul/api/config_entry_gateways.go | 26 ++- .../consul/api/config_entry_routes.go | 7 +- .../consul/api/operator_feature_gate.go | 104 +++++++++++ vendor/modules.txt | 6 +- 15 files changed, 427 insertions(+), 28 deletions(-) create mode 100644 vendor/github.com/aws/smithy-go/AGENTS.md create mode 100644 vendor/github.com/hashicorp/consul/api/operator_feature_gate.go diff --git a/go.mod b/go.mod index 375d20b51..81b851a4a 100644 --- a/go.mod +++ b/go.mod @@ -7,14 +7,14 @@ require ( github.com/aws/aws-sdk-go-v2 v1.47.0 github.com/aws/aws-sdk-go-v2/config v1.33.4 github.com/aws/aws-sdk-go-v2/credentials v1.20.4 - github.com/aws/aws-sdk-go-v2/service/s3 v1.113.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.113.1 github.com/cloudfoundry-community/vaultkv v0.7.2 github.com/fsouza/go-dockerclient v1.13.3 github.com/go-sql-driver/mysql v1.10.1 github.com/goccy/go-yaml v1.19.2 github.com/google/go-github/v76 v76.0.0 github.com/gorilla/websocket v1.5.3 - github.com/hashicorp/consul/api v1.34.4 + github.com/hashicorp/consul/api v1.34.5 github.com/jackc/pgx/v5 v5.11.0 github.com/jhunt/go-ansi v0.0.0-20181127194324-5fd839f108b6 github.com/jhunt/go-envirotron v0.0.0-20191007155228-c8f2a184ad0f diff --git a/go.sum b/go.sum index ee97b1363..3c3cf1ceb 100644 --- a/go.sum +++ b/go.sum @@ -47,8 +47,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 h1:bON1rJf67 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3/go.mod h1:c5BBpjJcQXpfeq9iASyVKA3T6vX6B6LEXY4mL/gklDY= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.20.3 h1:L8vIOxylma91TcR96NFTEC07G3JDwSl+CvK2b+IODms= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.20.3/go.mod h1:fmPIZQzTExYuBNWFyi1P7IoDjvskgphXqK1yObMzusM= -github.com/aws/aws-sdk-go-v2/service/s3 v1.113.0 h1:0slwIjBv1sEigSUW4EfTtNw9mbHl0PlOUPX9Y1C/eLE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.113.0/go.mod h1:/uA+2Qj4jd5qBWagVC1AyzzDFXVK997E7U04w7Kw0wI= +github.com/aws/aws-sdk-go-v2/service/s3 v1.113.1 h1:cFHmwLxZPvtoAlo79MboURL2+7b0TMHycnrcf5VZNXk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.113.1/go.mod h1:/uA+2Qj4jd5qBWagVC1AyzzDFXVK997E7U04w7Kw0wI= github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 h1:ZD5qFpWcaOKdTuhBi431pIDkCgrMkMlMT6jlpSPoIRI= github.com/aws/aws-sdk-go-v2/service/signin v1.10.0/go.mod h1:8Nuuf+tR346PjJ3MvZPh9pekbLiLQFWJhzMXfwy7alA= github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 h1:JGeeBcMlhg1xtOXYpeCaTQBZObtXMPQCUqBcmr65NRA= @@ -158,10 +158,10 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0 h1:/Tnpcb2E0Pz/tN9s3bfEY2Q8ePC github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0/go.mod h1:zOBXOsUaBSjKgmH4OGzV1esUpR3oUSCPYVd2cUBjKYY= github.com/hashicorp/cap v0.13.0 h1:bzLS1er9am6hOiw//TEjmwZ3t975iFfRfvXY6VRLKEw= github.com/hashicorp/cap v0.13.0/go.mod h1:Kbu5owAOJzQ/HH4Ba/76wsIXN2tRiJgToJKBO2MAEFE= -github.com/hashicorp/consul/api v1.34.4 h1:0U4YZ1Yp7K9WK9ex0gTJraFim26l02wCvsmf2ukalVE= -github.com/hashicorp/consul/api v1.34.4/go.mod h1:vz5gBNeycefpAAVNVbLBFObUu3isju6EK8UVZjXSTWc= -github.com/hashicorp/consul/sdk v0.18.1 h1:RDTeBvAeOveI2xI86sV+8WkaN7OkP4zz+cG3fOobDCM= -github.com/hashicorp/consul/sdk v0.18.1/go.mod h1:XdP2tEJmAvlK4jgoKTTtohGkRJlS4mU44mv9/sjU21s= +github.com/hashicorp/consul/api v1.34.5 h1:QpMhHZyfYsOsIu5n5QA7TQTLabM4OQJEbKi3pXXnw7U= +github.com/hashicorp/consul/api v1.34.5/go.mod h1:OrXEufkaxFy1pMIRHFrn3JkuircxMhA4BHHpbR8k+5U= +github.com/hashicorp/consul/sdk v0.18.2 h1:wMFx4OkUPg8un6kimUmzADVBsuRqUdNRtJ0KREGs7vM= +github.com/hashicorp/consul/sdk v0.18.2/go.mod h1:2V4Z2YguOFZelOtkQs3UnIrkCXDQ6iL3P4B6EtSqoQY= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md index f6df38396..2bc2a0a8f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.113.1 (2026-09-11) + +* **Documentation**: Updated S3 Object Lock Default Retention documentation. + # v1.113.0 (2026-09-09) * **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go index 690c41ab3..473bb5e3c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go @@ -600,12 +600,14 @@ type CopyObjectInput struct { // This functionality is not supported for directory buckets. ObjectLockEventHold types.ObjectLockEventHold - // The event hold duration in days to apply to the object copy. + // The event hold duration in days to apply to the object copy. You cannot specify + // a duration in both days and years. // // This functionality is not supported for directory buckets. ObjectLockEventHoldDurationDays *int32 - // The event hold duration in years to apply to the object copy. + // The event hold duration in years to apply to the object copy. You cannot + // specify a duration in both days and years. // // This functionality is not supported for directory buckets. ObjectLockEventHoldDurationYears *int32 diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go index f7fa1cc50..eed46ce57 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go @@ -606,12 +606,14 @@ type CreateMultipartUploadInput struct { // This functionality is not supported for directory buckets. ObjectLockEventHold types.ObjectLockEventHold - // Specifies the event hold duration in days to apply to the uploaded object. + // Specifies the event hold duration in days to apply to the uploaded object. You + // cannot specify a duration in both days and years. // // This functionality is not supported for directory buckets. ObjectLockEventHoldDurationDays *int32 - // Specifies the event hold duration in years to apply to the uploaded object. + // Specifies the event hold duration in years to apply to the uploaded object. You + // cannot specify a duration in both days and years. // // This functionality is not supported for directory buckets. ObjectLockEventHoldDurationYears *int32 diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go index 94516da79..3a3e19d80 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go @@ -521,12 +521,14 @@ type PutObjectInput struct { // This functionality is not supported for directory buckets. ObjectLockEventHold types.ObjectLockEventHold - // Specifies the event hold duration in days to apply to this object. + // Specifies the event hold duration in days to apply to this object. You cannot + // specify a duration in both days and years. // // This functionality is not supported for directory buckets. ObjectLockEventHoldDurationDays *int32 - // Specifies the event hold duration in years to apply to this object. + // Specifies the event hold duration in years to apply to this object. You cannot + // specify a duration in both days and years. // // This functionality is not supported for directory buckets. ObjectLockEventHoldDurationYears *int32 diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go index 71072cc60..3e3ac6893 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go @@ -3,4 +3,4 @@ package s3 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.113.0" +const goModuleVersion = "1.113.1" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go index c712301cb..61d8b4ca7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go @@ -3702,10 +3702,15 @@ type ObjectLockRetention struct { // The container element for an Object Lock rule. type ObjectLockRule struct { - // The default Object Lock retention mode and period that you want to apply to new - // objects placed in the specified bucket. Bucket settings require both a mode and - // a period. The period can be either Days or Years but you must select one. You - // cannot specify Days and Years at the same time. + // The default Object Lock retention settings for new objects in this bucket. You + // can specify: + // + // - A default retention period, by using Days or Years . + // + // - A default event hold duration, by using DefaultEventHold . This setting also + // uses days or years. + // + // You can set one or both. You cannot use days and years in the same setting. DefaultRetention *DefaultRetention noSmithyDocumentSerde diff --git a/vendor/github.com/aws/smithy-go/AGENTS.md b/vendor/github.com/aws/smithy-go/AGENTS.md new file mode 100644 index 000000000..de1e3b2bb --- /dev/null +++ b/vendor/github.com/aws/smithy-go/AGENTS.md @@ -0,0 +1,173 @@ +# AGENTS.md + +## Project overview + +smithy-go is the Go code generator and runtime for [Smithy](https://smithy.io/). +It has two major components: + +1. **Codegen** (`codegen/`) — A Smithy build plugin written in Java that + generates Go client/server/shape code from Smithy models. +2. **Runtime** (`./`, top-level Go module) — The Go packages that generated + code depends on at runtime. + +The primary downstream consumer is +[aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2). + +## Repository layout + +``` +. # Root Go module (github.com/aws/smithy-go) +├── auth/ # Auth identity + scheme interfaces +│ └── bearer/ # Bearer token auth +├── aws-http-auth/ # Separate module: AWS SigV4/SigV4A HTTP signing +├── codegen/ # Java/Gradle: Smithy code generator +│ ├── smithy-go-codegen/ # Main codegen source (Java) +│ └── smithy-go-codegen-test/ # Codegen integration tests +├── container/ # Generic container types +├── context/ # Context helpers +├── document/ # Smithy document type abstraction +│ └── json/ # JSON document codec +├── encoding/ # Wire format encoders/decoders +│ ├── cbor/ # CBOR (used by rpcv2Cbor) +│ ├── httpbinding/ # HTTP binding serde helpers +│ ├── json/ # JSON encoder/decoder +│ └── xml/ # XML encoder/decoder +├── endpoints/ # Endpoint resolution types +├── internal/ # Internal utilities (singleflight, etc.) +├── io/ # I/O helpers +├── logging/ # Logging interfaces +├── metrics/ # Metrics interfaces +│ └── smithyotelmetrics/ # Separate module: OpenTelemetry metrics adapter +├── middleware/ # Middleware stack (the core of the operation pipeline) +├── ptr/ # Pointer-to/from-value helpers +├── testing/ # Test assertion helpers for generated protocol tests +│ └── xml/ # XML comparison utilities +├── time/ # Smithy timestamp format helpers +├── tracing/ # Tracing interfaces +│ └── smithyoteltracing/ # Separate module: OpenTelemetry tracing adapter +└── transport/ + └── http/ # HTTP request/response types and middleware +``` + +## Building and testing + +### Runtime (Go) + +```bash +# Run unit tests +make unit +``` + +### Codegen (Java) + +```bash +# Build and test codegen +cd codegen && ./gradlew build + +# Publish to local Maven for downstream use +cd codegen && ./gradlew publishToMavenLocal +``` + +The codegen artifact version is published to Maven Central and bumped on each +release. For local development against unreleased codegen changes, use +`publishToMavenLocal` and point consumers at `mavenLocal()`. + +## Runtime architecture + +### Middleware stack + +The operation pipeline is built on a middleware stack defined in `middleware/`. +Steps execute in order: Initialize → Serialize → Build → Finalize → +Deserialize. Each step is a `middleware.Step` that holds an ordered list of +middleware. The codegen generates middleware registrations for each operation. + +### Encoding packages + +Each wire format has its own encoder/decoder under `encoding/`. These are +low-level — they produce/consume raw tokens or values, not full Smithy shapes. +Generated serde code calls into these packages. + +## Codegen: GoWriter and template system + +GoWriter extends Smithy's `SymbolWriter` and is the primary mechanism for +generating Go source. It has **two distinct writing styles** that must not be +confused. + +### Style 1: Positional args (`writer.write` / `writer.openBlock`) + +Inherited from `SymbolWriter`. Arguments are positional and referenced with +`$`-prefixed format characters. Each `$X` consumes the next argument in order. + +Format characters: +- `$L` — Literal (toString). Strings, names, anything that should be inserted + verbatim. +- `$S` — String, quoted. Wraps the value in Go double-quotes. +- `$T` — Type (Symbol). Inserts the symbol name and auto-adds its import. +- `$P` — Pointable type (Symbol). Like `$T` but prepends `*` if the symbol is + marked pointable. +- `$W` — Writable. Evaluates a `Writable` (lambda/closure) inline. +- `$D` — Dependency. Adds a `GoDependency` import, expands to empty string. + +Numbered variants (`$1L`, `$2T`, etc.) allow reusing the same argument +multiple times. The number is 1-indexed and refers to the position in the +argument list: + +```java +// $1L is used twice, $2L once — only 2 args needed +writer.write("type $1L struct{}\nvar _ $2L = (*$1L)(nil)", + DEFAULT_NAME, INTERFACE_NAME); +``` + +`openBlock`/`closeBlock` manage indentation for braced blocks. Arguments are +positional: + +```java +writer.openBlock("func (c $P) $T(ctx $T) ($P, error) {", "}", + serviceSymbol, operationSymbol, contextSymbol, outputSymbol, + () -> { + writer.write("return nil, nil"); + }); +``` + +### Style 2: Named template args (`goTemplate` / `writeGoTemplate`) + +Uses `$name:X` syntax where `name` is a key in a `Map` and `X` +is the format character. Arguments are passed as one or more maps. This is the +**preferred style for new code** — it is more readable and less error-prone +than positional args. + +```java +return goTemplate(""" + func $name:L(v $cborValue:T) ($type:T, error) { + return $coercer:T(v) + } + """, + Map.of( + "name", getDeserializerName(shape), + "cborValue", SmithyGoTypes.Encoding.Cbor.Value, + "type", symbolProvider.toSymbol(shape), + "coercer", coercer + )); +``` + +Rules: +- `goTemplate(String, Map...)` is a **static** method that returns a + `Writable` (a `Consumer` lambda). It does NOT write immediately. +- `writeGoTemplate(String, Map...)` is an **instance** method that writes + immediately to the writer. +- Maps are merged into the writer's context scope for the duration of the + template. Multiple maps can be passed and are applied in order. +- The writer pre-populates common symbols in context: `fmt.Sprintf`, + `fmt.Errorf`, `errors.As`, `context.Context`, `time.Now`. + +### Composing writables + +- `ChainWritable` — Collects multiple `Writable`s and composes them with + newlines between each. Use `.compose()` (with newlines) or + `.compose(false)` (without). + +### Symbol constants + +For symbols, use `SmithyGoDependency.*.valueSymbol("Name")` or +`SmithyGoDependency.*.pointableSymbol("Name")`. + diff --git a/vendor/github.com/hashicorp/consul/api/agent.go b/vendor/github.com/hashicorp/consul/api/agent.go index 355b2f467..fd23dee0e 100644 --- a/vendor/github.com/hashicorp/consul/api/agent.go +++ b/vendor/github.com/hashicorp/consul/api/agent.go @@ -159,6 +159,7 @@ type AgentService struct { Proxy *AgentServiceConnectProxyConfig `json:",omitempty"` Connect *AgentServiceConnect `json:",omitempty"` PeerName string `json:",omitempty"` + AI *AgentServiceAI `json:",omitempty" bexpr:"-"` // NOTE: If we ever set the ContentHash outside of singular service lookup then we may need // to include the Namespace in the hash. When we do, then we are in for lots of fun with tests. // For now though, ignoring it works well enough. @@ -211,6 +212,84 @@ type AgentServiceConnectProxyConfig struct { AccessLogs *AccessLogsConfig `json:",omitempty"` } +// AgentServiceAI is the public twin of the internal structs.ServiceAI: the +// inline AI role block on a service registration/lookup. It carries a Role +// discriminator and exactly one role-specific sub-block. Field names mirror the +// internal type so mapstructure-based conversion maps them automatically. +type AgentServiceAI struct { + Role string `json:",omitempty"` + InferenceModel *AgentAIInferenceModel `json:",omitempty"` + MCPServer *AgentAIMCPServer `json:",omitempty"` + Agent *AgentAIAgent `json:",omitempty"` +} + +// AgentAIInferenceModel is the role-specific config for the inference-model role. +type AgentAIInferenceModel struct { + Protocol string `json:",omitempty"` + Path string `json:",omitempty"` + Defaults *AgentAIModelDefaults `json:",omitempty"` +} + +// AgentAIModelDefaults carries optional request defaults for an inference model. +type AgentAIModelDefaults struct { + MaxTokens int `json:",omitempty"` + Temperature float64 `json:",omitempty"` +} + +// AgentAIMCPServer is the role-specific config for the mcp-server role. +type AgentAIMCPServer struct { + Transport string `json:",omitempty"` + Path string `json:",omitempty"` + ProtocolVersion string `json:",omitempty"` +} + +// AgentAIAgent is the role-specific config for the ai-agent role. +type AgentAIAgent struct { + Inference *AgentAIAgentInference `json:",omitempty"` + MCP *AgentAIAgentMCP `json:",omitempty"` + RateLimits *AgentAIAgentRateLimits `json:",omitempty"` + Interceptor *AgentAIAgentInterceptor `json:",omitempty"` +} + +// AgentAIAgentInference describes the inference specialization for an agent. +type AgentAIAgentInference struct { + Specialization []string `json:",omitempty"` + Vendor string `json:",omitempty"` +} + +// AgentAIAgentMCP is the MCP egress configuration for an agent. +type AgentAIAgentMCP struct { + Port int `json:",omitempty"` + HITL *AgentAIAgentMCPHITL `json:",omitempty"` +} + +// AgentAIAgentMCPHITL is the human-in-the-loop approval configuration for MCP +// tool calls. +type AgentAIAgentMCPHITL struct { + Port int `json:",omitempty"` + ApprovalTimeout string `json:",omitempty"` +} + +// AgentAIAgentRateLimits are per-agent tool-call rate limits. +type AgentAIAgentRateLimits struct { + ToolCallsPerMinute int `json:",omitempty"` + ToolCallsPerHour int `json:",omitempty"` +} + +// AgentAIAgentInterceptor configures the co-located governance interceptor the +// sidecar reaches over plaintext loopback. +type AgentAIAgentInterceptor struct { + Port int `json:",omitempty"` +} + +// AgentAISecret is a reference to a secret stored in an external provider. It +// never holds the literal secret value. +type AgentAISecret struct { + Provider string `json:",omitempty"` + Path string `json:",omitempty"` + Field string `json:",omitempty"` +} + const ( // MemberTagKeyACLMode is the key used to indicate what ACL mode the agent is // operating in. The values of this key will be one of the MemberACLMode constants @@ -365,6 +444,7 @@ type AgentServiceRegistration struct { Checks AgentServiceChecks Proxy *AgentServiceConnectProxyConfig `json:",omitempty"` Connect *AgentServiceConnect `json:",omitempty"` + AI *AgentServiceAI `json:",omitempty" bexpr:"-"` Namespace string `json:",omitempty" bexpr:"-" hash:"ignore"` Partition string `json:",omitempty" bexpr:"-" hash:"ignore"` Locality *Locality `json:",omitempty" bexpr:"-" hash:"ignore"` diff --git a/vendor/github.com/hashicorp/consul/api/config_entry.go b/vendor/github.com/hashicorp/consul/api/config_entry.go index 841550862..de45fe23c 100644 --- a/vendor/github.com/hashicorp/consul/api/config_entry.go +++ b/vendor/github.com/hashicorp/consul/api/config_entry.go @@ -329,6 +329,12 @@ type UpstreamLimits struct { // to the upstream cluster at a point in time. This is mostly applicable to HTTP/2 // clusters since all HTTP/1.1 requests are limited by MaxConnections. MaxConcurrentRequests *int `alias:"max_concurrent_requests"` + + // PassiveHealthCheck configuration determines how upstream proxy instances will + // be monitored for removal from the load balancing pool. When set on an API + // gateway's Defaults it applies to all routed services; a per-service value + // overrides it. + PassiveHealthCheck *PassiveHealthCheck `json:",omitempty" alias:"passive_health_check"` } // RateLimits is rate limiting configuration that is applied to diff --git a/vendor/github.com/hashicorp/consul/api/config_entry_gateways.go b/vendor/github.com/hashicorp/consul/api/config_entry_gateways.go index 457e4b33b..9c204f553 100644 --- a/vendor/github.com/hashicorp/consul/api/config_entry_gateways.go +++ b/vendor/github.com/hashicorp/consul/api/config_entry_gateways.go @@ -228,6 +228,24 @@ func (g *TerminatingGatewayConfigEntry) GetMeta() map[string]string { return g.M func (g *TerminatingGatewayConfigEntry) GetCreateIndex() uint64 { return g.CreateIndex } func (g *TerminatingGatewayConfigEntry) GetModifyIndex() uint64 { return g.ModifyIndex } +// APIGatewayListenerProtocol is the protocol that an APIGateway listener uses. +type APIGatewayListenerProtocol = string + +const ( + // APIGatewayListenerProtocolHTTP configures an HTTP/1.1 listener. + APIGatewayListenerProtocolHTTP APIGatewayListenerProtocol = "http" + // APIGatewayListenerProtocolHTTP2 configures an HTTP/2 listener. The + // downstream connection manager uses the HTTP/2 codec and advertises h2 + // via ALPN; the upstream cluster also negotiates HTTP/2 end-to-end. + APIGatewayListenerProtocolHTTP2 APIGatewayListenerProtocol = "http2" + // APIGatewayListenerProtocolGRPC configures a gRPC listener. It is + // identical to http2 at the transport level; Consul routes gRPC traffic + // using standard HTTP/2 path-based matching (/package.Service/Method). + APIGatewayListenerProtocolGRPC APIGatewayListenerProtocol = "grpc" + // APIGatewayListenerProtocolTCP configures a plain TCP listener. + APIGatewayListenerProtocolTCP APIGatewayListenerProtocol = "tcp" +) + // APIGatewayConfigEntry manages the configuration for an API gateway // with the given name. type APIGatewayConfigEntry struct { @@ -308,8 +326,10 @@ type APIGatewayListener struct { Hostname string // Port is the port at which this listener should bind. Port int - // Protocol is the protocol that a listener should use, it must - // either be "http" or "tcp" + // Protocol is the protocol that a listener should use. Valid values are + // APIGatewayListenerProtocolHTTP ("http"), APIGatewayListenerProtocolHTTP2 + // ("http2"), APIGatewayListenerProtocolGRPC ("grpc"), and + // APIGatewayListenerProtocolTCP ("tcp"). Protocol string // TLS is the TLS settings for the listener. TLS APIGatewayTLSConfiguration @@ -323,7 +343,7 @@ type APIGatewayListener struct { MaxRequestHeadersKB *uint32 `json:",omitempty"` } -// APIGatewayTLSConfiguration specifies the configuration of a listener’s +// APIGatewayTLSConfiguration specifies the configuration of a listener's // TLS settings. type APIGatewayTLSConfiguration struct { // Certificates is a set of references to certificates diff --git a/vendor/github.com/hashicorp/consul/api/config_entry_routes.go b/vendor/github.com/hashicorp/consul/api/config_entry_routes.go index 7f6f142f2..cc6d5363f 100644 --- a/vendor/github.com/hashicorp/consul/api/config_entry_routes.go +++ b/vendor/github.com/hashicorp/consul/api/config_entry_routes.go @@ -159,9 +159,10 @@ const ( // HTTPHeaderMatch specifies how a match should be done // on a request's headers. type HTTPHeaderMatch struct { - Match HTTPHeaderMatchType - Name string - Value string + Match HTTPHeaderMatchType + Name string + Value string + Invert bool `json:",omitempty"` } // HTTPPathMatchType specifies how path matching criteria diff --git a/vendor/github.com/hashicorp/consul/api/operator_feature_gate.go b/vendor/github.com/hashicorp/consul/api/operator_feature_gate.go new file mode 100644 index 000000000..62601a654 --- /dev/null +++ b/vendor/github.com/hashicorp/consul/api/operator_feature_gate.go @@ -0,0 +1,104 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package api + +import ( + "net/url" + "strconv" +) + +type FeatureGate struct { + Name string + Stage string + MinVersion string + DefaultEnabled bool + BeforeMinimumVersion string + Description string + Owner string + DesiredEnabled bool + EffectiveEnabled bool + Eligible bool + Source string + Reason string + PolicyIndex uint64 + StatusIndex uint64 +} + +type FeatureGateSetRequest struct { + Enabled bool +} + +type FeatureGateSetResponse struct { + Applied bool + Feature FeatureGate +} + +func (op *Operator) FeatureGateList(q *QueryOptions) ([]FeatureGate, *QueryMeta, error) { + r := op.c.newRequest("GET", "/v1/operator/features") + r.setQueryOptions(q) + rtt, resp, err := op.c.doRequest(r) + if err != nil { + return nil, nil, err + } + defer closeResponseBody(resp) + if err := requireOK(resp); err != nil { + return nil, nil, err + } + + meta := &QueryMeta{} + parseQueryMeta(resp, meta) + meta.RequestTime = rtt + var out []FeatureGate + if err := decodeBody(resp, &out); err != nil { + return nil, nil, err + } + return out, meta, nil +} + +func (op *Operator) FeatureGateGet(name string, q *QueryOptions) (*FeatureGate, *QueryMeta, error) { + r := op.c.newRequest("GET", "/v1/operator/feature/"+url.PathEscape(name)) + r.setQueryOptions(q) + rtt, resp, err := op.c.doRequest(r) + if err != nil { + return nil, nil, err + } + defer closeResponseBody(resp) + if err := requireOK(resp); err != nil { + return nil, nil, err + } + + meta := &QueryMeta{} + parseQueryMeta(resp, meta) + meta.RequestTime = rtt + var out FeatureGate + if err := decodeBody(resp, &out); err != nil { + return nil, nil, err + } + return &out, meta, nil +} + +// FeatureGateSet records explicit operator intent. expectedPolicyIndex zero +// means no caller-supplied CAS; the server still uses internal CAS fencing. +func (op *Operator) FeatureGateSet(name string, enabled bool, expectedPolicyIndex uint64, q *WriteOptions) (*FeatureGateSetResponse, error) { + r := op.c.newRequest("PUT", "/v1/operator/feature/"+url.PathEscape(name)) + r.setWriteOptions(q) + if expectedPolicyIndex != 0 { + r.params.Set("cas", strconv.FormatUint(expectedPolicyIndex, 10)) + } + r.obj = FeatureGateSetRequest{Enabled: enabled} + _, resp, err := op.c.doRequest(r) + if err != nil { + return nil, err + } + defer closeResponseBody(resp) + if err := requireOK(resp); err != nil { + return nil, err + } + + var out FeatureGateSetResponse + if err := decodeBody(resp, &out); err != nil { + return nil, err + } + return &out, nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 6fbdd185e..95771f49c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -120,7 +120,7 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url github.com/aws/aws-sdk-go-v2/service/internal/s3shared github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config -# github.com/aws/aws-sdk-go-v2/service/s3 v1.113.0 +# github.com/aws/aws-sdk-go-v2/service/s3 v1.113.1 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/s3 github.com/aws/aws-sdk-go-v2/service/s3/internal/arn @@ -320,8 +320,8 @@ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options # github.com/hashicorp/cap v0.13.0 ## explicit; go 1.24.0 github.com/hashicorp/cap/util -# github.com/hashicorp/consul/api v1.34.4 -## explicit; go 1.26 +# github.com/hashicorp/consul/api v1.34.5 +## explicit; go 1.26.7 github.com/hashicorp/consul/api # github.com/hashicorp/errwrap v1.1.0 ## explicit