Skip to content

Commit e355e1b

Browse files
grokifyclaude
andcommitted
feat: Add IaC configuration package for AgentCore deployments
- Add platforms/agentcore/iac/ package with shared config structs - Add JSON/YAML config loading (LoadStackConfigFromFile) - Add pure CloudFormation template generation (GenerateCloudFormation) - Add AWS deployment guide documentation - Add RELEASE_NOTES_v0.2.0.md This enables deployment via CDK, Pulumi, or pure CloudFormation using the same configuration schema. Companion modules: - agentkit-aws (CDK constructs) - agentkit-pulumi-aws (Pulumi components) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent d7950f4 commit e355e1b

File tree

7 files changed

+1489
-48
lines changed

7 files changed

+1489
-48
lines changed

RELEASE_NOTES_v0.2.0.md

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
# AgentKit v0.2.0 Release Notes
2+
3+
**Release Date:** December 31, 2025
4+
5+
This release adds Infrastructure-as-Code (IaC) support for AWS Bedrock AgentCore deployments, completing key roadmap items from v0.1.0.
6+
7+
## Highlights
8+
9+
- **IaC configuration in core** - Shared config structs for CDK, Pulumi, and CloudFormation
10+
- **Pure CloudFormation generation** - Deploy without CDK/Pulumi runtime dependencies
11+
- **New companion modules** - `agentkit-aws` (CDK) and `agentkit-pulumi-aws` (Pulumi)
12+
- **AWS deployment guide** - Comprehensive documentation for AWS deployment options
13+
14+
## New Features
15+
16+
### IaC Configuration Package (`platforms/agentcore/iac/`)
17+
18+
Shared infrastructure configuration that works across all IaC tools:
19+
20+
```go
21+
import "github.com/agentplexus/agentkit/platforms/agentcore/iac"
22+
23+
// Load from YAML or JSON
24+
config, _ := iac.LoadStackConfigFromFile("config.yaml")
25+
26+
// Or build programmatically
27+
config := &iac.StackConfig{
28+
StackName: "my-agents",
29+
Agents: []iac.AgentConfig{
30+
{Name: "research", ContainerImage: "ghcr.io/example/research:latest"},
31+
{Name: "orchestration", ContainerImage: "ghcr.io/example/orchestration:latest", IsDefault: true},
32+
},
33+
VPC: iac.DefaultVPCConfig(),
34+
Observability: &iac.ObservabilityConfig{Provider: "opik", Project: "my-agents"},
35+
}
36+
```
37+
38+
#### Configuration Types
39+
40+
| Type | Description |
41+
|------|-------------|
42+
| `StackConfig` | Complete deployment configuration |
43+
| `AgentConfig` | Individual agent settings (memory, timeout, env vars) |
44+
| `VPCConfig` | VPC/networking (create new or use existing) |
45+
| `SecretsConfig` | AWS Secrets Manager integration |
46+
| `ObservabilityConfig` | Opik, Langfuse, Phoenix, or CloudWatch |
47+
| `IAMConfig` | Execution role and Bedrock access |
48+
49+
#### Config Loading
50+
51+
```go
52+
// From file (auto-detects JSON/YAML)
53+
config, _ := iac.LoadStackConfigFromFile("config.yaml")
54+
55+
// From raw data
56+
config, _ := iac.LoadStackConfigFromJSON(jsonBytes)
57+
config, _ := iac.LoadStackConfigFromYAML(yamlBytes)
58+
59+
// Write example config
60+
iac.WriteExampleConfig("example.yaml")
61+
```
62+
63+
### Pure CloudFormation Generation
64+
65+
Generate CloudFormation templates without CDK or Pulumi:
66+
67+
```go
68+
import "github.com/agentplexus/agentkit/platforms/agentcore/iac"
69+
70+
config, _ := iac.LoadStackConfigFromFile("config.yaml")
71+
iac.GenerateCloudFormationFile(config, "template.yaml")
72+
```
73+
74+
```bash
75+
aws cloudformation deploy \
76+
--template-file template.yaml \
77+
--stack-name my-agents \
78+
--capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
79+
```
80+
81+
**Zero additional dependencies** - uses only `gopkg.in/yaml.v3` which is already in agentkit.
82+
83+
### AWS Deployment Documentation
84+
85+
New comprehensive guide at `docs/aws-deployment-guide.md` covering:
86+
87+
- Deployment target comparison (AgentCore vs EKS vs ECS)
88+
- IaC tool selection (CDK vs Pulumi vs CloudFormation)
89+
- Decision tree for choosing deployment approach
90+
- Module architecture and dependency strategy
91+
92+
## Companion Modules
93+
94+
### agentkit-aws (CDK)
95+
96+
AWS CDK constructs for AgentCore deployment:
97+
98+
```bash
99+
go get github.com/agentplexus/agentkit-aws
100+
```
101+
102+
```go
103+
import "github.com/agentplexus/agentkit-aws/agentcore"
104+
105+
app := agentcore.NewApp()
106+
agentcore.NewStackBuilder("my-agents").
107+
WithAgents(research, orchestration).
108+
WithOpik("my-project", secretARN).
109+
Build(app)
110+
agentcore.Synth(app)
111+
```
112+
113+
**Dependencies:** 21 transitive packages (CDK uses lightweight jsii bindings)
114+
115+
### agentkit-pulumi-aws (Pulumi)
116+
117+
Pulumi components for AgentCore deployment:
118+
119+
```bash
120+
go get github.com/agentplexus/agentkit-pulumi-aws
121+
```
122+
123+
```go
124+
import "github.com/agentplexus/agentkit-pulumi-aws/agentcore"
125+
126+
pulumi.Run(func(ctx *pulumi.Context) error {
127+
_, err := agentcore.NewStackBuilder("my-agents").
128+
WithAgents(research, orchestration).
129+
WithOpik("my-project", secretARN).
130+
Build(ctx)
131+
return err
132+
})
133+
```
134+
135+
**Dependencies:** 340 transitive packages (native Go Pulumi SDK)
136+
137+
## IaC Approach Comparison
138+
139+
| Approach | Module | Dependencies | Runtime Required |
140+
|----------|--------|--------------|------------------|
141+
| **Pure CloudFormation** | `agentkit` only | 0 extra | AWS CLI only |
142+
| **CDK** | `agentkit-aws` | +21 | Node.js (jsii) |
143+
| **Pulumi** | `agentkit-pulumi-aws` | +340 | Pulumi CLI |
144+
145+
All approaches share the same YAML/JSON configuration schema.
146+
147+
## Package Structure
148+
149+
```
150+
agentkit/
151+
├── platforms/
152+
│ ├── agentcore/
153+
│ │ ├── iac/ # NEW: Shared IaC config
154+
│ │ │ ├── config.go # Configuration structs
155+
│ │ │ ├── loader.go # JSON/YAML loading
156+
│ │ │ └── cloudformation.go # CF template generation
157+
│ │ └── *.go # Runtime (unchanged)
158+
│ └── kubernetes/ # Unchanged
159+
└── docs/
160+
└── aws-deployment-guide.md # NEW: Deployment documentation
161+
```
162+
163+
## Roadmap Progress
164+
165+
### Completed in v0.2.0
166+
167+
- [x] AWS CDK constructs for AgentCore deployment
168+
- [x] Pulumi components for AgentCore deployment
169+
- [x] Pure CloudFormation template generation
170+
171+
### Remaining
172+
173+
- [ ] Terraform modules for AgentCore
174+
- [ ] ECS/Fargate deployment support
175+
- [ ] Extended Helm chart library
176+
- [ ] Additional LLM provider adapters
177+
- [ ] Streaming response support
178+
179+
## Breaking Changes
180+
181+
None. This release is fully backward compatible with v0.1.0.
182+
183+
## Migration Guide
184+
185+
No migration required. Existing v0.1.0 code continues to work unchanged.
186+
187+
To use the new IaC features:
188+
189+
```go
190+
// Add import
191+
import "github.com/agentplexus/agentkit/platforms/agentcore/iac"
192+
193+
// Use config loading and CF generation
194+
config, _ := iac.LoadStackConfigFromFile("config.yaml")
195+
iac.GenerateCloudFormationFile(config, "template.yaml")
196+
```
197+
198+
## Installation
199+
200+
```bash
201+
# Core library (includes IaC config and CF generation)
202+
go get github.com/agentplexus/agentkit
203+
204+
# Optional: CDK support
205+
go get github.com/agentplexus/agentkit-aws
206+
207+
# Optional: Pulumi support
208+
go get github.com/agentplexus/agentkit-pulumi-aws
209+
```
210+
211+
## License
212+
213+
MIT License

0 commit comments

Comments
 (0)