Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateConfig ¶
ValidateConfig validates the entire configuration
func WriteConfig ¶
WriteConfig writes the configuration to ~/.scai.yaml
Types ¶
type BackendConfig ¶
type BackendConfig struct {
Type string `yaml:"type"` // s3
S3Bucket string `yaml:"s3_bucket"` // S3 bucket name for state
S3Region string `yaml:"s3_region"` // S3 bucket region
S3Key string `yaml:"s3_key"` // State file path in bucket
}
BackendConfig holds Terraform backend configuration
type CloudConfig ¶
type CloudConfig struct {
Provider string `yaml:"provider"` // aws, gcp
DefaultRegion string `yaml:"default_region"` // AWS region (e.g., us-east-1)
}
CloudConfig holds cloud provider configuration
type Config ¶
type Config struct {
LLM LLMConfig `yaml:"llm"`
Cloud CloudConfig `yaml:"cloud"`
Terraform TerraformConfig `yaml:"terraform"`
}
Config represents the SCAI configuration structure
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns a configuration with sensible defaults
func ReadConfig ¶
ReadConfig reads the configuration from ~/.scai.yaml
type GeminiConfig ¶
type GeminiConfig struct {
APIKey string `yaml:"api_key,omitempty"` // Google AI Studio API key
Model string `yaml:"model,omitempty"` // gemini-2.0-pro-exp or gemini-2.0-flash
}
GeminiConfig holds Google Gemini configuration
type LLMConfig ¶
type LLMConfig struct {
Provider string `yaml:"provider"` // ollama, gemini, openai
Ollama OllamaConfig `yaml:"ollama,omitempty"`
Gemini GeminiConfig `yaml:"gemini,omitempty"`
OpenAI OpenAIConfig `yaml:"openai,omitempty"`
}
LLMConfig holds LLM provider configuration
type OllamaConfig ¶
type OllamaConfig struct {
URL string `yaml:"url,omitempty"` // http://localhost:11434 or remote URL
Model string `yaml:"model,omitempty"` // qwen2.5-coder:7b
UseDocker bool `yaml:"use_docker,omitempty"` // Whether to use Docker
}
OllamaConfig holds Ollama-specific configuration
type OpenAIConfig ¶
type OpenAIConfig struct {
APIKey string `yaml:"api_key,omitempty"` // OpenAI API key
Model string `yaml:"model,omitempty"` // gpt-4o or gpt-4o-mini
}
OpenAIConfig holds OpenAI configuration
type TerraformConfig ¶
type TerraformConfig struct {
Backend BackendConfig `yaml:"backend"`
Binary string `yaml:"binary"` // tofu or terraform
}
TerraformConfig holds Terraform/OpenTofu configuration
Click to show internal directories.
Click to hide internal directories.