deployer

package
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetApplicationURL

func GetApplicationURL(ctx context.Context, asgName, region string, port int, verbose bool) (string, error)

GetApplicationURL constructs the application URL and waits for it to be ready

func ParsePort

func ParsePort(portStr string) (int, error)

ParsePort converts a string port to int

func WaitForApplicationReady

func WaitForApplicationReady(ctx context.Context, url string, timeout time.Duration, verbose bool) error

WaitForApplicationReady waits for the application to respond to HTTP requests

Types

type DeployConfig

type DeployConfig struct {
	Strategy     string
	Analysis     *types.Analysis
	UserPrompt   string
	WorkDir      string
	AWSRegion    string
	TerraformBin string
	Verbose      bool

	// LLM information
	LLMProvider string
	LLMModel    string

	// EC2 sizing
	EC2InstanceType string
	EC2VolumeSize   int

	// Lambda sizing
	LambdaMemory              int
	LambdaTimeout             int
	LambdaReservedConcurrency int

	// EKS sizing
	EKSNodeType       string
	EKSMinNodes       int
	EKSMaxNodes       int
	EKSDesiredNodes   int
	EKSNodeVolumeSize int
}

DeployConfig contains deployment configuration

type Deployer

type Deployer struct {
	// contains filtered or unexported fields
}

Deployer orchestrates the deployment process

func NewDeployer

func NewDeployer(config *DeployConfig, storeInstance store.Store) *Deployer

NewDeployer creates a new Deployer instance

func (*Deployer) Deploy

func (d *Deployer) Deploy() (*types.DeploymentResult, error)

Deploy executes the deployment workflow

func (*Deployer) SetLLMClient

func (d *Deployer) SetLLMClient(client *llm.Client)

SetLLMClient sets the LLM client for the deployer

type InstanceInfo

type InstanceInfo struct {
	InstanceID string
	PublicIP   string
	PrivateIP  string
	State      string
}

InstanceInfo contains information about an EC2 instance

func GetASGInstance

func GetASGInstance(ctx context.Context, asgName, region string, verbose bool) (*InstanceInfo, error)

GetASGInstance retrieves the public IP of the first running instance in an ASG

func WaitForASGInstance

func WaitForASGInstance(ctx context.Context, asgName, region string, timeout time.Duration, verbose bool) (*InstanceInfo, error)

WaitForASGInstance waits for an instance to be running in the ASG

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL