Skip to content

Commit e2005b9

Browse files
grokifyclaude
andcommitted
feat(iac): add protocol, authorization, and gateway configuration
Add AgentCore-specific configuration options: - Protocol field for HTTP, MCP, A2A communication - AuthorizerConfig for IAM/Lambda authorization - EnableMemory for stateful agents - GatewayConfig for multi-agent routing Includes validation, defaults, and helper functions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 1cac623 commit e2005b9

File tree

4 files changed

+422
-0
lines changed

4 files changed

+422
-0
lines changed

CHANGELOG.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"ir_version": "1.0",
3+
"project": "agentkit",
4+
"repository": "https://github.com/agentplexus/agentkit",
5+
"releases": [
6+
{
7+
"version": "0.2.0",
8+
"date": "2025-12-31",
9+
"added": [
10+
{ "description": "IaC configuration package for AgentCore deployments" }
11+
],
12+
"changed": [
13+
{ "description": "Bump `github.com/agentplexus/vaultguard` from 0.1.0 to 0.2.0", "component": "vaultguard", "version": "0.2.0" }
14+
]
15+
},
16+
{
17+
"version": "0.1.0",
18+
"date": "2025-12-29",
19+
"added": [
20+
{ "description": "Initial release with core agent framework" },
21+
{ "description": "A2A protocol server factory" },
22+
{ "description": "HTTP server factory" },
23+
{ "description": "Multi-provider LLM abstraction (Gemini, Claude, OpenAI, xAI, Ollama)" },
24+
{ "description": "Eino workflow orchestration integration" },
25+
{ "description": "AWS Bedrock AgentCore runtime support" },
26+
{ "description": "Kubernetes + Helm deployment support" },
27+
{ "description": "VaultGuard credential management integration" },
28+
{ "description": "Configuration management utilities" }
29+
],
30+
"changed": [
31+
{ "description": "Bump `github.com/cloudwego/eino` from 0.7.14 to 0.7.15", "component": "eino", "version": "0.7.15" }
32+
],
33+
"fixed": [
34+
{ "description": "Remove unused error return from `loadSecureCredentials`" }
35+
]
36+
}
37+
]
38+
}

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
7+
and this changelog is generated by [Structured Changelog](https://github.com/grokify/structured-changelog).
8+
9+
## [Unreleased]
10+
11+
## [0.3.0] - 2026-01-04
12+
13+
### Added
14+
15+
- Protocol configuration for agents (`HTTP`, `MCP`, `A2A`)
16+
- Authorization configuration (`AuthorizerConfig` type)
17+
- Memory support for stateful agents (`EnableMemory` field)
18+
- Gateway configuration for multi-agent routing (`GatewayConfig` type)
19+
- `ValidProtocols()` helper function
20+
- `ValidAuthorizerTypes()` helper function
21+
22+
### Changed
23+
24+
- Enhanced validation for protocol and authorizer fields
25+
- Gateway targets validated against defined agent names
26+
27+
## [0.2.0] - 2025-12-31
28+
29+
### Added
30+
31+
- IaC configuration package for AgentCore deployments
32+
33+
### Changed
34+
35+
- Bump `github.com/agentplexus/vaultguard` from 0.1.0 to 0.2.0
36+
37+
## [0.1.0] - 2025-12-29
38+
39+
### Added
40+
41+
- Initial release with core agent framework
42+
- A2A protocol server factory
43+
- HTTP server factory
44+
- Multi-provider LLM abstraction (Gemini, Claude, OpenAI, xAI, Ollama)
45+
- Eino workflow orchestration integration
46+
- AWS Bedrock AgentCore runtime support
47+
- Kubernetes + Helm deployment support
48+
- VaultGuard credential management integration
49+
- Configuration management utilities
50+
51+
### Changed
52+
53+
- Bump `github.com/cloudwego/eino` from 0.7.14 to 0.7.15
54+
55+
### Fixed
56+
57+
- Remove unused error return from `loadSecureCredentials`
58+
59+
[unreleased]: https://github.com/agentplexus/agentkit/compare/v0.3.0...HEAD
60+
[0.3.0]: https://github.com/agentplexus/agentkit/compare/v0.2.0...v0.3.0
61+
[0.2.0]: https://github.com/agentplexus/agentkit/compare/v0.1.0...v0.2.0
62+
[0.1.0]: https://github.com/agentplexus/agentkit/releases/tag/v0.1.0

RELEASE_NOTES_v0.3.0.md

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
# AgentKit v0.3.0 Release Notes
2+
3+
**Release Date:** January 4, 2026
4+
5+
This release adds AgentCore-specific configuration options for protocol selection, authorization, memory, and multi-agent gateway support.
6+
7+
## Highlights
8+
9+
- **Protocol configuration** - Choose HTTP, MCP, or A2A communication protocols
10+
- **Authorization support** - Configure IAM or Lambda authorizers for inbound requests
11+
- **Memory support** - Enable persistent memory for stateful agents
12+
- **Gateway configuration** - Configure multi-agent routing gateways
13+
14+
## New Features
15+
16+
### Protocol Configuration
17+
18+
Agents can now specify their communication protocol:
19+
20+
```yaml
21+
agents:
22+
- name: research
23+
containerImage: ghcr.io/example/research:latest
24+
protocol: HTTP # or MCP, A2A
25+
```
26+
27+
```go
28+
agent := iac.AgentConfig{
29+
Name: "research",
30+
ContainerImage: "ghcr.io/example/research:latest",
31+
Protocol: "MCP", // Model Context Protocol
32+
}
33+
```
34+
35+
Supported protocols:
36+
37+
| Protocol | Description |
38+
|----------|-------------|
39+
| `HTTP` | Standard HTTP/REST (default) |
40+
| `MCP` | Model Context Protocol for tool integration |
41+
| `A2A` | Agent-to-Agent Protocol for inter-agent communication |
42+
43+
### Authorization Configuration
44+
45+
Configure inbound authorization for agent endpoints:
46+
47+
```yaml
48+
agents:
49+
- name: secure-agent
50+
containerImage: ghcr.io/example/agent:latest
51+
authorizer:
52+
type: IAM # or LAMBDA, NONE
53+
```
54+
55+
```go
56+
agent := iac.AgentConfig{
57+
Name: "secure-agent",
58+
ContainerImage: "ghcr.io/example/agent:latest",
59+
Authorizer: &iac.AuthorizerConfig{
60+
Type: "LAMBDA",
61+
LambdaARN: "arn:aws:lambda:us-east-1:123456789012:function:my-authorizer",
62+
},
63+
}
64+
```
65+
66+
Supported authorizer types:
67+
68+
| Type | Description |
69+
|------|-------------|
70+
| `NONE` | No authorization (default) |
71+
| `IAM` | AWS IAM-based authorization |
72+
| `LAMBDA` | Custom Lambda authorizer |
73+
74+
### Memory Support
75+
76+
Enable persistent memory for stateful agents:
77+
78+
```yaml
79+
agents:
80+
- name: assistant
81+
containerImage: ghcr.io/example/assistant:latest
82+
enableMemory: true
83+
```
84+
85+
### Gateway Configuration
86+
87+
Configure multi-agent gateways for routing requests:
88+
89+
```yaml
90+
gateway:
91+
enabled: true
92+
name: my-gateway
93+
description: Multi-agent routing gateway
94+
targets:
95+
- research
96+
- synthesis
97+
- orchestration
98+
```
99+
100+
```go
101+
config := &iac.StackConfig{
102+
StackName: "my-agents",
103+
Gateway: &iac.GatewayConfig{
104+
Enabled: true,
105+
Name: "my-gateway",
106+
Description: "Multi-agent routing gateway",
107+
Targets: []string{"research", "synthesis"},
108+
},
109+
}
110+
```
111+
112+
## New Types
113+
114+
### AuthorizerConfig
115+
116+
```go
117+
type AuthorizerConfig struct {
118+
Type string `json:"type" yaml:"type"` // IAM, LAMBDA, NONE
119+
LambdaARN string `json:"lambdaArn,omitempty" yaml:"lambdaArn,omitempty"`
120+
}
121+
```
122+
123+
### GatewayConfig
124+
125+
```go
126+
type GatewayConfig struct {
127+
Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
128+
Name string `json:"name,omitempty" yaml:"name,omitempty"`
129+
Description string `json:"description,omitempty" yaml:"description,omitempty"`
130+
Targets []string `json:"targets,omitempty" yaml:"targets,omitempty"`
131+
}
132+
```
133+
134+
## New Helper Functions
135+
136+
```go
137+
// ValidProtocols returns valid agent protocols
138+
iac.ValidProtocols() // ["HTTP", "MCP", "A2A"]
139+
140+
// ValidAuthorizerTypes returns valid authorizer types
141+
iac.ValidAuthorizerTypes() // ["IAM", "LAMBDA", "NONE"]
142+
```
143+
144+
## Enhanced Validation
145+
146+
- Protocol values validated against allowed list
147+
- Authorizer type validated against allowed list
148+
- Lambda ARN required when authorizer type is LAMBDA
149+
- Gateway targets validated against defined agent names
150+
151+
## Example Configuration
152+
153+
```yaml
154+
stackName: stats-agent-team
155+
description: Statistics research and verification system
156+
157+
agents:
158+
- name: research
159+
containerImage: ghcr.io/agentplexus/stats-agent-research:v0.5.1
160+
memoryMB: 512
161+
timeoutSeconds: 30
162+
protocol: HTTP
163+
description: Research agent
164+
165+
- name: orchestration
166+
containerImage: ghcr.io/agentplexus/stats-agent-orchestration:v0.5.1
167+
memoryMB: 512
168+
timeoutSeconds: 300
169+
protocol: HTTP
170+
isDefault: true
171+
authorizer:
172+
type: IAM
173+
174+
gateway:
175+
enabled: true
176+
name: stats-gateway
177+
targets:
178+
- research
179+
- orchestration
180+
181+
vpc:
182+
createVPC: true
183+
184+
observability:
185+
provider: opik
186+
project: stats-agent-team
187+
```
188+
189+
## Breaking Changes
190+
191+
None. This release is fully backward compatible with v0.2.0.
192+
193+
## Migration Guide
194+
195+
No migration required. New fields are optional with sensible defaults:
196+
197+
- `protocol` defaults to `"HTTP"`
198+
- `authorizer` defaults to `nil` (no authorization)
199+
- `enableMemory` defaults to `false`
200+
- `gateway` defaults to `nil` (no gateway)
201+
202+
## Installation
203+
204+
```bash
205+
go get github.com/agentplexus/agentkit@v0.3.0
206+
```
207+
208+
## License
209+
210+
MIT License

0 commit comments

Comments
 (0)