openboatmobile-ai/main.tf
CeeLo Greenheart a593af9b27 Initial commit - Clean public release
Sanitized for public release:
- Removed all API keys, tokens, and secrets
- Removed personal Discord IDs from hermes-openclaw.json
- Updated git URLs to be generic placeholders
- All sensitive data uses environment variable interpolation
2026-04-22 19:13:28 +00:00

55 lines
No EOL
1.4 KiB
HCL

# OpenBoatmobile - Agent Deployment
# Provider-agnostic infrastructure for OpenClaw or Hermes agents
terraform {
required_version = ">= 1.5.4"
required_providers {
digitalocean = {
source = "digitalocean/digitalocean"
version = "~> 2.0"
}
hcloud = {
source = "hetznercloud/hcloud"
version = "~> 1.0"
}
random = {
source = "hashicorp/random"
version = "~> 3.0"
}
cloudinit = {
source = "hashicorp/cloudinit"
version = "~> 2.0"
}
}
}
# Provider configuration - selected by var.cloud_provider
# Secrets (API tokens) are set via environment variables:
# TF_VAR_do_token or TF_VAR_hcloud_token
provider "digitalocean" {
token = var.do_token
}
provider "hcloud" {
token = var.hcloud_token
}
# Locals for provider selection and framework-specific defaults
locals {
is_digitalocean = var.cloud_provider == "digitalocean"
is_hetzner = var.cloud_provider == "hetzner"
# Framework-specific admin user defaults
admin_user_framework_default = var.agent_framework == "hermes" ? "hermes" : "openclaw"
# Use framework default if admin_user not explicitly set
effective_admin_user = var.admin_user != "" ? var.admin_user : local.admin_user_framework_default
# Common tags/labels for resource tracking
common_tags = {
project = var.project_name
managed = "terraform"
component = var.agent_framework == "hermes" ? "hermes-agent" : "openclaw-gateway"
}
}