From ba833a0a1c5c8d3af16e966db695c17fe9a1869e Mon Sep 17 00:00:00 2001 From: Rafael Garcia Date: Sun, 15 Feb 2026 13:07:32 -0500 Subject: [PATCH 01/20] feat: migrate config system from dotenv to koanf/YAML Replace godotenv-based .env config loading with koanf and YAML config files across the entire stack: Server (hypeman-api): - Config struct now uses koanf tags for YAML unmarshaling - Loads config.yaml from platform-specific paths with env var overrides - CONFIG_PATH env var for explicit config file location Token tool (hypeman-token): - Reads jwt_secret directly from config.yaml (no more wrapper scripts) - Added -duration flag for configurable token expiry Install script: - Generates config.yaml instead of dotenv-style config - Generates ~/.config/hypeman/cli.yaml with pre-authenticated token - Removed all wrapper scripts, replaced with symlinks on Linux - Updated launchd/systemd service definitions Also adds config.example.yaml, config.darwin.example.yaml, and cli.example.yaml as reference templates. --- DEVELOPMENT.md | 38 ++-- Makefile | 12 +- README.md | 44 ++++- cli.example.yaml | 19 ++ cmd/api/config/config.go | 346 +++++++++++++++++++---------------- cmd/api/main.go | 4 +- cmd/gen-jwt/main.go | 59 +++++- config.darwin.example.yaml | 128 +++++++++++++ config.example.yaml | 90 +++++++++ go.mod | 14 +- go.sum | 24 +++ lib/providers/providers.go | 4 +- scripts/build-from-source.sh | 9 +- scripts/e2e-install-test.sh | 35 ++-- scripts/install.sh | 211 ++++++++++++--------- scripts/uninstall.sh | 4 +- 16 files changed, 731 insertions(+), 310 deletions(-) create mode 100644 cli.example.yaml create mode 100644 config.darwin.example.yaml create mode 100644 config.example.yaml diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index d45e422c..bbd8aba9 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -136,9 +136,9 @@ If you need a different subnet, set `SUBNET_CIDR` in your environment. The gatew **Example:** -```bash -# In your .env file -SUBNET_CIDR=172.30.0.0/16 +```yaml +# In your config.yaml +subnet_cidr: 172.30.0.0/16 ``` **Finding the uplink interface (`UPLINK_INTERFACE`)** @@ -178,15 +178,15 @@ Hypeman uses Caddy with automatic ACME certificates for TLS termination. Certifi To enable TLS ingresses: -1. Configure ACME credentials in your `.env`: +1. Configure ACME credentials in your `config.yaml`: -```bash +```yaml # Required for any TLS ingress -ACME_EMAIL=admin@example.com +acme_email: admin@example.com # For Cloudflare -ACME_DNS_PROVIDER=cloudflare -CLOUDFLARE_API_TOKEN=your-api-token +acme_dns_provider: cloudflare +cloudflare_api_token: your-api-token ``` 2. Create an ingress with TLS enabled: @@ -210,8 +210,8 @@ Certificates are stored in `$DATA_DIR/caddy/data/` and auto-renewed by Caddy. ### Setup ```bash -cp .env.example .env -# Edit .env and set JWT_SECRET and other configuration values +cp config.example.yaml ~/.config/hypeman/config.yaml +# Edit config.yaml and set jwt_secret and other configuration values ``` ### Data directory @@ -287,9 +287,10 @@ docker run -d --name lgtm \ # If developing on a remote server, forward the port to your local machine (or YOLO): # ssh -L 3001:localhost:3000 your-server (then open http://localhost:3001) -# Enable OTel in .env (set ENV to your name to filter your telemetry) -echo "OTEL_ENABLED=true" >> .env -echo "ENV=yourname" >> .env +# Enable OTel in config.yaml (set env to your name to filter your telemetry) +# Add to your config.yaml: +# otel_enabled: true +# env: yourname # Restart dev server make dev @@ -359,8 +360,9 @@ export PATH="/opt/homebrew/opt/e2fsprogs/bin:/opt/homebrew/opt/e2fsprogs/sbin:$P # Add to ~/.zshrc for persistence # 3. Configure environment -cp .env.darwin.example .env -# Edit .env as needed (defaults work for local development) +mkdir -p ~/.config/hypeman +cp config.darwin.example.yaml ~/.config/hypeman/config.yaml +# Edit config.yaml as needed (defaults work for local development) # 4. Create data directory mkdir -p ~/Library/Application\ Support/hypeman @@ -387,7 +389,7 @@ The `make dev` command automatically detects macOS and: ### macOS-Specific Configuration -The following environment variables work differently on macOS (see `.env.darwin.example`): +The following config keys work differently on macOS (see `config.darwin.example.yaml`): | Variable | Linux | macOS | |----------|-------|-------| @@ -463,8 +465,8 @@ brew install caddy **"address already in use" on port 5353** - Port 5353 is used by mDNSResponder (Bonjour) on macOS -- Use port 5354 instead: `INTERNAL_DNS_PORT=5354` in `.env` -- The `.env.darwin.example` already has this configured correctly +- Use port 5354 instead: `internal_dns_port: 5354` in `config.yaml` +- The `config.darwin.example.yaml` already has this configured correctly **"Virtualization.framework is not available"** - Ensure you're on macOS 11.0+ diff --git a/Makefile b/Makefile index 28e5ae9d..d0ed5a17 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,6 @@ $(BIN_DIR): OAPI_CODEGEN ?= $(BIN_DIR)/oapi-codegen AIR ?= $(BIN_DIR)/air WIRE ?= $(BIN_DIR)/wire -GODOTENV ?= $(BIN_DIR)/godotenv XCADDY ?= $(BIN_DIR)/xcaddy # Install oapi-codegen @@ -26,15 +25,11 @@ $(AIR): | $(BIN_DIR) $(WIRE): | $(BIN_DIR) GOBIN=$(BIN_DIR) go install github.com/google/wire/cmd/wire@latest -# Install godotenv for loading .env files -$(GODOTENV): | $(BIN_DIR) - GOBIN=$(BIN_DIR) go install github.com/joho/godotenv/cmd/godotenv@latest - # Install xcaddy for building Caddy with plugins $(XCADDY): | $(BIN_DIR) GOBIN=$(BIN_DIR) go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest -install-tools: $(OAPI_CODEGEN) $(AIR) $(WIRE) $(GODOTENV) $(XCADDY) +install-tools: $(OAPI_CODEGEN) $(AIR) $(WIRE) $(XCADDY) # Download Cloud Hypervisor binaries download-ch-binaries: @@ -261,8 +256,9 @@ test-darwin: build-embedded sign-vz-shim # Generate JWT token for testing # Usage: make gen-jwt [USER_ID=test-user] -gen-jwt: $(GODOTENV) - @$(GODOTENV) -f .env go run ./cmd/gen-jwt -user-id $${USER_ID:-test-user} +# hypeman-token reads jwt_secret from config.yaml automatically +gen-jwt: + @go run ./cmd/gen-jwt -user-id $${USER_ID:-test-user} # Build the generic builder image for builds build-builder: diff --git a/README.md b/README.md index 93de5d51..3e2aea30 100644 --- a/README.md +++ b/README.md @@ -35,29 +35,59 @@ Install Hypeman (Linux and macOS supported): curl -fsSL https://get.hypeman.sh | bash ``` -This installs both the Hypeman server and CLI. The installer handles all dependencies and configuration automatically. +This installs the Hypeman server, CLI, and token tool. The installer: +- Generates a YAML config file with a random JWT secret +- Starts the server as a system service (launchd on macOS, systemd on Linux) +- Creates a CLI config file (`~/.config/hypeman/cli.yaml`) with a pre-authenticated token -## CLI Installation +No environment variables needed -- just run `hypeman` commands immediately after install. -To use Hypeman via the CLI on a separate machine: +## Remote CLI Access -**Homebrew:** +To use the Hypeman CLI from a **different machine** than the server: + +**Homebrew (macOS):** ```bash brew install kernel/tap/hypeman ``` +**Linux:** +```bash +curl -fsSL https://get.hypeman.sh/cli | bash +``` + **Go:** ```bash go install 'github.com/kernel/hypeman-cli/cmd/hypeman@latest' ``` -**Configure CLI access:** +Then create a CLI config file at `~/.config/hypeman/cli.yaml`: + +```yaml +base_url: http://:8080 +api_key: "" +``` + +To generate a token, run `hypeman-token` on the server: ```bash -export HYPEMAN_API_KEY="" -export HYPEMAN_BASE_URL="http://:8080" +hypeman-token -user-id "my-user" -duration 8760h ``` +Environment variables (`HYPEMAN_BASE_URL`, `HYPEMAN_API_KEY`) and CLI flags (`--base-url`) also work and take precedence over the config file. + +## Configuration + +Hypeman uses YAML config files with environment variable overrides. + +| Component | Config File | Env Override | +|-----------|-------------|--------------| +| Server | `/etc/hypeman/config.yaml` (Linux) or `~/.config/hypeman/config.yaml` (macOS) | `CONFIG_PATH`, plus individual env vars like `PORT`, `JWT_SECRET`, etc. | +| CLI | `~/.config/hypeman/cli.yaml` | `HYPEMAN_BASE_URL`, `HYPEMAN_API_KEY` | +| Token tool | Reads server config automatically | `JWT_SECRET` | + +See [`config.example.yaml`](config.example.yaml) (Linux) and [`config.darwin.example.yaml`](config.darwin.example.yaml) (macOS) for all available server options. + ## Usage ```bash diff --git a/cli.example.yaml b/cli.example.yaml new file mode 100644 index 00000000..c0007e63 --- /dev/null +++ b/cli.example.yaml @@ -0,0 +1,19 @@ +# ============================================================================= +# Hypeman CLI Configuration +# ============================================================================= +# Place this file at ~/.config/hypeman/cli.yaml +# +# The install script automatically generates this file with a valid token +# for local access. For remote CLI access, create this file manually. +# +# Configuration precedence (highest to lowest): +# 1. CLI flags (e.g., --base-url) +# 2. Environment variables (HYPEMAN_BASE_URL, HYPEMAN_API_KEY) +# 3. This YAML config file +# ============================================================================= + +# Hypeman API URL +base_url: http://localhost:8080 + +# API authentication token (generated by hypeman-token) +api_key: "" diff --git a/cmd/api/config/config.go b/cmd/api/config/config.go index 12b22318..3eb8a653 100644 --- a/cmd/api/config/config.go +++ b/cmd/api/config/config.go @@ -3,10 +3,16 @@ package config import ( "fmt" "os" + "path/filepath" + "runtime" "runtime/debug" - "strconv" + "strings" - "github.com/joho/godotenv" + "github.com/knadh/koanf/parsers/yaml" + "github.com/knadh/koanf/providers/env" + "github.com/knadh/koanf/providers/file" + "github.com/knadh/koanf/providers/structs" + "github.com/knadh/koanf/v2" ) func getHostname() string { @@ -50,231 +56,255 @@ func getBuildVersion() string { } 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 + Port string `koanf:"port"` + DataDir string `koanf:"data_dir"` + BridgeName string `koanf:"bridge_name"` + SubnetCIDR string `koanf:"subnet_cidr"` + SubnetGateway string `koanf:"subnet_gateway"` + UplinkInterface string `koanf:"uplink_interface"` + JwtSecret string `koanf:"jwt_secret"` + DNSServer string `koanf:"dns_server"` + MaxConcurrentBuilds int `koanf:"max_concurrent_builds"` + MaxOverlaySize string `koanf:"max_overlay_size"` + LogMaxSize string `koanf:"log_max_size"` + LogMaxFiles int `koanf:"log_max_files"` + LogRotateInterval string `koanf:"log_rotate_interval"` // Resource limits - per instance - MaxVcpusPerInstance int // Max vCPUs for a single VM (0 = unlimited) - MaxMemoryPerInstance string // Max memory for a single VM (0 = unlimited) + MaxVcpusPerInstance int `koanf:"max_vcpus_per_instance"` // Max vCPUs for a single VM (0 = unlimited) + MaxMemoryPerInstance string `koanf:"max_memory_per_instance"` // Max memory for a single VM (0 = unlimited) // Resource limits - aggregate // Note: CPU/memory aggregate limits are now handled via oversubscription ratios (OVERSUB_CPU, OVERSUB_MEMORY) - MaxTotalVolumeStorage string // Total volume storage limit (0 = unlimited) + MaxTotalVolumeStorage string `koanf:"max_total_volume_storage"` // 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) + OtelEnabled bool `koanf:"otel_enabled"` // Enable OpenTelemetry + OtelEndpoint string `koanf:"otel_endpoint"` // OTLP endpoint (gRPC) + OtelServiceName string `koanf:"otel_service_name"` // Service name for tracing + OtelServiceInstanceID string `koanf:"otel_service_instance_id"` // Service instance ID (default: hostname) + OtelInsecure bool `koanf:"otel_insecure"` // Disable TLS for OTLP + Version string `koanf:"version"` // Application version for telemetry + Env string `koanf:"env"` // Deployment environment (e.g., dev, staging, prod) // Logging configuration - LogLevel string // Default log level (debug, info, warn, error) + LogLevel string `koanf:"log_level"` // 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 + CaddyListenAddress string `koanf:"caddy_listen_address"` // Address for Caddy to listen on + CaddyAdminAddress string `koanf:"caddy_admin_address"` // Address for Caddy admin API + CaddyAdminPort int `koanf:"caddy_admin_port"` // Port for Caddy admin API + InternalDNSPort int `koanf:"internal_dns_port"` // Port for internal DNS server (used for dynamic upstreams) + CaddyStopOnShutdown bool `koanf:"caddy_stop_on_shutdown"` // 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") + AcmeEmail string `koanf:"acme_email"` // ACME account email (required for TLS ingresses) + AcmeDnsProvider string `koanf:"acme_dns_provider"` // DNS provider: "cloudflare" + AcmeCA string `koanf:"acme_ca"` // ACME CA URL (empty = Let's Encrypt production) + DnsPropagationTimeout string `koanf:"dns_propagation_timeout"` // Max time to wait for DNS propagation (e.g., "2m") + DnsResolvers string `koanf:"dns_resolvers"` // Comma-separated DNS resolvers for propagation checking + TlsAllowedDomains string `koanf:"tls_allowed_domains"` // 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 + CloudflareApiToken string `koanf:"cloudflare_api_token"` // Cloudflare API token // API ingress configuration - exposes Hypeman API via Caddy - ApiHostname string // Hostname for API access (e.g., hypeman.hostname.kernel.sh). Empty = disabled. - ApiTLS bool // Enable TLS for API hostname - ApiRedirectHTTP bool // Redirect HTTP to HTTPS for API hostname + ApiHostname string `koanf:"api_hostname"` // Hostname for API access (e.g., hypeman.hostname.kernel.sh). Empty = disabled. + ApiTLS bool `koanf:"api_tls"` // Enable TLS for API hostname + ApiRedirectHTTP bool `koanf:"api_redirect_http"` // Redirect HTTP to HTTPS for API hostname // 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 - RegistryInsecure bool // Skip TLS verification for registry (for self-signed certs) - RegistryCACertFile string // Path to CA certificate file for registry TLS verification - BuildTimeout int // Default build timeout in seconds - BuildSecretsDir string // Directory containing build secrets (optional) - DockerSocket string // Path to Docker socket (for building builder image) + MaxConcurrentSourceBuilds int `koanf:"max_concurrent_source_builds"` // Max concurrent source-to-image builds + BuilderImage string `koanf:"builder_image"` // OCI image for builder VMs + RegistryURL string `koanf:"registry_url"` // URL of registry for built images + RegistryInsecure bool `koanf:"registry_insecure"` // Skip TLS verification for registry (for self-signed certs) + RegistryCACertFile string `koanf:"registry_ca_cert_file"` // Path to CA certificate file for registry TLS verification + BuildTimeout int `koanf:"build_timeout"` // Default build timeout in seconds + BuildSecretsDir string `koanf:"build_secrets_dir"` // Directory containing build secrets (optional) + DockerSocket string `koanf:"docker_socket"` // Path to Docker socket (for building builder image) // Hypervisor configuration - DefaultHypervisor string // Default hypervisor type: "cloud-hypervisor" or "qemu" + DefaultHypervisor string `koanf:"default_hypervisor"` // Default hypervisor type: "cloud-hypervisor" or "qemu" // GPU configuration - GPUProfileCacheTTL string // TTL for GPU profile metadata cache (e.g., "30m") + GPUProfileCacheTTL string `koanf:"gpu_profile_cache_ttl"` // TTL for GPU profile metadata cache (e.g., "30m") // 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 + OversubCPU float64 `koanf:"oversub_cpu"` // CPU oversubscription ratio + OversubMemory float64 `koanf:"oversub_memory"` // Memory oversubscription ratio + OversubDisk float64 `koanf:"oversub_disk"` // Disk oversubscription ratio + OversubNetwork float64 `koanf:"oversub_network"` // Network oversubscription ratio + OversubDiskIO float64 `koanf:"oversub_disk_io"` // 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) + UploadBurstMultiplier int `koanf:"upload_burst_multiplier"` // Multiplier for upload burst ceiling vs guaranteed rate (default: 4) + DownloadBurstMultiplier int `koanf:"download_burst_multiplier"` // 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 + DiskLimit string `koanf:"disk_limit"` // Hard disk limit for DataDir, e.g. "500GB" + NetworkLimit string `koanf:"network_limit"` // Hard network limit, e.g. "10Gbps" (empty = detect from uplink speed) + DiskIOLimit string `koanf:"disk_io_limit"` // Hard disk I/O limit, e.g. "500MB/s" (empty = auto-detect from disk type) + MaxImageStorage float64 `koanf:"max_image_storage"` // Max image storage as fraction of disk (0.2 = 20%), counts OCI cache + rootfs } -// Load loads configuration from environment variables -// Automatically loads .env file if present -func Load() *Config { - // Try to load .env file (fail silently if not present) - _ = godotenv.Load() - - cfg := &Config{ - Port: getEnv("PORT", "8080"), - DataDir: getEnv("DATA_DIR", "/var/lib/hypeman"), - BridgeName: getEnv("BRIDGE_NAME", "vmbr0"), - SubnetCIDR: getEnv("SUBNET_CIDR", "10.100.0.0/16"), - SubnetGateway: getEnv("SUBNET_GATEWAY", ""), // empty = derived as first IP from subnet - UplinkInterface: getEnv("UPLINK_INTERFACE", ""), // empty = auto-detect from default route - JwtSecret: getEnv("JWT_SECRET", ""), - DNSServer: getEnv("DNS_SERVER", "1.1.1.1"), - MaxConcurrentBuilds: getEnvInt("MAX_CONCURRENT_BUILDS", 1), - MaxOverlaySize: getEnv("MAX_OVERLAY_SIZE", "100GB"), - LogMaxSize: getEnv("LOG_MAX_SIZE", "50MB"), - LogMaxFiles: getEnvInt("LOG_MAX_FILES", 1), - LogRotateInterval: getEnv("LOG_ROTATE_INTERVAL", "5m"), +// GetDefaultConfigPaths returns the default config file paths to search. +// Returns paths in order of precedence (first found wins). +func GetDefaultConfigPaths() []string { + home, _ := os.UserHomeDir() + if runtime.GOOS == "darwin" { + return []string{ + filepath.Join(home, ".config", "hypeman", "config.yaml"), + } + } + // Linux: check /etc first, then user config + return []string{ + "/etc/hypeman/config.yaml", + filepath.Join(home, ".config", "hypeman", "config.yaml"), + } +} + +// defaultConfig returns a Config struct with all default values set. +func defaultConfig() *Config { + return &Config{ + Port: "8080", + DataDir: "/var/lib/hypeman", + BridgeName: "vmbr0", + SubnetCIDR: "10.100.0.0/16", + SubnetGateway: "", // empty = derived as first IP from subnet + UplinkInterface: "", // empty = auto-detect from default route + JwtSecret: "", + DNSServer: "1.1.1.1", + MaxConcurrentBuilds: 1, + MaxOverlaySize: "100GB", + LogMaxSize: "50MB", + LogMaxFiles: 1, + LogRotateInterval: "5m", // Resource limits - per instance (0 = unlimited) - MaxVcpusPerInstance: getEnvInt("MAX_VCPUS_PER_INSTANCE", 16), - MaxMemoryPerInstance: getEnv("MAX_MEMORY_PER_INSTANCE", "32GB"), + MaxVcpusPerInstance: 16, + MaxMemoryPerInstance: "32GB", // Resource limits - aggregate - // Note: CPU/memory aggregate limits are now handled via oversubscription ratios - MaxTotalVolumeStorage: getEnv("MAX_TOTAL_VOLUME_STORAGE", ""), + MaxTotalVolumeStorage: "", // OpenTelemetry configuration - OtelEnabled: getEnvBool("OTEL_ENABLED", false), - OtelEndpoint: getEnv("OTEL_ENDPOINT", "127.0.0.1:4317"), - OtelServiceName: getEnv("OTEL_SERVICE_NAME", "hypeman"), - OtelServiceInstanceID: getEnv("OTEL_SERVICE_INSTANCE_ID", getHostname()), - OtelInsecure: getEnvBool("OTEL_INSECURE", true), - Version: getEnv("VERSION", getBuildVersion()), - Env: getEnv("ENV", "unset"), + OtelEnabled: false, + OtelEndpoint: "127.0.0.1:4317", + OtelServiceName: "hypeman", + OtelServiceInstanceID: getHostname(), + OtelInsecure: true, + Version: getBuildVersion(), + Env: "unset", // Logging configuration - LogLevel: getEnv("LOG_LEVEL", "info"), + LogLevel: "info", // Caddy / Ingress configuration - CaddyListenAddress: getEnv("CADDY_LISTEN_ADDRESS", "0.0.0.0"), - CaddyAdminAddress: getEnv("CADDY_ADMIN_ADDRESS", "127.0.0.1"), - CaddyAdminPort: getEnvInt("CADDY_ADMIN_PORT", 0), // 0 = random port to prevent conflicts on shared dev machines - InternalDNSPort: getEnvInt("INTERNAL_DNS_PORT", 0), // 0 = random port; used for dynamic upstream resolution - // Set to false if you're likely to frequently update hypeman - CaddyStopOnShutdown: getEnvBool("CADDY_STOP_ON_SHUTDOWN", true), + CaddyListenAddress: "0.0.0.0", + CaddyAdminAddress: "127.0.0.1", + CaddyAdminPort: 0, // 0 = random port to prevent conflicts on shared dev machines + InternalDNSPort: 0, // 0 = random port; used for dynamic upstream resolution + CaddyStopOnShutdown: true, // ACME / TLS configuration - AcmeEmail: getEnv("ACME_EMAIL", ""), - AcmeDnsProvider: getEnv("ACME_DNS_PROVIDER", ""), - AcmeCA: getEnv("ACME_CA", ""), - DnsPropagationTimeout: getEnv("DNS_PROPAGATION_TIMEOUT", ""), - DnsResolvers: getEnv("DNS_RESOLVERS", ""), - TlsAllowedDomains: getEnv("TLS_ALLOWED_DOMAINS", ""), // Empty = no TLS domains allowed + AcmeEmail: "", + AcmeDnsProvider: "", + AcmeCA: "", + DnsPropagationTimeout: "", + DnsResolvers: "", + TlsAllowedDomains: "", // Cloudflare configuration - CloudflareApiToken: getEnv("CLOUDFLARE_API_TOKEN", ""), + CloudflareApiToken: "", // API ingress configuration - ApiHostname: getEnv("API_HOSTNAME", ""), // Empty = disabled - ApiTLS: getEnvBool("API_TLS", true), // Default to TLS enabled - ApiRedirectHTTP: getEnvBool("API_REDIRECT_HTTP", true), + ApiHostname: "", // Empty = disabled + ApiTLS: true, // Default to TLS enabled + ApiRedirectHTTP: true, // Build system configuration - MaxConcurrentSourceBuilds: getEnvInt("MAX_CONCURRENT_SOURCE_BUILDS", 2), - BuilderImage: getEnv("BUILDER_IMAGE", "hypeman/builder:latest"), - RegistryURL: getEnv("REGISTRY_URL", "localhost:8080"), - RegistryInsecure: getEnvBool("REGISTRY_INSECURE", false), - RegistryCACertFile: getEnv("REGISTRY_CA_CERT_FILE", ""), // Path to CA cert for registry TLS - BuildTimeout: getEnvInt("BUILD_TIMEOUT", 600), - BuildSecretsDir: getEnv("BUILD_SECRETS_DIR", ""), // Optional: path to directory with build secrets - DockerSocket: getEnv("DOCKER_SOCKET", "/var/run/docker.sock"), + MaxConcurrentSourceBuilds: 2, + BuilderImage: "hypeman/builder:latest", + RegistryURL: "localhost:8080", + RegistryInsecure: false, + RegistryCACertFile: "", + BuildTimeout: 600, + BuildSecretsDir: "", + DockerSocket: "/var/run/docker.sock", // Hypervisor configuration - DefaultHypervisor: getEnv("DEFAULT_HYPERVISOR", "cloud-hypervisor"), + DefaultHypervisor: "cloud-hypervisor", // GPU configuration - GPUProfileCacheTTL: getEnv("GPU_PROFILE_CACHE_TTL", "30m"), + GPUProfileCacheTTL: "30m", // Oversubscription ratios (1.0 = no oversubscription) - OversubCPU: getEnvFloat("OVERSUB_CPU", 4.0), - OversubMemory: getEnvFloat("OVERSUB_MEMORY", 1.0), - OversubDisk: getEnvFloat("OVERSUB_DISK", 1.0), - OversubNetwork: getEnvFloat("OVERSUB_NETWORK", 2.0), - OversubDiskIO: getEnvFloat("OVERSUB_DISK_IO", 2.0), + OversubCPU: 4.0, + OversubMemory: 1.0, + OversubDisk: 1.0, + OversubNetwork: 2.0, + OversubDiskIO: 2.0, // Network rate limiting - UploadBurstMultiplier: getEnvInt("UPLOAD_BURST_MULTIPLIER", 4), - DownloadBurstMultiplier: getEnvInt("DOWNLOAD_BURST_MULTIPLIER", 4), + UploadBurstMultiplier: 4, + DownloadBurstMultiplier: 4, // Resource capacity limits (empty = auto-detect) - DiskLimit: getEnv("DISK_LIMIT", ""), - NetworkLimit: getEnv("NETWORK_LIMIT", ""), - DiskIOLimit: getEnv("DISK_IO_LIMIT", ""), - MaxImageStorage: getEnvFloat("MAX_IMAGE_STORAGE", 0.2), // 20% of disk by default + DiskLimit: "", + NetworkLimit: "", + DiskIOLimit: "", + MaxImageStorage: 0.2, // 20% of disk by default } - - return cfg } -func getEnv(key, defaultValue string) string { - if value := os.Getenv(key); value != "" { - return value +// Load loads configuration with the following precedence (highest to lowest): +// 1. Environment variables (e.g., PORT, DATA_DIR, JWT_SECRET) +// 2. YAML config file (if found) +// 3. Default values +// +// The configPath parameter specifies an explicit config file path. +// If empty, searches default locations based on OS. +func Load(configPath string) *Config { + k := koanf.New(".") + + // 1. Load defaults first + defaults := defaultConfig() + if err := k.Load(structs.Provider(defaults, "koanf"), nil); err != nil { + // Should never happen with our struct + panic(fmt.Sprintf("failed to load default config: %v", err)) } - return defaultValue -} -func getEnvInt(key string, defaultValue int) int { - if value := os.Getenv(key); value != "" { - if intVal, err := strconv.Atoi(value); err == nil { - return intVal + // 2. Load from YAML config file (if exists) + if configPath == "" { + // Search default paths + for _, path := range GetDefaultConfigPaths() { + if _, err := os.Stat(path); err == nil { + configPath = path + break + } } } - return defaultValue -} - -func getEnvBool(key string, defaultValue bool) bool { - if value := os.Getenv(key); value != "" { - if boolVal, err := strconv.ParseBool(value); err == nil { - return boolVal - } + if configPath != "" { + // Ignore errors - file may not exist + _ = k.Load(file.Provider(configPath), yaml.Parser()) } - return defaultValue -} -func getEnvFloat(key string, defaultValue float64) float64 { - if value := os.Getenv(key); value != "" { - if floatVal, err := strconv.ParseFloat(value, 64); err == nil { - return floatVal - } + // 3. Overlay environment variables (highest precedence) + // Environment variables use SCREAMING_SNAKE_CASE (e.g., JWT_SECRET, DATA_DIR) + // They map to flat snake_case koanf keys (e.g., jwt_secret, data_dir) + // Note: delim must be "" to prevent unflattening (e.g., DATA_DIR → data.dir) + envProvider := env.Provider("", "", func(s string) string { + return strings.ToLower(s) + }) + _ = k.Load(envProvider, nil) + + // 4. Unmarshal to Config struct + var cfg Config + if err := k.Unmarshal("", &cfg); err != nil { + panic(fmt.Sprintf("failed to unmarshal config: %v", err)) } - return defaultValue + + return &cfg } // Validate checks configuration values for correctness. diff --git a/cmd/api/main.go b/cmd/api/main.go index 561a9f3c..c07d55b8 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -45,7 +45,9 @@ func main() { func run() error { // Load config early for OTel initialization - cfg := config.Load() + // Config path can be specified via CONFIG_PATH env var or defaults to platform-specific locations + configPath := os.Getenv("CONFIG_PATH") + cfg := config.Load(configPath) // Validate configuration before proceeding if err := cfg.Validate(); err != nil { diff --git a/cmd/gen-jwt/main.go b/cmd/gen-jwt/main.go index a14cd409..22cc4f86 100644 --- a/cmd/gen-jwt/main.go +++ b/cmd/gen-jwt/main.go @@ -4,24 +4,73 @@ import ( "flag" "fmt" "os" + "path/filepath" + "runtime" "time" "github.com/golang-jwt/jwt/v5" + "github.com/knadh/koanf/parsers/yaml" + "github.com/knadh/koanf/providers/file" + "github.com/knadh/koanf/v2" ) +// getServerConfigPaths returns the default config file paths to search for jwt_secret. +// This matches the paths used by hypeman-api. +func getServerConfigPaths() []string { + home, _ := os.UserHomeDir() + if runtime.GOOS == "darwin" { + return []string{ + filepath.Join(home, ".config", "hypeman", "config.yaml"), + } + } + // Linux: check /etc first, then user config + return []string{ + "/etc/hypeman/config.yaml", + filepath.Join(home, ".config", "hypeman", "config.yaml"), + } +} + +// getJWTSecret retrieves the JWT secret with the following precedence: +// 1. JWT_SECRET environment variable +// 2. jwt_secret from config.yaml files +func getJWTSecret() string { + // 1. Check environment variable first (highest precedence) + if s := os.Getenv("JWT_SECRET"); s != "" { + return s + } + + // 2. Try to read from config files + k := koanf.New(".") + for _, path := range getServerConfigPaths() { + if err := k.Load(file.Provider(path), yaml.Parser()); err == nil { + if s := k.String("jwt_secret"); s != "" { + return s + } + } + } + + return "" +} + func main() { - jwtSecret := os.Getenv("JWT_SECRET") + userID := flag.String("user-id", "test-user", "User ID to include in the JWT token") + duration := flag.Duration("duration", 24*time.Hour, "Token validity duration (e.g., 24h, 720h, 8760h)") + flag.Parse() + + jwtSecret := getJWTSecret() if jwtSecret == "" { - fmt.Fprintf(os.Stderr, "Error: JWT_SECRET environment variable is not set\n") + fmt.Fprintf(os.Stderr, "Error: JWT_SECRET not found.\n") + fmt.Fprintf(os.Stderr, "Set JWT_SECRET environment variable or ensure jwt_secret is configured in:\n") + for _, path := range getServerConfigPaths() { + fmt.Fprintf(os.Stderr, " - %s\n", path) + } os.Exit(1) } - userID := flag.String("user-id", "test-user", "User ID to include in the JWT token") - flag.Parse() claims := jwt.MapClaims{ "sub": *userID, "iat": time.Now().Unix(), - "exp": time.Now().Add(24 * time.Hour).Unix(), + "exp": time.Now().Add(*duration).Unix(), } token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) tokenString, err := token.SignedString([]byte(jwtSecret)) diff --git a/config.darwin.example.yaml b/config.darwin.example.yaml new file mode 100644 index 00000000..ec376b13 --- /dev/null +++ b/config.darwin.example.yaml @@ -0,0 +1,128 @@ +# ============================================================================= +# macOS (Darwin) Configuration for Hypeman +# ============================================================================= +# Copy this file to ~/.config/hypeman/config.yaml and customize for your +# environment. +# +# Configuration precedence (highest to lowest): +# 1. Environment variables (e.g., JWT_SECRET, PORT) +# 2. This YAML config file +# 3. Built-in defaults +# +# Key differences from Linux (config.example.yaml): +# - default_hypervisor: Use "vz" (Virtualization.framework) instead of cloud-hypervisor/qemu +# - data_dir: Uses macOS conventions (~/Library/Application Support) +# - Network settings: bridge_name, subnet_cidr, etc. are IGNORED (vz uses NAT) +# - Rate limiting: Not supported on macOS (no tc/HTB equivalent) +# - GPU passthrough: Not supported on macOS +# ============================================================================= + +# Required - used to sign and verify API tokens +jwt_secret: dev-secret-change-me + +# Data directory - use macOS conventions +# Note: ~ is NOT expanded; use full path or let the install script fill this in +data_dir: ~/Library/Application Support/hypeman + +# Server configuration +port: "8080" + +# Logging +log_level: debug + +# ============================================================================= +# Hypervisor Configuration (IMPORTANT FOR MACOS) +# ============================================================================= +# On macOS, use "vz" (Virtualization.framework) +# - "cloud-hypervisor" and "qemu" are NOT supported on macOS +default_hypervisor: vz + +# ============================================================================= +# Network Configuration (DIFFERENT ON MACOS) +# ============================================================================= +# On macOS with vz, network is handled automatically via NAT: +# - VMs get IP addresses from 192.168.64.0/24 via DHCP +# - No TAP devices, bridges, or iptables needed +# - The following settings are IGNORED on macOS: +# bridge_name, subnet_cidr, subnet_gateway, uplink_interface + +# DNS Server for VMs (used by guest for resolution) +dns_server: 8.8.8.8 + +# ============================================================================= +# Caddy / Ingress Configuration +# ============================================================================= +caddy_listen_address: 0.0.0.0 +caddy_admin_address: 127.0.0.1 +caddy_admin_port: 2019 +# Note: 5353 is used by mDNSResponder (Bonjour) on macOS, using 5354 instead +internal_dns_port: 5354 +caddy_stop_on_shutdown: false + +# ============================================================================= +# Build System Configuration +# ============================================================================= +# For builds on macOS with vz, the registry URL needs to be accessible from +# NAT VMs. Since vz uses 192.168.64.0/24 for NAT, the host is at 192.168.64.1. +# +# IMPORTANT: "host.docker.internal" does NOT work in vz VMs - that's a Docker +# Desktop-specific hostname. Use the NAT gateway IP instead. +# +# Registry URL (the host's hypeman API, accessible from VMs) +registry_url: 192.168.64.1:8080 +# Use HTTP (not HTTPS) since hypeman's internal registry uses plaintext +registry_insecure: true + +builder_image: hypeman/builder:latest +max_concurrent_source_builds: 2 +build_timeout: 600 + +# ============================================================================= +# Resource Limits (same as Linux) +# ============================================================================= +# Per-instance limits +max_vcpus_per_instance: 4 +max_memory_per_instance: 8GB + +# Aggregate limits (0 or empty = unlimited) +# max_total_volume_storage: "" + +# ============================================================================= +# OpenTelemetry (optional, same as Linux) +# ============================================================================= +# otel_enabled: false +# otel_endpoint: 127.0.0.1:4317 +# otel_service_name: hypeman +# otel_insecure: true +# env: dev + +# ============================================================================= +# TLS / ACME Configuration (same as Linux) +# ============================================================================= +# acme_email: admin@example.com +# acme_dns_provider: cloudflare +# tls_allowed_domains: "*.example.com" +# cloudflare_api_token: "" + +# ============================================================================= +# macOS Limitations +# ============================================================================= +# The following features are NOT AVAILABLE on macOS: +# +# 1. GPU Passthrough (VFIO, mdev) +# - gpu_profile_cache_ttl is ignored +# - Device registration/binding will fail +# +# 2. Network Rate Limiting +# - upload_burst_multiplier, download_burst_multiplier are ignored +# - No tc/HTB equivalent on macOS +# +# 3. CPU/Memory Hotplug +# - Resize operations not supported +# +# 4. Disk I/O Limiting +# - disk_io_limit, oversub_disk_io are ignored +# +# 5. Snapshots (requires macOS 14+ on Apple Silicon) +# - SaveMachineStateToPath/RestoreMachineStateFromURL require macOS 14+ +# - Only supported on ARM64 (Apple Silicon) Macs diff --git a/config.example.yaml b/config.example.yaml new file mode 100644 index 00000000..cd6c8839 --- /dev/null +++ b/config.example.yaml @@ -0,0 +1,90 @@ +# ============================================================================= +# Hypeman Server Configuration (Linux) +# ============================================================================= +# Copy this file to /etc/hypeman/config.yaml (or ~/.config/hypeman/config.yaml) +# and customize for your environment. +# +# Configuration precedence (highest to lowest): +# 1. Environment variables (e.g., JWT_SECRET, PORT) +# 2. This YAML config file +# 3. Built-in defaults +# ============================================================================= + +# Required - used to sign and verify API tokens +jwt_secret: "" + +# Data directory (default: /var/lib/hypeman) +data_dir: /var/lib/hypeman + +# Server configuration +# port: 8080 + +# Network configuration +# bridge_name: vmbr0 +# subnet_cidr: 10.100.0.0/16 +# subnet_gateway: "" # empty = derived from subnet_cidr +# uplink_interface: "" # empty = auto-detect from default route +# dns_server: 1.1.1.1 + +# Logging +# log_level: info # debug, info, warn, error + +# ============================================================================= +# Caddy / Ingress Configuration +# ============================================================================= +# caddy_listen_address: 0.0.0.0 +# caddy_admin_address: 127.0.0.1 +# caddy_admin_port: 0 # 0 = random (for dev); install script sets to 2019 for production +# internal_dns_port: 0 # 0 = random (for dev); install script sets to 5353 for production +# caddy_stop_on_shutdown: false # Set to true if you want Caddy to stop when hypeman stops + +# ============================================================================= +# TLS / ACME Configuration (for HTTPS ingresses) +# ============================================================================= +# Required for TLS ingresses: +# acme_email: admin@example.com +# acme_dns_provider: cloudflare + +# IMPORTANT: You must specify which domains are allowed for TLS certificates. +# This prevents typos and ensures you only request certificates for domains you control. +# tls_allowed_domains: "*.example.com,api.other.com" +# Supports: +# - Exact matches: api.example.com +# - Wildcard subdomains: *.example.com (matches foo.example.com, NOT foo.bar.example.com) +# If not set, no TLS ingresses are allowed. + +# Optional ACME settings: +# acme_ca: "" # empty = Let's Encrypt production +# # Use https://acme-staging-v02.api.letsencrypt.org/directory for testing + +# DNS propagation settings (applies to all providers): +# dns_propagation_timeout: 2m # Max time to wait for DNS propagation +# dns_resolvers: "1.1.1.1,8.8.8.8" # Custom DNS resolvers for propagation checking + +# Cloudflare DNS Provider (acme_dns_provider: cloudflare) +# cloudflare_api_token: your-api-token +# Token needs Zone:DNS:Edit permissions for the domains you want certificates for + +# ============================================================================= +# OpenTelemetry Configuration +# ============================================================================= +# otel_enabled: false +# otel_endpoint: 127.0.0.1:4317 +# otel_service_name: hypeman +# otel_service_instance_id: "" # default: hostname +# otel_insecure: true +# env: dev # deployment environment + +# ============================================================================= +# Resource Limits +# ============================================================================= +# Per-instance limits +# max_vcpus_per_instance: 16 +# max_memory_per_instance: 32GB + +# Aggregate limits (0 or empty = unlimited) +# max_total_volume_storage: "" + +# Other limits +# max_concurrent_builds: 1 +# max_overlay_size: 100GB diff --git a/go.mod b/go.mod index f6ce5e86..bf2cbdd1 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.25.4 require ( al.essio.dev/pkg/shellescape v1.6.0 + github.com/Code-Hex/vz/v3 v3.7.1 github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 github.com/creack/pty v1.1.24 github.com/cyphar/filepath-securejoin v0.6.1 @@ -20,6 +21,11 @@ require ( github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket v1.5.3 github.com/joho/godotenv v1.5.1 + github.com/knadh/koanf/parsers/yaml v1.1.0 + github.com/knadh/koanf/providers/env v1.1.0 + github.com/knadh/koanf/providers/file v1.2.1 + github.com/knadh/koanf/providers/structs v1.0.0 + github.com/knadh/koanf/v2 v2.3.2 github.com/mdlayher/vsock v1.2.1 github.com/miekg/dns v1.1.68 github.com/nrednav/cuid2 v1.1.0 @@ -57,7 +63,6 @@ require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 // indirect github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect github.com/Code-Hex/go-infinity-channel v1.0.0 // indirect - github.com/Code-Hex/vz/v3 v3.7.1 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect github.com/apex/log v1.9.0 // indirect @@ -75,19 +80,25 @@ require ( github.com/docker/go-connections v0.6.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect + github.com/fatih/structs v1.1.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/swag v0.23.0 // indirect github.com/go-test/deep v1.1.1 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/klauspost/pgzip v1.2.6 // indirect + github.com/knadh/koanf/maps v0.1.2 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mdlayher/socket v0.5.1 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/moby/sys/user v0.4.0 // indirect @@ -112,6 +123,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect go.opentelemetry.io/otel/log v0.14.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.43.0 // indirect golang.org/x/mod v0.28.0 // indirect golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 // indirect diff --git a/go.sum b/go.sum index d33f256d..7e44f095 100644 --- a/go.sum +++ b/go.sum @@ -66,9 +66,13 @@ github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/getkin/kin-openapi v0.133.0 h1:pJdmNohVIJ97r4AUFtEXRXwESr8b0bD721u/Tz6k8PQ= github.com/getkin/kin-openapi v0.133.0/go.mod h1:boAciF6cXk5FhPqe/NQeBTeenbjqU4LhWBf09ILVvWE= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -87,6 +91,8 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -124,6 +130,18 @@ github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zt github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= +github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/parsers/yaml v1.1.0 h1:3ltfm9ljprAHt4jxgeYLlFPmUaunuCgu1yILuTXRdM4= +github.com/knadh/koanf/parsers/yaml v1.1.0/go.mod h1:HHmcHXUrp9cOPcuC+2wrr44GTUB0EC+PyfN3HZD9tFg= +github.com/knadh/koanf/providers/env v1.1.0 h1:U2VXPY0f+CsNDkvdsG8GcsnK4ah85WwWyJgef9oQMSc= +github.com/knadh/koanf/providers/env v1.1.0/go.mod h1:QhHHHZ87h9JxJAn2czdEl6pdkNnDh/JS1Vtsyt65hTY= +github.com/knadh/koanf/providers/file v1.2.1 h1:bEWbtQwYrA+W2DtdBrQWyXqJaJSG3KrP3AESOJYp9wM= +github.com/knadh/koanf/providers/file v1.2.1/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA= +github.com/knadh/koanf/providers/structs v1.0.0 h1:DznjB7NQykhqCar2LvNug3MuxEQsZ5KvfgMbio+23u4= +github.com/knadh/koanf/providers/structs v1.0.0/go.mod h1:kjo5TFtgpaZORlpoJqcbeLowM2cINodv8kX+oFAeQ1w= +github.com/knadh/koanf/v2 v2.3.2 h1:Ee6tuzQYFwcZXQpc2MiVeC6qHMandf5SMUJJNoFp/c4= +github.com/knadh/koanf/v2 v2.3.2/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -145,8 +163,12 @@ github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnE github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.1.68 h1:jsSRkNozw7G/mnmXULynzMNIsgY2dHC8LO6U6Ij2JEA= github.com/miekg/dns v1.1.68/go.mod h1:fujopn7TB3Pu3JM69XaawiU0wqjpL9/8xGop5UrTPps= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= @@ -277,6 +299,8 @@ go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOV go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= diff --git a/lib/providers/providers.go b/lib/providers/providers.go index 1963fcb5..f5e189b9 100644 --- a/lib/providers/providers.go +++ b/lib/providers/providers.go @@ -53,8 +53,10 @@ func ProvideContext(log *slog.Logger) context.Context { // ProvideConfig provides the application configuration. // Panics if configuration is invalid (prevents startup with bad config). +// Config path can be specified via CONFIG_PATH env var or defaults to platform-specific locations. func ProvideConfig() *config.Config { - cfg := config.Load() + configPath := os.Getenv("CONFIG_PATH") + cfg := config.Load(configPath) if err := cfg.Validate(); err != nil { panic(fmt.Sprintf("invalid configuration: %v", err)) } diff --git a/scripts/build-from-source.sh b/scripts/build-from-source.sh index ecfe28c8..24fb06b4 100755 --- a/scripts/build-from-source.sh +++ b/scripts/build-from-source.sh @@ -80,8 +80,13 @@ if ! go build -o "${OUTPUT_DIR}/hypeman-token" ./cmd/gen-jwt >> "$BUILD_LOG" 2>& error "Failed to build hypeman-token" fi -# Copy .env.example for config template -cp ".env.example" "${OUTPUT_DIR}/.env.example" +# Copy config example files for config template +OS=$(uname -s | tr '[:upper:]' '[:lower:]') +if [ "$OS" = "darwin" ]; then + cp "config.darwin.example.yaml" "${OUTPUT_DIR}/config.darwin.example.yaml" +else + cp "config.example.yaml" "${OUTPUT_DIR}/config.example.yaml" +fi info "Build complete" info "Binaries are available in: ${OUTPUT_DIR}" diff --git a/scripts/e2e-install-test.sh b/scripts/e2e-install-test.sh index cf7f1324..5d829abd 100755 --- a/scripts/e2e-install-test.sh +++ b/scripts/e2e-install-test.sh @@ -101,43 +101,30 @@ else fi fi -# Check config +# Check config files if [ "$OS" = "darwin" ]; then - [ -f "$HOME/.config/hypeman/config" ] || fail "Config file not found" + [ -f "$HOME/.config/hypeman/config.yaml" ] || fail "Server config file not found" else - [ -f /etc/hypeman/config ] || fail "Config file not found" + [ -f /etc/hypeman/config.yaml ] || fail "Server config file not found" fi -pass "Config file exists" +pass "Server config file exists" + +[ -f "$HOME/.config/hypeman/cli.yaml" ] || fail "CLI config file not found" +pass "CLI config file exists" # ============================================================================= # Phase 4b: Testing CLI commands # ============================================================================= info "Phase 4b: Testing CLI commands..." -# Determine config file path -if [ "$OS" = "darwin" ]; then - CONFIG_FILE="$HOME/.config/hypeman/config" -else - CONFIG_FILE="/etc/hypeman/config" -fi - -# Extract JWT_SECRET and PORT from config (source is unsafe — values may contain spaces) -JWT_SECRET=$(grep '^JWT_SECRET=' "$CONFIG_FILE" | cut -d= -f2-) -PORT=$(grep '^PORT=' "$CONFIG_FILE" | cut -d= -f2-) -export JWT_SECRET - -# Generate API token using hypeman-token +# hypeman-token should be able to find jwt_secret from config.yaml automatically if [ "$OS" = "darwin" ]; then API_KEY=$("/usr/local/bin/hypeman-token" -user-id "e2e-test-user") else - API_KEY=$("/opt/hypeman/bin/hypeman-token" -user-id "e2e-test-user") + API_KEY=$("/usr/local/bin/hypeman-token" -user-id "e2e-test-user") fi -[ -n "$API_KEY" ] || fail "Failed to generate API token" -pass "Generated API token" - -# Set CLI env -export HYPEMAN_API_KEY="$API_KEY" -export HYPEMAN_BASE_URL="http://localhost:${PORT:-8080}" +[ -n "$API_KEY" ] || fail "Failed to generate API token (hypeman-token should find jwt_secret from config.yaml)" +pass "hypeman-token reads jwt_secret from config.yaml" # Determine CLI path HYPEMAN_CMD="/usr/local/bin/hypeman" diff --git a/scripts/install.sh b/scripts/install.sh index 367b6db5..3c6c2212 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -101,7 +101,7 @@ else CONFIG_DIR="${CONFIG_DIR:-/etc/hypeman}" fi -CONFIG_FILE="${CONFIG_DIR}/config" +CONFIG_FILE="${CONFIG_DIR}/config.yaml" SYSTEMD_DIR="/etc/systemd/system" # ============================================================================= @@ -248,15 +248,15 @@ if [ -n "$BINARY_DIR" ]; then info "Copying binaries from ${BINARY_DIR}..." if [ "$OS" = "darwin" ]; then - for f in "${BINARY_NAME}" "hypeman-token" ".env.darwin.example"; do + for f in "${BINARY_NAME}" "hypeman-token" "config.darwin.example.yaml"; do [ -f "${BINARY_DIR}/${f}" ] || error "File ${f} not found in ${BINARY_DIR}" done - cp "${BINARY_DIR}/.env.darwin.example" "${TMP_DIR}/.env.darwin.example" + cp "${BINARY_DIR}/config.darwin.example.yaml" "${TMP_DIR}/config.darwin.example.yaml" else - for f in "${BINARY_NAME}" "hypeman-token" ".env.example"; do + for f in "${BINARY_NAME}" "hypeman-token" "config.example.yaml"; do [ -f "${BINARY_DIR}/${f}" ] || error "File ${f} not found in ${BINARY_DIR}" done - cp "${BINARY_DIR}/.env.example" "${TMP_DIR}/.env.example" + cp "${BINARY_DIR}/config.example.yaml" "${TMP_DIR}/config.example.yaml" fi cp "${BINARY_DIR}/${BINARY_NAME}" "${TMP_DIR}/${BINARY_NAME}" @@ -295,9 +295,9 @@ elif [ -n "$BRANCH" ]; then cat "$BUILD_LOG" error "Signing failed" fi - cp ".env.darwin.example" "${TMP_DIR}/.env.darwin.example" + cp "config.darwin.example.yaml" "${TMP_DIR}/config.darwin.example.yaml" else - cp ".env.example" "${TMP_DIR}/.env.example" + cp "config.example.yaml" "${TMP_DIR}/config.example.yaml" fi cp "bin/hypeman" "${TMP_DIR}/${BINARY_NAME}" @@ -392,17 +392,9 @@ info "Installing hypeman-token to ${INSTALL_DIR}..." $SUDO install -m 755 "${TMP_DIR}/hypeman-token" "${INSTALL_DIR}/hypeman-token" if [ "$OS" = "linux" ]; then - # Install wrapper script to /usr/local/bin for easy access - info "Installing hypeman-token wrapper to /usr/local/bin..." - $SUDO tee /usr/local/bin/hypeman-token > /dev/null << EOF -#!/bin/bash -# Wrapper script for hypeman-token that loads config from ${CONFIG_FILE} -set -a -source ${CONFIG_FILE} -set +a -exec ${INSTALL_DIR}/hypeman-token "\$@" -EOF - $SUDO chmod 755 /usr/local/bin/hypeman-token + # Symlink to /usr/local/bin for easy access + info "Linking hypeman-token to /usr/local/bin..." + $SUDO ln -sf "${INSTALL_DIR}/hypeman-token" /usr/local/bin/hypeman-token fi # ============================================================================= @@ -429,26 +421,51 @@ fi # ============================================================================= if [ ! -f "$CONFIG_FILE" ]; then + info "Generating JWT secret..." + JWT_SECRET=$(openssl rand -hex 32) + if [ "$OS" = "darwin" ]; then - # macOS config - if [ -f "${TMP_DIR}/.env.darwin.example" ]; then + # macOS config - use template if available, otherwise generate + if [ -f "${TMP_DIR}/config.darwin.example.yaml" ]; then info "Using macOS config template from source..." - cp "${TMP_DIR}/.env.darwin.example" "${TMP_DIR}/config" + cp "${TMP_DIR}/config.darwin.example.yaml" "${TMP_DIR}/config.yaml" else info "Downloading macOS config template..." - CONFIG_URL="https://raw.githubusercontent.com/${REPO}/${VERSION}/.env.darwin.example" - if ! curl -fsSL "$CONFIG_URL" -o "${TMP_DIR}/config"; then - error "Failed to download config template from ${CONFIG_URL}" + CONFIG_URL="https://raw.githubusercontent.com/${REPO}/${VERSION}/config.darwin.example.yaml" + if ! curl -fsSL "$CONFIG_URL" -o "${TMP_DIR}/config.yaml"; then + warn "Failed to download config template, generating minimal config..." + cat > "${TMP_DIR}/config.yaml" << YAMLEOF +jwt_secret: "${JWT_SECRET}" +data_dir: "${DATA_DIR}" +port: "8080" +log_level: debug +default_hypervisor: vz +dns_server: 8.8.8.8 +caddy_listen_address: 0.0.0.0 +caddy_admin_address: 127.0.0.1 +caddy_admin_port: 2019 +internal_dns_port: 5354 +caddy_stop_on_shutdown: false +registry_url: 192.168.64.1:8080 +registry_insecure: true +builder_image: hypeman/builder:latest +max_concurrent_source_builds: 2 +build_timeout: 600 +max_vcpus_per_instance: 4 +max_memory_per_instance: 8GB +YAMLEOF fi fi - # Expand ~ to $HOME (launchd doesn't do shell expansion) - sed -i '' "s|~/|${HOME}/|g" "${TMP_DIR}/config" + # Expand ~ to $HOME in data_dir (launchd doesn't do shell expansion) + if [ "$OS" = "darwin" ]; then + sed -i '' "s|~/|${HOME}/|g" "${TMP_DIR}/config.yaml" + fi - # Generate random JWT secret - info "Generating JWT secret..." - JWT_SECRET=$(openssl rand -hex 32) - sed -i '' "s/^JWT_SECRET=.*/JWT_SECRET=${JWT_SECRET}/" "${TMP_DIR}/config" + # Set jwt_secret in the config + if grep -q '^jwt_secret:' "${TMP_DIR}/config.yaml"; then + sed -i '' "s|^jwt_secret:.*|jwt_secret: \"${JWT_SECRET}\"|" "${TMP_DIR}/config.yaml" + fi # Auto-detect Docker socket DOCKER_SOCKET="" @@ -461,45 +478,57 @@ if [ ! -f "$CONFIG_FILE" ]; then fi if [ -n "$DOCKER_SOCKET" ]; then info "Detected Docker socket: ${DOCKER_SOCKET}" - if grep -q '^DOCKER_SOCKET=' "${TMP_DIR}/config"; then - sed -i '' "s|^DOCKER_SOCKET=.*|DOCKER_SOCKET=${DOCKER_SOCKET}|" "${TMP_DIR}/config" - elif grep -q '^# DOCKER_SOCKET=' "${TMP_DIR}/config"; then - sed -i '' "s|^# DOCKER_SOCKET=.*|DOCKER_SOCKET=${DOCKER_SOCKET}|" "${TMP_DIR}/config" + if grep -q '^docker_socket:' "${TMP_DIR}/config.yaml"; then + sed -i '' "s|^docker_socket:.*|docker_socket: \"${DOCKER_SOCKET}\"|" "${TMP_DIR}/config.yaml" + elif grep -q '^# docker_socket:' "${TMP_DIR}/config.yaml"; then + sed -i '' "s|^# docker_socket:.*|docker_socket: \"${DOCKER_SOCKET}\"|" "${TMP_DIR}/config.yaml" else - echo "DOCKER_SOCKET=${DOCKER_SOCKET}" >> "${TMP_DIR}/config" + echo "docker_socket: \"${DOCKER_SOCKET}\"" >> "${TMP_DIR}/config.yaml" fi fi info "Installing config file at ${CONFIG_FILE}..." - install -m 600 "${TMP_DIR}/config" "$CONFIG_FILE" + install -m 600 "${TMP_DIR}/config.yaml" "$CONFIG_FILE" else - # Linux config - if [ -f "${TMP_DIR}/.env.example" ]; then + # Linux config - use template if available, otherwise generate + if [ -f "${TMP_DIR}/config.example.yaml" ]; then info "Using config template from source..." - cp "${TMP_DIR}/.env.example" "${TMP_DIR}/config" + cp "${TMP_DIR}/config.example.yaml" "${TMP_DIR}/config.yaml" else info "Downloading config template..." - CONFIG_URL="https://raw.githubusercontent.com/${REPO}/${VERSION}/.env.example" - if ! curl -fsSL "$CONFIG_URL" -o "${TMP_DIR}/config"; then - error "Failed to download config template from ${CONFIG_URL}" + CONFIG_URL="https://raw.githubusercontent.com/${REPO}/${VERSION}/config.example.yaml" + if ! curl -fsSL "$CONFIG_URL" -o "${TMP_DIR}/config.yaml"; then + warn "Failed to download config template, generating minimal config..." + cat > "${TMP_DIR}/config.yaml" << YAMLEOF +jwt_secret: "${JWT_SECRET}" +data_dir: /var/lib/hypeman +caddy_admin_port: 2019 +internal_dns_port: 5353 +YAMLEOF fi fi - # Generate random JWT secret - info "Generating JWT secret..." - JWT_SECRET=$(openssl rand -hex 32) - sed -i "s/^JWT_SECRET=$/JWT_SECRET=${JWT_SECRET}/" "${TMP_DIR}/config" + # Set jwt_secret in the config + if grep -q '^jwt_secret:' "${TMP_DIR}/config.yaml"; then + sed -i "s|^jwt_secret:.*|jwt_secret: \"${JWT_SECRET}\"|" "${TMP_DIR}/config.yaml" + fi - # Set fixed ports for production (instead of random ports used in dev) - sed -i "s/^# CADDY_ADMIN_PORT=.*/CADDY_ADMIN_PORT=2019/" "${TMP_DIR}/config" - sed -i "s/^# INTERNAL_DNS_PORT=.*/INTERNAL_DNS_PORT=5353/" "${TMP_DIR}/config" + # Set fixed ports for production + if grep -q '^# caddy_admin_port:' "${TMP_DIR}/config.yaml"; then + sed -i "s|^# caddy_admin_port:.*|caddy_admin_port: 2019|" "${TMP_DIR}/config.yaml" + fi + if grep -q '^# internal_dns_port:' "${TMP_DIR}/config.yaml"; then + sed -i "s|^# internal_dns_port:.*|internal_dns_port: 5353|" "${TMP_DIR}/config.yaml" + fi info "Installing config file at ${CONFIG_FILE}..." - $SUDO install -m 640 "${TMP_DIR}/config" "$CONFIG_FILE" + $SUDO install -m 640 "${TMP_DIR}/config.yaml" "$CONFIG_FILE" $SUDO chown root:root "$CONFIG_FILE" fi else info "Config file already exists at ${CONFIG_FILE}, skipping..." + # Read JWT_SECRET from existing config for CLI token generation + JWT_SECRET=$(grep '^jwt_secret:' "$CONFIG_FILE" 2>/dev/null | sed 's/^jwt_secret:[[:space:]]*//' | tr -d '"' || true) fi # ============================================================================= @@ -514,21 +543,6 @@ if [ "$OS" = "darwin" ]; then info "Installing launchd service..." - # Build environment variables from config file - ENV_DICT="" - if [ -f "$CONFIG_FILE" ]; then - while IFS= read -r line; do - # Skip comments and empty lines - [[ "$line" =~ ^[[:space:]]*# ]] && continue - [[ -z "$line" ]] && continue - key="${line%%=*}" - value="${line#*=}" - ENV_DICT="${ENV_DICT} - ${key} - ${value}" - done < "$CONFIG_FILE" - fi - cat > "$PLIST_PATH" << PLIST @@ -543,7 +557,9 @@ if [ "$OS" = "darwin" ]; then EnvironmentVariables PATH - /opt/homebrew/opt/e2fsprogs/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin${ENV_DICT} + /opt/homebrew/opt/e2fsprogs/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin + CONFIG_PATH + ${CONFIG_FILE} KeepAlive @@ -571,7 +587,7 @@ After=network.target [Service] Type=simple Environment="HOME=${DATA_DIR}" -EnvironmentFile=${CONFIG_FILE} +Environment="CONFIG_PATH=${CONFIG_FILE}" ExecStart=${INSTALL_DIR}/${BINARY_NAME} Restart=on-failure RestartSec=5 @@ -670,20 +686,47 @@ if [ -n "$CLI_VERSION" ]; then else # Install CLI binary info "Installing hypeman CLI to ${INSTALL_DIR}..." - $SUDO install -m 755 "${TMP_DIR}/cli/hypeman" "${INSTALL_DIR}/hypeman-cli" + $SUDO install -m 755 "${TMP_DIR}/cli/hypeman" "${INSTALL_DIR}/hypeman" - # Install wrapper script to /usr/local/bin for PATH access - info "Installing hypeman wrapper to /usr/local/bin..." - $SUDO tee /usr/local/bin/hypeman > /dev/null << WRAPPER -#!/bin/bash -# Wrapper script for hypeman CLI that auto-generates API token -set -a -source ${CONFIG_FILE} -set +a -export HYPEMAN_API_KEY=\$(${INSTALL_DIR}/hypeman-token -user-id "cli-user-\$(whoami)" 2>/dev/null) -exec ${INSTALL_DIR}/hypeman-cli "\$@" -WRAPPER - $SUDO chmod 755 /usr/local/bin/hypeman + # Symlink to /usr/local/bin for PATH access + info "Linking hypeman to /usr/local/bin..." + $SUDO ln -sf "${INSTALL_DIR}/hypeman" /usr/local/bin/hypeman + fi + + # Generate CLI config file with a pre-authenticated token + CLI_CONFIG_DIR="$HOME/.config/hypeman" + CLI_CONFIG_FILE="${CLI_CONFIG_DIR}/cli.yaml" + if [ ! -f "$CLI_CONFIG_FILE" ]; then + info "Generating CLI configuration..." + mkdir -p "$CLI_CONFIG_DIR" + + # Determine the port from config + CLI_PORT="8080" + if [ -f "$CONFIG_FILE" ]; then + PARSED_PORT=$(grep '^port:' "$CONFIG_FILE" 2>/dev/null | sed 's/^port:[[:space:]]*//' | tr -d '"' || true) + if [ -n "$PARSED_PORT" ]; then + CLI_PORT="$PARSED_PORT" + fi + fi + + # Generate a long-lived CLI token + CLI_TOKEN=$("${INSTALL_DIR}/hypeman-token" -user-id "cli-$(whoami)" -duration 8760h 2>/dev/null || true) + if [ -z "$CLI_TOKEN" ]; then + warn "Failed to generate CLI token. You may need to run: hypeman-token -user-id cli-$(whoami) > token and add it to ${CLI_CONFIG_FILE}" + cat > "$CLI_CONFIG_FILE" << CLIEOF +base_url: http://localhost:${CLI_PORT} +api_key: "" +CLIEOF + else + cat > "$CLI_CONFIG_FILE" << CLIEOF +base_url: http://localhost:${CLI_PORT} +api_key: "${CLI_TOKEN}" +CLIEOF + fi + chmod 600 "$CLI_CONFIG_FILE" + info "CLI configured at ${CLI_CONFIG_FILE}" + else + info "CLI config already exists at ${CLI_CONFIG_FILE}, skipping..." fi else warn "Failed to download CLI from ${CLI_DOWNLOAD_URL}, skipping CLI installation" @@ -712,7 +755,8 @@ if [ "$OS" = "darwin" ]; then echo " API Binary: ${INSTALL_DIR}/${BINARY_NAME}" echo " CLI: ${INSTALL_DIR}/hypeman" echo " Token tool: ${INSTALL_DIR}/hypeman-token" - echo " Config: ${CONFIG_FILE}" + echo " Server config: ${CONFIG_FILE}" + echo " CLI config: ~/.config/hypeman/cli.yaml" echo " Data: ${DATA_DIR}" echo " Service: ~/Library/LaunchAgents/com.kernel.hypeman.plist" echo " Logs: ${DATA_DIR}/logs/hypeman.log" @@ -720,7 +764,8 @@ else echo " API Binary: ${INSTALL_DIR}/${BINARY_NAME}" echo " CLI: /usr/local/bin/hypeman" echo " Token tool: /usr/local/bin/hypeman-token" - echo " Config: ${CONFIG_FILE}" + echo " Server config: ${CONFIG_FILE}" + echo " CLI config: ~/.config/hypeman/cli.yaml" echo " Data: ${DATA_DIR}" echo " Service: ${SERVICE_NAME}.service" fi @@ -728,7 +773,7 @@ fi echo "" echo "" echo "Next steps:" -echo " - (Optional) Edit ${CONFIG_FILE} to configure your installation" +echo " - (Optional) Edit ${CONFIG_FILE} to configure your server" echo "" echo "Get Started:" echo "╭──────────────────────────────────────────╮" diff --git a/scripts/uninstall.sh b/scripts/uninstall.sh index ccf9d673..39dd0eeb 100755 --- a/scripts/uninstall.sh +++ b/scripts/uninstall.sh @@ -123,7 +123,7 @@ else fi # ============================================================================= -# Remove binaries and wrappers +# Remove binaries and symlinks # ============================================================================= info "Removing binaries..." @@ -133,7 +133,7 @@ if [ "$OS" = "darwin" ]; then $SUDO rm -f "${INSTALL_DIR}/hypeman-token" $SUDO rm -f "${INSTALL_DIR}/hypeman" else - # Remove wrapper scripts from /usr/local/bin + # Remove symlinks from /usr/local/bin $SUDO rm -f /usr/local/bin/hypeman $SUDO rm -f /usr/local/bin/hypeman-token From 9404fc0bdbaa063e3b3293d9d8e1e1b72a026386 Mon Sep 17 00:00:00 2001 From: Rafael Garcia Date: Sun, 15 Feb 2026 13:18:14 -0500 Subject: [PATCH 02/20] fix: address bot review feedback on config loading - Pass JWT_SECRET explicitly to hypeman-token in install.sh (fixes Linux installs where config.yaml is root-only) - Return error from config.Load() when explicit CONFIG_PATH fails instead of silently falling back to defaults - Deduplicate config paths: gen-jwt now imports and uses config.GetDefaultConfigPaths() instead of maintaining its own copy --- cmd/api/config/config.go | 26 ++++++++++++++++---------- cmd/api/main.go | 5 ++++- cmd/gen-jwt/main.go | 25 ++++--------------------- gen-jwt | Bin 0 -> 5387506 bytes lib/providers/providers.go | 5 ++++- scripts/install.sh | 3 ++- 6 files changed, 30 insertions(+), 34 deletions(-) create mode 100755 gen-jwt diff --git a/cmd/api/config/config.go b/cmd/api/config/config.go index 3eb8a653..a4fb934a 100644 --- a/cmd/api/config/config.go +++ b/cmd/api/config/config.go @@ -264,19 +264,20 @@ func defaultConfig() *Config { // // The configPath parameter specifies an explicit config file path. // If empty, searches default locations based on OS. -func Load(configPath string) *Config { +// Returns an error if an explicitly provided configPath cannot be loaded. +func Load(configPath string) (*Config, error) { k := koanf.New(".") // 1. Load defaults first defaults := defaultConfig() if err := k.Load(structs.Provider(defaults, "koanf"), nil); err != nil { - // Should never happen with our struct - panic(fmt.Sprintf("failed to load default config: %v", err)) + return nil, fmt.Errorf("failed to load default config: %w", err) } - // 2. Load from YAML config file (if exists) - if configPath == "" { - // Search default paths + // 2. Load from YAML config file + explicitPath := configPath != "" + if !explicitPath { + // Search default paths (best-effort, file may not exist) for _, path := range GetDefaultConfigPaths() { if _, err := os.Stat(path); err == nil { configPath = path @@ -285,8 +286,13 @@ func Load(configPath string) *Config { } } if configPath != "" { - // Ignore errors - file may not exist - _ = k.Load(file.Provider(configPath), yaml.Parser()) + if err := k.Load(file.Provider(configPath), yaml.Parser()); err != nil { + if explicitPath { + // Explicit path must be loadable + return nil, fmt.Errorf("failed to load config from %s: %w", configPath, err) + } + // Auto-discovered path failed — continue with defaults + env + } } // 3. Overlay environment variables (highest precedence) @@ -301,10 +307,10 @@ func Load(configPath string) *Config { // 4. Unmarshal to Config struct var cfg Config if err := k.Unmarshal("", &cfg); err != nil { - panic(fmt.Sprintf("failed to unmarshal config: %v", err)) + return nil, fmt.Errorf("failed to unmarshal config: %w", err) } - return &cfg + return &cfg, nil } // Validate checks configuration values for correctness. diff --git a/cmd/api/main.go b/cmd/api/main.go index c07d55b8..37de1cfb 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -47,7 +47,10 @@ func run() error { // Load config early for OTel initialization // Config path can be specified via CONFIG_PATH env var or defaults to platform-specific locations configPath := os.Getenv("CONFIG_PATH") - cfg := config.Load(configPath) + cfg, err := config.Load(configPath) + if err != nil { + return fmt.Errorf("failed to load config: %w", err) + } // Validate configuration before proceeding if err := cfg.Validate(); err != nil { diff --git a/cmd/gen-jwt/main.go b/cmd/gen-jwt/main.go index 22cc4f86..2fe2d988 100644 --- a/cmd/gen-jwt/main.go +++ b/cmd/gen-jwt/main.go @@ -4,35 +4,18 @@ import ( "flag" "fmt" "os" - "path/filepath" - "runtime" "time" "github.com/golang-jwt/jwt/v5" + "github.com/kernel/hypeman/cmd/api/config" "github.com/knadh/koanf/parsers/yaml" "github.com/knadh/koanf/providers/file" "github.com/knadh/koanf/v2" ) -// getServerConfigPaths returns the default config file paths to search for jwt_secret. -// This matches the paths used by hypeman-api. -func getServerConfigPaths() []string { - home, _ := os.UserHomeDir() - if runtime.GOOS == "darwin" { - return []string{ - filepath.Join(home, ".config", "hypeman", "config.yaml"), - } - } - // Linux: check /etc first, then user config - return []string{ - "/etc/hypeman/config.yaml", - filepath.Join(home, ".config", "hypeman", "config.yaml"), - } -} - // getJWTSecret retrieves the JWT secret with the following precedence: // 1. JWT_SECRET environment variable -// 2. jwt_secret from config.yaml files +// 2. jwt_secret from config.yaml files (same paths as hypeman-api) func getJWTSecret() string { // 1. Check environment variable first (highest precedence) if s := os.Getenv("JWT_SECRET"); s != "" { @@ -41,7 +24,7 @@ func getJWTSecret() string { // 2. Try to read from config files k := koanf.New(".") - for _, path := range getServerConfigPaths() { + for _, path := range config.GetDefaultConfigPaths() { if err := k.Load(file.Provider(path), yaml.Parser()); err == nil { if s := k.String("jwt_secret"); s != "" { return s @@ -61,7 +44,7 @@ func main() { if jwtSecret == "" { fmt.Fprintf(os.Stderr, "Error: JWT_SECRET not found.\n") fmt.Fprintf(os.Stderr, "Set JWT_SECRET environment variable or ensure jwt_secret is configured in:\n") - for _, path := range getServerConfigPaths() { + for _, path := range config.GetDefaultConfigPaths() { fmt.Fprintf(os.Stderr, " - %s\n", path) } os.Exit(1) diff --git a/gen-jwt b/gen-jwt new file mode 100755 index 0000000000000000000000000000000000000000..e853c0bbab41f1ce0df9b690197f0747c39ac5d6 GIT binary patch literal 5387506 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�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

Ob%)0(7$r`61N*&0vY0P_e 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