- Enhanced Makefile with cross-compilation for linux/amd64, linux/arm64, darwin/arm64, windows/amd64, windows/arm64 - Added GitHub Actions CI workflow for testing on all platforms - Added GitHub Actions Release workflow triggered by version tags - Added VERSION file for version tracking - Added scripts/release.sh for automated release process - Added Dockerfile for containerized builds - Added CONTRIBUTING.md with release process documentation - Added CHANGELOG.md for version tracking - Updated .gitignore to exclude build artifacts - Fixed unused variable in cmd/obm/main.go - Version now injected via ldflags (main.version, main.gitCommit, main.buildTime)
125 lines
No EOL
3.2 KiB
Text
125 lines
No EOL
3.2 KiB
Text
# OpenBoatmobile Deployment Configuration
|
|
# Usage: obm deploy --config deploy.yaml
|
|
#
|
|
# This file defines all configuration for non-interactive CI/CD deployment.
|
|
# All required fields must be provided. Optional fields have sensible defaults.
|
|
|
|
# Required: Agent framework selection
|
|
# Options: hermes, openclaw
|
|
framework: hermes
|
|
|
|
# Cloud provider configuration
|
|
provider:
|
|
# Required: Cloud provider name
|
|
# Options: hetzner, digitalocean
|
|
name: hetzner
|
|
|
|
# Required: API token (sensitive)
|
|
# Hetzner: Get from https://console.hetzner.cloud/ → Security → API Tokens
|
|
# DigitalOcean: Get from https://cloud.digitalocean.com/account/api/tokens
|
|
token: "your-api-token-here"
|
|
|
|
# SSH key configuration
|
|
ssh:
|
|
# For Hetzner: Key name as shown in Hetzner Cloud Console
|
|
names:
|
|
- "my-ssh-key"
|
|
# For DigitalOcean: Key fingerprints
|
|
# fingerprints:
|
|
# - "aa:bb:cc:dd:ee:ff"
|
|
|
|
# Server configuration
|
|
server:
|
|
# Server hostname (default: agent-gateway)
|
|
name: "my-agent-gateway"
|
|
|
|
# Agent name for display (default: same as framework)
|
|
agent_name: "hermes"
|
|
|
|
# Timezone (default: UTC)
|
|
timezone: "UTC"
|
|
|
|
# === Hetzner-specific ===
|
|
# Location: ash (Ashburn, VA), fsn1 (Falkenstein), nbg1 (Nuremberg), hel1 (Helsinki)
|
|
location: "ash"
|
|
# Server type: cpx21 (recommended), cx23, cpx31 (default: cpx21)
|
|
type: "cpx21"
|
|
|
|
# === DigitalOcean-specific ===
|
|
# region: "nyc3"
|
|
# size: "s-2vcpu-4gb"
|
|
|
|
# Inference provider configuration
|
|
inference:
|
|
# Required: Inference provider
|
|
# Options: venice, openrouter, openai, anthropic, custom
|
|
provider: venice
|
|
|
|
# Required: API key (sensitive)
|
|
# Venice: Get from https://venice.ai → Settings → API Keys
|
|
api_key: "your-venice-api-key"
|
|
|
|
# Optional: Base URL (required for custom provider)
|
|
# base_url: "https://api.custom.com/v1"
|
|
|
|
# Optional: Primary model (default depends on provider)
|
|
primary_model: "zai-org-glm-5"
|
|
|
|
# Optional: Model display name
|
|
primary_model_name: "GLM 5"
|
|
|
|
# Optional: Fallback models in priority order
|
|
fallback_models:
|
|
# - "openai/gpt-4o"
|
|
|
|
# Optional: Fallback providers with their own API keys
|
|
# fallbacks:
|
|
# - provider: openai
|
|
# api_key: "sk-..."
|
|
# - provider: openrouter
|
|
# api_key: "sk-or-..."
|
|
|
|
# Optional: Tailscale VPN configuration
|
|
tailscale:
|
|
enabled: true
|
|
# Required if enabled: Auth key from https://login.tailscale.com/admin/settings/keys
|
|
auth_key: "tskey-auth-..."
|
|
# Optional: Tailnet domain (default: tailnet)
|
|
tailnet: "mytailnet"
|
|
|
|
# Optional: Discord integration
|
|
discord:
|
|
enabled: false
|
|
# Required if enabled: Bot token from Discord Developer Portal
|
|
# bot_token: ""
|
|
# Required if enabled: Server/guild ID
|
|
# server_id: ""
|
|
# Optional: Allowed user IDs
|
|
# user_ids:
|
|
# - "123456789"
|
|
# Hermes-specific:
|
|
# home_channel: ""
|
|
# auto_thread: true
|
|
|
|
# Optional: Hermes-specific configuration
|
|
# hermes:
|
|
# docker_enabled: true
|
|
|
|
# Optional: OpenClaw-specific configuration
|
|
# openclaw:
|
|
# version: "lts"
|
|
# node_version: "22"
|
|
# enable_swap: true
|
|
# swap_size_gb: 2
|
|
# enable_fail2ban: true
|
|
# enable_unattended_upgrades: true
|
|
|
|
# Optional: Hermes gateway configuration
|
|
# gateway:
|
|
# token: ""
|
|
# allowed_users: ""
|
|
# allow_all: true
|
|
|
|
# Optional: Additional integrations
|
|
# integrations:
|
|
# brave_search_api_key: "" |