Skip to content

Update default OS and plan for Hetzner and DigitalOcean#139

Merged
alexellis merged 1 commit into
inlets:masterfrom
welteki:update-hetzner-do-defaults
Feb 25, 2026
Merged

Update default OS and plan for Hetzner and DigitalOcean#139
alexellis merged 1 commit into
inlets:masterfrom
welteki:update-hetzner-do-defaults

Update default OS and plan for Hetzner and DigitalOcean

e48019d
Select commit
Loading
Failed to load commit list.
reviewfn / succeeded Feb 25, 2026 in 35s

AI Code Review Results

AI Pull Request Overview

Summary

  • Changes default OS from Ubuntu 22.04 to Debian 13 for Hetzner provider
  • Changes default OS from Ubuntu 22.04 to Debian 13 and reduces plan size for DigitalOcean provider
  • Affects only newly provisioned exit nodes, no impact on existing infrastructure
  • No migration steps required for existing users

Approval rating (1-10)

7 - Low-risk defaults update with tested changes, but lacks rationale for OS switch and potential performance impact from smaller DigitalOcean plan.

Summary per file

Summary per file
File path Summary
cmd/create.go Updated default OS and plan values in createHost function for DigitalOcean and Hetzner providers

Overall Assessment

The changes update provisioning defaults to use Debian 13 instead of Ubuntu 22.04 and a smaller instance size for DigitalOcean. While this reduces costs and follows the stated testing, the lack of justification for switching OS distributions and the potential resource constraints of the new DigitalOcean plan size pose risks for stability and performance that should be evaluated.

Detailed Review

Detailed Review

Code Changes Analysis

cmd/create.go - DigitalOcean defaults (lines 450-458):

  • OS changed from "ubuntu-22-04-x64" to "debian-13-x64"
  • Plan changed from "s-1vcpu-1gb" to "s-1vcpu-512mb-10gb"

cmd/create.go - Hetzner defaults (lines 586-592):

  • OS changed from "ubuntu-22.04" to "debian-13"

Risks and Concerns

  1. OS Distribution Switch: Switching from Ubuntu to Debian without documented rationale introduces uncertainty. Debian may have different package availability, kernel versions, or systemd configurations that could affect inlets-pro installation and operation. The user-data scripts assume certain package managers and system behaviors that may vary between distributions.

  2. DigitalOcean Plan Size Reduction: Reducing RAM from 1GB to 512MB and storage from unspecified to 10GB may cause performance issues if inlets-pro or the exit node workload requires more memory. No benchmarking or resource usage analysis was provided to justify this change.

  3. Image Availability: The code assumes "debian-13-x64" and "debian-13" images exist and are available in the respective cloud providers. If these images don't exist or have been renamed, provisioning will fail silently or with cryptic errors.

  4. Testing Scope: While the PR mentions testing with inlets-operator, this doesn't cover all use cases (TCP tunnels, HTTPS tunnels with Let's Encrypt, different regions). The changes affect default behavior for all users.

  5. Backward Compatibility: Although existing instances aren't affected, users who rely on Ubuntu-specific configurations in their custom deployments may face inconsistencies.

Suggested Improvements

  1. Validate Image Existence: Add validation in the provisioning logic to check if the specified OS images are available in the target region before attempting creation.

  2. Document Rationale: The PR description should explain why Debian was chosen over Ubuntu (e.g., stability, security updates, cost, package availability).

  3. Resource Requirements: Provide minimum resource recommendations for inlets-pro exit nodes to ensure the smaller plan doesn't cause issues.

  4. Graceful Fallback: Consider adding a fallback mechanism if the preferred OS image is unavailable.

  5. Extended Testing: Test across different tunnel types (TCP, HTTPS) and regions to ensure no regressions.

Security Considerations

Debian 13 (if it refers to Debian Trixie/testing) may have different security update cadences than Ubuntu LTS. Ensure the chosen Debian version has appropriate long-term support or security maintenance periods.

Performance Impact

The smaller DigitalOcean plan may be insufficient for high-throughput exit nodes. Monitor CPU and memory usage in production deployments after this change.

AI agent details.

Agent processing time: 25.565s
Environment preparation time: 6.485s
Total time from webhook: 38.938s