# OpenBoatmobile Outputs # Useful values after deployment # ============================================================================= # CONNECTION INFO # ============================================================================= output "server_ip" { description = "Public IP address of the server" value = var.cloud_provider == "digitalocean" ? ( local.is_digitalocean ? digitalocean_droplet.agent[0].ipv4_address : null ) : ( local.is_hetzner ? hcloud_server.agent[0].ipv4_address : null ) } output "server_name" { description = "Hostname of the server" value = var.server_name } output "ssh_command" { description = "SSH command to connect to the server" value = var.cloud_provider == "digitalocean" ? ( local.is_digitalocean ? "ssh ${local.effective_admin_user}@${digitalocean_droplet.agent[0].ipv4_address}" : null ) : ( local.is_hetzner ? "ssh ${local.effective_admin_user}@${hcloud_server.agent[0].ipv4_address}" : null ) } # ============================================================================= # FRAMEWORK INFO # ============================================================================= output "agent_framework" { description = "Agent framework deployed" value = var.agent_framework } output "gateway_token" { description = "Gateway authentication token (for Hermes)" value = var.agent_framework == "hermes" && var.gateway_token == "" ? random_password.gateway_token[0].result : (var.gateway_token != "" ? var.gateway_token : "") sensitive = true } # ============================================================================= # TAILSCALE (if enabled) # ============================================================================= output "tailscale_url" { description = "Tailscale URL for gateway access (if Tailscale enabled)" value = var.enable_tailscale ? "https://${var.server_name}.${var.tailscale_tailnet_domain}.ts.net/" : "" } # ============================================================================= # PROVIDER INFO # ============================================================================= output "cloud_provider" { description = "Cloud provider used" value = var.cloud_provider } output "server_type" { description = "Server type/size used" value = var.cloud_provider == "digitalocean" ? var.droplet_size_digitalocean : var.server_type_hetzner } output "location" { description = "Server location/region" value = var.cloud_provider == "digitalocean" ? var.region_digitalocean : var.location_hetzner } # ============================================================================= # NEXT STEPS # ============================================================================= output "next_steps" { description = "Post-deployment instructions" value = var.agent_framework == "hermes" ? ( var.docker_enabled ? "Hermes Agent deployed (Docker)! SSH: ssh ${local.effective_admin_user}@[server-ip] | Check: docker ps, docker logs hermes -f" : "Hermes Agent deployed (Direct)! SSH: ssh ${local.effective_admin_user}@[server-ip] | Check: systemctl status hermes.service, hermes --version" ) : ( "OpenClaw Gateway deployed! SSH: ssh ${local.effective_admin_user}@[server-ip] | Run: openclaw onboard --install-daemon" ) }