Documentation
¶
Index ¶
- type Alert
- type AppConfig
- type Backup
- type Config
- func (c *Config) AddContainerPort(port string) error
- func (c *Config) AddContainerVolume(volume string) error
- func (c *Config) AddDockerBuildArg(key, value string)
- func (c *Config) AddFailureWebhook(url string)
- func (c *Config) AddSuccessWebhook(url string)
- func (c *Config) ConfigOkay() (bool, error)
- func (c *Config) RemoveContainerPort(port string) error
- func (c *Config) RemoveContainerVolume(volume string) error
- func (c *Config) RemoveDockerBuildArg(key string)
- func (c *Config) RemoveFailureWebhook(url string) error
- func (c *Config) RemoveSuccessWebhook(url string) error
- func (c *Config) Save(filename string) error
- func (c *Config) UpdateApp(name, environment, domain string, port int)
- func (c *Config) UpdateRepository(url, branch string, autoDeploy bool, webhookSecret string)
- func (c *Config) Validate(Config *Config) error
- type Container
- type ContainerHealthcheck
- type Database
- type Deployment
- type DockerBuild
- type DockerConfig
- type Logging
- type Monitoring
- type Repository
- type SSL
- type Server
- type Storage
- type Webhook
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppConfig ¶
type AppConfig struct {
Name string `yaml:"name"`
Environment string `yaml:"environment"`
Domain string `yaml:"domain"`
Port int `yaml:"port"`
}
AppConfig represents application metadata
type Backup ¶
type Backup struct {
Enabled bool `yaml:"enabled"`
Frequency string `yaml:"frequency"`
RetentionDays int `yaml:"retention_days"`
Storage Storage `yaml:"storage"`
}
Backup represents backup configuration
type Config ¶
type Config struct {
Version string `yaml:"version"`
App AppConfig `yaml:"app"`
Repository Repository `yaml:"repository"`
Docker DockerConfig `yaml:"docker"`
Deployment Deployment `yaml:"deployment"`
Database Database `yaml:"database"`
Logging Logging `yaml:"logging"`
Monitoring Monitoring `yaml:"monitoring"`
Backup Backup `yaml:"backup"`
SSL SSL `yaml:"ssl"`
Webhook Webhook `yaml:"webhook"`
}
func (*Config) AddContainerPort ¶
AddContainerPort adds a port mapping to the container configuration
func (*Config) AddContainerVolume ¶
AddContainerVolume adds a volume to the container configuration
func (*Config) AddDockerBuildArg ¶
AddDockerBuildArg adds or updates a Docker build argument
func (*Config) AddFailureWebhook ¶
AddFailureWebhook adds a webhook to be triggered on failed deployment
func (*Config) AddSuccessWebhook ¶
AddSuccessWebhook adds a webhook to be triggered on successful deployment
func (*Config) ConfigOkay ¶
func (*Config) RemoveContainerPort ¶
RemoveContainerPort removes a port mapping from the container configuration
func (*Config) RemoveContainerVolume ¶
RemoveContainerVolume removes a volume from the container configuration
func (*Config) RemoveDockerBuildArg ¶
RemoveDockerBuildArg removes a Docker build argument
func (*Config) RemoveFailureWebhook ¶
RemoveFailureWebhook removes a webhook from the failure list
func (*Config) RemoveSuccessWebhook ¶
RemoveSuccessWebhook removes a webhook from the success list
func (*Config) UpdateRepository ¶
UpdateRepository updates the repository configuration
type ContainerHealthcheck ¶
type Database ¶
type Database struct {
Type string `yaml:"type"`
Host string `yaml:"host"`
Port int `yaml:"port"`
Username string `yaml:"username"`
// #nosec G117
Password string `yaml:"password"`
Name string `yaml:"name"`
MigrateOnDeploy bool `yaml:"migrate_on_deploy"`
}
Database represents database configuration
type Deployment ¶
Deployment represents deployment target configuration
type DockerBuild ¶
type DockerConfig ¶
type DockerConfig struct {
Build DockerBuild `yaml:"build"`
Image string `yaml:"image"`
Registry string `yaml:"registry"`
Push bool `yaml:"push"`
}
DockerConfig represents Docker build configuration
type Logging ¶
type Logging struct {
Enabled bool `yaml:"enabled"`
Provider string `yaml:"provider"`
StreamLogs bool `yaml:"stream_logs"`
LogPath string `yaml:"log_path"`
}
Logging represents logging configuration
type Monitoring ¶
type Monitoring struct {
Enabled bool `yaml:"enabled"`
CPUThreshold int `yaml:"cpu_threshold"`
MemoryThreshold int `yaml:"memory_threshold"`
DiskThreshold int `yaml:"disk_threshold"`
Alert Alert `yaml:"alert"`
}
Monitoring represents monitoring configuration
type Repository ¶
type Repository struct {
URL string `yaml:"url"`
Branch string `yaml:"branch"`
AutoDeploy bool `yaml:"auto_deploy"`
WebhookSecret string `yaml:"webhook_secret"`
}
Repository represents Git repository settings
type SSL ¶
type SSL struct {
Enabled bool `yaml:"enabled"`
Provider string `yaml:"provider"`
Email string `yaml:"email"`
AutoRenew bool `yaml:"auto_renew"`
}
SSL represents SSL configuration