Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindProjectRoot ¶
FindProjectRoot searches upward from CWD for a directory containing .musing.yaml and loads the project configuration
func GetAPIRepos ¶
func GetAPIRepos() []string
GetAPIRepos returns paths to expected API repositories Dynamically discovers repos relative to project root based on config
func MustFindProjectRoot ¶ added in v0.3.2
func MustFindProjectRoot() string
MustFindProjectRoot finds the project root or exits with a helpful error message
Types ¶
type DatabaseConfig ¶
type DatabaseConfig struct {
Type string `yaml:"type"` // mongodb, postgres, etc
Name string `yaml:"name"` // Database name
DevPort int `yaml:"devPort"`
ProdPort int `yaml:"prodPort"`
DataDir string `yaml:"dataDir"` // Relative path to data directory
Aliases map[string]string `yaml:"aliases,omitempty"` // Optional CLI alias → collection key (filename without .json)
}
DatabaseConfig represents database configuration
type ProductionConfig ¶
type ProductionConfig struct {
Server string `yaml:"server"` // SSH server (e.g., "root@your-server.com")
RemoteDBPort int `yaml:"remoteDBPort"` // Remote database port (typically same as devPort)
SSHKeyPath string `yaml:"sshKeyPath"` // Optional SSH key path (e.g., "~/.ssh/digital-ocean/id_ed25519")
}
ProductionConfig represents optional production deployment settings
type ProjectConfig ¶
type ProjectConfig struct {
Services []ServiceConfig `yaml:"services"`
Database DatabaseConfig `yaml:"database"`
Production *ProductionConfig `yaml:"production,omitempty"` // Optional production config
APIReposDir string `yaml:"apiReposDir,omitempty"` // Optional. Directory holding API repos. Relative paths resolve against the project root's parent. Absolute and ~-prefixed paths are honored as-is. Defaults to the project root's parent (sibling layout).
}
ProjectConfig represents the .musing.yaml configuration
type ServiceConfig ¶
type ServiceConfig struct {
Name string `yaml:"name"`
Port int `yaml:"port"`
Type string `yaml:"type"` // frontend, api, database
}
ServiceConfig represents a service in the stack
Click to show internal directories.
Click to hide internal directories.