config

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSConfig

type AWSConfig struct {
	// DefaultRegion is used when no region flag or profile region is set.
	DefaultRegion string `yaml:"default_region" json:"default_region"`

	// DefaultProfile is used when no --profile flag is provided.
	DefaultProfile string `yaml:"default_profile" json:"default_profile"`
}

AWSConfig holds AWS-specific defaults used when flags are not provided.

type Config

type Config struct {
	LLM  LLMConfig  `yaml:"llm"  json:"llm"`
	SaaS SaaSConfig `yaml:"saas" json:"saas"`
	AWS  AWSConfig  `yaml:"aws"  json:"aws"`
}

Config is the top-level application configuration. It is loaded from ~/.config/devops-proxy/config.yaml and must never be committed with real secrets.

type LLMConfig

type LLMConfig struct {
	// Provider selects the AI backend: "anthropic", "openai", or "none".
	Provider string `yaml:"provider" json:"provider"`

	// APIKey is the secret key for the selected provider.
	// Never committed to version control.
	APIKey string `yaml:"api_key" json:"api_key"`

	// Model is the specific model identifier (e.g. "claude-sonnet-4-6").
	Model string `yaml:"model" json:"model"`

	// MaxTokens caps the LLM response length.
	MaxTokens int `yaml:"max_tokens" json:"max_tokens"`
}

LLMConfig configures the optional AI backend.

type Loader

type Loader interface {
	// Load reads, parses, and validates the configuration file.
	Load() (*Config, error)

	// ConfigPath returns the absolute path to the configuration file.
	ConfigPath() string
}

Loader is the interface for reading Config from disk. Default implementation reads from ~/.config/devops-proxy/config.yaml.

type SaaSConfig

type SaaSConfig struct {
	// Endpoint is the base URL of the SaaS API.
	Endpoint string `yaml:"endpoint" json:"endpoint"`

	// Token is the bearer token for SaaS authentication.
	Token string `yaml:"token" json:"token"`
}

SaaSConfig holds future SaaS backend connection details.

Jump to

Keyboard shortcuts

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