Skip to content

AgentKit v0.6.0 Release Notes

Release Date: April 20, 2026

Highlights

This release introduces a deployment provider system for multi-cloud container deployments. The deploy/ package provides a unified interface for deploying agents to various cloud platforms.

New Features

Deployment Provider System

A new deploy/ package provides infrastructure for deploying agents to cloud container services:

import (
    "github.com/plexusone/agentkit/deploy"
    _ "github.com/plexusone/agentkit-aws-pulumi/deploy/providers/lightsail"
)

// Load configuration from YAML
cfg, err := deploy.LoadDeployConfig("deploy.yaml")

// Get provider (respects AGENTKIT_DEPLOY_PROVIDER env var)
provider, err := deploy.GetProvider(cfg)
defer provider.Close()

// Deploy
status, err := provider.Deploy(ctx, cfg)
fmt.Println(status.Outputs["serviceUrl"])

Provider Interface

The Provider interface enables pluggable cloud backends:

type Provider interface {
    Deploy(ctx context.Context, cfg *DeployConfig) (*DeploymentStatus, error)
    Status(ctx context.Context, stackName string) (*DeploymentStatus, error)
    Destroy(ctx context.Context, stackName string) error
    Name() string
    Capabilities() Capabilities
    Close() error
}

Provider Registry

Thread-safe registry with priority-based provider selection:

// Register a provider (typically in init())
deploy.RegisterProvider("lightsail", factory, 100)

// List available providers (sorted by priority)
providers := deploy.ListProviders()

// Check if provider exists
if deploy.HasProvider("lightsail") {
    // ...
}

Configuration

YAML-based configuration with environment variable overrides:

stack:
  name: my-agent-prod
  project: my-project
  region: us-east-1
  image:
    repository: myorg/myagent
    tag: v1.0.0
  resources:
    cpu: "0.5"
    memory: "1024"
    port: 8080
  environment:
    LOG_LEVEL: info

provider: lightsail
dry_run: false

Environment Variables

Variable Description Default
AGENTKIT_DEPLOY_PROVIDER Override provider selection lightsail
PULUMI_BACKEND_URL Pulumi state backend URL -
AGENTKIT_DEPLOY_DRY_RUN Enable dry-run mode false
AGENTKIT_DEPLOY_AUTO_APPROVE Skip confirmation prompts false

Deployment Status

Track deployment state and resources:

status, err := provider.Deploy(ctx, cfg)

fmt.Printf("State: %s\n", status.State)        // succeeded, failed, etc.
fmt.Printf("Duration: %s\n", status.Duration)
fmt.Printf("URL: %s\n", status.Outputs["serviceUrl"])

for _, r := range status.Resources {
    fmt.Printf("  %s: %s (%s)\n", r.Type, r.Name, r.State)
}

Provider Implementations

Provider implementations are in separate modules to minimize dependencies:

Module Provider Description
agentkit-aws-pulumi lightsail AWS Lightsail Container Service
agentkit-aws-pulumi ecs AWS ECS Fargate (planned)

Installation

go get github.com/plexusone/agentkit@v0.6.0

For AWS Lightsail deployments:

go get github.com/plexusone/agentkit-aws-pulumi@latest

Full Changelog

See CHANGELOG.md for the complete list of changes.