Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Port string
DataDir string
BridgeName string
SubnetCIDR string
SubnetGateway string
UplinkInterface string
JwtSecret string
DNSServer string
MaxConcurrentBuilds int
MaxOverlaySize string
LogMaxSize string
LogMaxFiles int
LogRotateInterval string
// Resource limits - per instance
MaxVcpusPerInstance int // Max vCPUs for a single VM (0 = unlimited)
MaxMemoryPerInstance string // Max memory for a single VM (0 = unlimited)
// Resource limits - aggregate
MaxTotalVcpus int // Aggregate vCPU limit across all instances (0 = unlimited)
MaxTotalMemory string // Aggregate memory limit across all instances (0 = unlimited)
MaxTotalVolumeStorage string // Total volume storage limit (0 = unlimited)
// OpenTelemetry configuration
OtelEnabled bool // Enable OpenTelemetry
OtelEndpoint string // OTLP endpoint (gRPC)
OtelServiceName string // Service name for tracing
OtelServiceInstanceID string // Service instance ID (default: hostname)
OtelInsecure bool // Disable TLS for OTLP
Version string // Application version for telemetry
Env string // Deployment environment (e.g., dev, staging, prod)
// Logging configuration
LogLevel string // Default log level (debug, info, warn, error)
// Caddy / Ingress configuration
CaddyListenAddress string // Address for Caddy to listen on
CaddyAdminAddress string // Address for Caddy admin API
CaddyAdminPort int // Port for Caddy admin API
InternalDNSPort int // Port for internal DNS server (used for dynamic upstreams)
CaddyStopOnShutdown bool // Stop Caddy when hypeman shuts down
// ACME / TLS configuration
AcmeEmail string // ACME account email (required for TLS ingresses)
AcmeDnsProvider string // DNS provider: "cloudflare"
AcmeCA string // ACME CA URL (empty = Let's Encrypt production)
DnsPropagationTimeout string // Max time to wait for DNS propagation (e.g., "2m")
DnsResolvers string // Comma-separated DNS resolvers for propagation checking
TlsAllowedDomains string // Comma-separated list of allowed domain patterns for TLS (e.g., "*.example.com,api.example.com")
// Cloudflare configuration (if AcmeDnsProvider=cloudflare)
CloudflareApiToken string // Cloudflare API token
// Build system configuration
MaxConcurrentSourceBuilds int // Max concurrent source-to-image builds
BuilderImage string // OCI image for builder VMs
RegistryURL string // URL of registry for built images
BuildTimeout int // Default build timeout in seconds
BuildSecretsDir string // Directory containing build secrets (optional)
// Hypervisor configuration
DefaultHypervisor string // Default hypervisor type: "cloud-hypervisor" or "qemu"
// Oversubscription ratios (1.0 = no oversubscription, 2.0 = 2x oversubscription)
OversubCPU float64 // CPU oversubscription ratio
OversubMemory float64 // Memory oversubscription ratio
OversubDisk float64 // Disk oversubscription ratio
OversubNetwork float64 // Network oversubscription ratio
OversubDiskIO float64 // Disk I/O oversubscription ratio
// Network rate limiting
UploadBurstMultiplier int // Multiplier for upload burst ceiling vs guaranteed rate (default: 4)
DownloadBurstMultiplier int // Multiplier for download burst bucket vs rate (default: 4)
// Resource capacity limits (empty = auto-detect from host)
DiskLimit string // Hard disk limit for DataDir, e.g. "500GB"
NetworkLimit string // Hard network limit, e.g. "10Gbps" (empty = detect from uplink speed)
DiskIOLimit string // Hard disk I/O limit, e.g. "500MB/s" (empty = auto-detect from disk type)
MaxImageStorage float64 // Max image storage as fraction of disk (0.2 = 20%), counts OCI cache + rootfs
}
Click to show internal directories.
Click to hide internal directories.