- Notifications
You must be signed in to change notification settings - Fork72
feat: add Hetzner Cloud server template#426
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
This PR adds a comprehensive Hetzner Cloud server template for Coder workspaces that supports dynamic server configuration, persistent storage, and networking.
- Implements dynamic server configuration through JSON metadata for server types, locations, and images
- Provides server type/location validation to prevent invalid resource combinations
- Creates persistent volumes for home directories that survive workspace restarts with proper lifecycle management
Reviewed Changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
registry/melmathari/templates/hetzner-cloud/main.tf | Main Terraform configuration implementing the Hetzner Cloud template with dynamic parameters, validation, and resource provisioning |
registry/melmathari/templates/hetzner-cloud/hetzner-config.json | JSON configuration defining available server types, locations, images, and availability constraints |
registry/melmathari/templates/hetzner-cloud/cloud-config.yaml.tftpl | Cloud-init template for server initialization and Coder agent setup |
registry/melmathari/templates/hetzner-cloud/README.md | Comprehensive documentation covering setup, configuration, troubleshooting, and usage |
registry/melmathari/README.md | Author profile and bio information |
.github/typos.toml | Updated spell checker configuration to allow Hetzner-specific terms |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@melmathari, you should be able to run |
melmathari commentedSep 19, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@matifali I just did, just checked my logs from yesterday I didn't use write, so was under the assumption that it already did so before I committed. Happy to take another look if anything else pops up. Appreciate your time and feedback. |
melmathari commentedSep 19, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@matifali Apologies as i'm new to the project, i accidentally named the folder images instead of .images. Also saw that the other checks now all passed, which is great. Appreciate your time. |
@matifali I've addressed the CI issue related to folder name. Thank you for looking at this PR. |
Uh oh!
There was an error while loading.Please reload this page.
@matifali should i update my branch or leave it for now?
|
@melmathari, please wait for a review and approval. |
@DevelopmentCats Appreciate your time on reviewing this PR. Looking forward to getting this ready. |
DevelopmentCats commentedOct 1, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Hey I'm going to review this and test it out , but on first pass can you use dynamic parameters, and make it so the available server types shown, are dependent on the location. Since this will fail if you choose a server location that is not available in the location you have chosen. The way you validate it is probably fine but I just wanted to point it out since this makes it feel much smoother. You can look at this old PR to see how this might be done for hetzner.https://github.com/coder/registry/pull/254/files#diff-2767e2231b494f3744f3ed2d08e2ba3631a62c31937fdb736084779533cacae5 |
… default template to build
melmathari commentedOct 2, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@DevelopmentCats Done, i also removed some of the deprecated servers and added Singapore to the list.@matifali can you re-run the tests. Thank you guys. https://www.loom.com/share/03aa572c52b547d6971daf67b439f048?sid=c02c748d-27e0-4f57-88c9-24cb0925ff60 |
Uh oh!
There was an error while loading.Please reload this page.
Closes#209
Description
Create Terraform template for Hetzner Cloud servers with networking and volumes
Type of Change
Testing & Validation
bun test
)bun run fmt
)/claim#209
Files & Resources
plan.debug
.terraform.lock.zip
Video
Please note in the video the memory size of certain servers was not set properly. I have updated this in the last version.
chrome_bL0ejpcoui.mp4