Skip to content

feat: Add Hetzner Cloud integration#6

Open
ashwin47 wants to merge 3 commits intochatwoot:developfrom
ashwin47:feat/hetzner-integration
Open

feat: Add Hetzner Cloud integration#6
ashwin47 wants to merge 3 commits intochatwoot:developfrom
ashwin47:feat/hetzner-integration

Conversation

@ashwin47
Copy link

@ashwin47 ashwin47 commented Mar 6, 2026

Summary

  • Add native Hetzner Cloud API integration with 12 tools: servers (list/get/metrics), load balancers (list/get/metrics), firewalls, networks, volumes, floating IPs, and SSH keys
  • Resource discovery for Hetzner servers populates resource maps automatically
  • Routes through the existing infrastructure sub-agent
  • Settings UI with API token configuration (supports multiple accounts)

Test plan

  • Verified API token saves and encrypts correctly
  • Verified integration status endpoint detects Hetzner config
  • Verified Python agent imports and tool registration
  • Test agent queries against a live Hetzner account

🤖 Generated with Claude Code

ashwin47 and others added 3 commits March 6, 2026 21:39
Add native Hetzner Cloud API integration with 12 tools covering servers
(list/get/metrics), load balancers (list/get/metrics), firewalls, networks,
volumes, floating IPs, and SSH keys. Includes resource discovery for
resource maps and routes through the infrastructure sub-agent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add api_token to Setting::SENSITIVE_SUFFIXES so Hetzner tokens are
  masked in /settings responses instead of returned in plaintext.
- Only expose hetzner_* tools to the infrastructure sub-agent when the
  Hetzner integration is actually configured, preventing wasted agent
  iterations on unavailable tools.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant