TazPod: Config Detail
Level 3 (Detail) — .tazpod/config.yaml structure and all fields.
Concept
The config file at .tazpod/config.yaml defines the project-local TazPod runtime contract. It is loaded by loadConfigs() in cmd/tazpod/config.go.
Config Struct
File: cmd/tazpod/config.go — Config (lines 12-19)
type Config struct {
Image string `yaml:"image"`
ContainerName string `yaml:"container_name"`
User string `yaml:"user"`
GhostMode bool `yaml:"ghost_mode"`
Features Features `yaml:"features"`
AwsSso AwsSsoConfig `yaml:"aws_sso"`
Providers map[string]ProviderConfig `yaml:"providers"`
}
Fields
| Field | Type | Default | Description |
|---|---|---|---|
image | string | tazzo/tazpod-ai:latest | Docker image for the operator container |
container_name | string | <folder>-lab | Docker container name |
user | string | tazpod | Username inside the container |
ghost_mode | bool | true | Ghost mode enabled |
features.debug | bool | false | Enable debug logging |
aws_sso.profile | string | — | AWS SSO profile name for S3 auth |
providers | map | — | Provider-specific configs (e.g., db_host per namespace) |
Features
type Features struct {
Debug bool `yaml:"debug"`
}
When debug: true, the CLI sets slog.LevelDebug and prints debug-level log messages.
AwsSsoConfig
type AwsSsoConfig struct {
Profile string `yaml:"profile"`
}
The profile is passed to aws sso login --profile <profile> and to NewS3Client() for S3 operations.
ProviderConfig
type ProviderConfig struct {
DBHost string `yaml:"db_host"`
}
Used to store per-provider database host addresses (e.g., for tazlab-db, tazlab-k8s).
Example Config
image: tazzo/tazpod-ai:latest
container_name: tazpod-lab
user: tazpod
ghost_mode: true
features:
debug: false
aws_sso:
profile: tazlab
providers:
tazlab-db:
db_host: tazlab-db-primary.tazlab-db.svc.cluster.local
Config Loading
File: cmd/tazpod/vault_cmd.go — loadConfigs() (lines 46-59)
data, err := os.ReadFile(ConfigPath)
// ConfigPath = filepath.Join(".tazpod", "config.yaml")
if os.IsNotExist(err) { return } // first run, no config yet
yaml.Unmarshal(data, &cfg)
If the file doesn’t exist, the config remains at zero values — smartEntry() will offer initProject() to create it.
See Also
- Parent hub: tazpod
- Sibling details: Container Lifecycle Detail, Vault Lifecycle Detail
- Reference: Config YAML Example