# ============================================================================ # Gadget Drone Worker — Example Configuration # ============================================================================ # Install this file to one of: # ~/.config/gadget/gadget-drone.yaml (user-level, takes precedence) # /etc/gadget/gadget-drone.yaml (system-level) # # Secrets MUST be stored in environment variables, NOT in this file. # Use ${VAR_NAME} syntax to reference environment variables. # ============================================================================ # Timezone for the drone worker (used by dayjs and logging) timezone: "America/New_York" # ── Platform Connection (REQUIRED) ────────────────────────────────────────── # The drone connects to the Gadget Code platform via Socket.IO over HTTPS. # These values are MANDATORY. The drone will refuse to start without them. platform: baseUrl: "https://code.example.com:3443" # Platform URL (HTTPS) gadgetKey: "${GADGET_PLATFORM_KEY}" # API key for authentication # ── Google Custom Search Engine (OPTIONAL) ─────────────────────────────────── # If provided, the drone's search_google tool will use these credentials. # If omitted, web search capabilities will be unavailable. google: cse: apiKey: "${GOOGLE_CSE_API_KEY}" # Google API key with CSE enabled engineId: "${GOOGLE_CSE_ENGINE_ID}" # Your custom search engine ID # ── Logging Configuration ─────────────────────────────────────────────────── # Logs follow XDG Base Directory spec by default. logging: console: enabled: true # Print to stdout/stderr file: enabled: true path: "~/.local/state/gadget-drone/logs" # Supports ~ expansion name: "gadget-drone" maxWritesPerFile: 10000 # Rotate after this many writes maxFiles: 10 # Keep this many rotated files levels: debug: true # Set false in production for less noise info: true warn: true