Release Date: December 31, 2025
This release adds Infrastructure-as-Code (IaC) support for AWS Bedrock AgentCore deployments, completing key roadmap items from v0.1.0.
- IaC configuration in core - Shared config structs for CDK, Pulumi, and CloudFormation
- Pure CloudFormation generation - Deploy without CDK/Pulumi runtime dependencies
- New companion modules -
agentkit-aws-cdk(CDK) andagentkit-aws-pulumi(Pulumi) - AWS deployment guide - Comprehensive documentation for AWS deployment options
Shared infrastructure configuration that works across all IaC tools:
import "github.com/agentplexus/agentkit/platforms/agentcore/iac"
// Load from YAML or JSON
config, _ := iac.LoadStackConfigFromFile("config.yaml")
// Or build programmatically
config := &iac.StackConfig{
StackName: "my-agents",
Agents: []iac.AgentConfig{
{Name: "research", ContainerImage: "ghcr.io/example/research:latest"},
{Name: "orchestration", ContainerImage: "ghcr.io/example/orchestration:latest", IsDefault: true},
},
VPC: iac.DefaultVPCConfig(),
Observability: &iac.ObservabilityConfig{Provider: "opik", Project: "my-agents"},
}| Type | Description |
|---|---|
StackConfig |
Complete deployment configuration |
AgentConfig |
Individual agent settings (memory, timeout, env vars) |
VPCConfig |
VPC/networking (create new or use existing) |
SecretsConfig |
AWS Secrets Manager integration |
ObservabilityConfig |
Opik, Langfuse, Phoenix, or CloudWatch |
IAMConfig |
Execution role and Bedrock access |
// From file (auto-detects JSON/YAML)
config, _ := iac.LoadStackConfigFromFile("config.yaml")
// From raw data
config, _ := iac.LoadStackConfigFromJSON(jsonBytes)
config, _ := iac.LoadStackConfigFromYAML(yamlBytes)
// Write example config
iac.WriteExampleConfig("example.yaml")Generate CloudFormation templates without CDK or Pulumi:
import "github.com/agentplexus/agentkit/platforms/agentcore/iac"
config, _ := iac.LoadStackConfigFromFile("config.yaml")
iac.GenerateCloudFormationFile(config, "template.yaml")aws cloudformation deploy \
--template-file template.yaml \
--stack-name my-agents \
--capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAMZero additional dependencies - uses only gopkg.in/yaml.v3 which is already in agentkit.
New comprehensive guide at docs/aws-deployment-guide.md covering:
- Deployment target comparison (AgentCore vs EKS vs ECS)
- IaC tool selection (CDK vs Pulumi vs CloudFormation)
- Decision tree for choosing deployment approach
- Module architecture and dependency strategy
AWS CDK constructs for AgentCore deployment:
go get github.com/agentplexus/agentkit-aws-cdkimport "github.com/agentplexus/agentkit-aws-cdk/agentcore"
app := agentcore.NewApp()
agentcore.NewStackBuilder("my-agents").
WithAgents(research, orchestration).
WithOpik("my-project", secretARN).
Build(app)
agentcore.Synth(app)Dependencies: 21 transitive packages (CDK uses lightweight jsii bindings)
Pulumi components for AgentCore deployment:
go get github.com/agentplexus/agentkit-aws-pulumiimport "github.com/agentplexus/agentkit-aws-pulumi/agentcore"
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := agentcore.NewStackBuilder("my-agents").
WithAgents(research, orchestration).
WithOpik("my-project", secretARN).
Build(ctx)
return err
})Dependencies: 340 transitive packages (native Go Pulumi SDK)
| Approach | Module | Dependencies | Runtime Required |
|---|---|---|---|
| Pure CloudFormation | agentkit only |
0 extra | AWS CLI only |
| CDK | agentkit-aws-cdk |
+21 | Node.js (jsii) |
| Pulumi | agentkit-aws-pulumi |
+340 | Pulumi CLI |
All approaches share the same YAML/JSON configuration schema.
agentkit/
├── platforms/
│ ├── agentcore/
│ │ ├── iac/ # NEW: Shared IaC config
│ │ │ ├── config.go # Configuration structs
│ │ │ ├── loader.go # JSON/YAML loading
│ │ │ └── cloudformation.go # CF template generation
│ │ └── *.go # Runtime (unchanged)
│ └── kubernetes/ # Unchanged
└── docs/
└── aws-deployment-guide.md # NEW: Deployment documentation
- AWS CDK constructs for AgentCore deployment
- Pulumi components for AgentCore deployment
- Pure CloudFormation template generation
- Terraform modules for AgentCore
- ECS/Fargate deployment support
- Extended Helm chart library
- Additional LLM provider adapters
- Streaming response support
None. This release is fully backward compatible with v0.1.0.
No migration required. Existing v0.1.0 code continues to work unchanged.
To use the new IaC features:
// Add import
import "github.com/agentplexus/agentkit/platforms/agentcore/iac"
// Use config loading and CF generation
config, _ := iac.LoadStackConfigFromFile("config.yaml")
iac.GenerateCloudFormationFile(config, "template.yaml")# Core library (includes IaC config and CF generation)
go get github.com/agentplexus/agentkit
# Optional: CDK support
go get github.com/agentplexus/agentkit-aws-cdk
# Optional: Pulumi support
go get github.com/agentplexus/agentkit-aws-pulumiMIT License