-
Notifications
You must be signed in to change notification settings - Fork 75
feat: Add Scaleway Instance Template #449
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 our terms of service and privacy 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 new Scaleway Instance template for creating Coder workspaces on Scaleway cloud infrastructure. The template provides comprehensive support for Scaleway's instance types, regions, and operating systems with persistent storage capabilities.
Key changes include:
- Complete Terraform configuration for Scaleway workspace provisioning with dual-stack networking and persistent storage
- Dynamic instance type selection using a comprehensive JSON configuration file
- Cloud-init scripts for automated agent setup and persistent home directory mounting
Reviewed Changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| registry/mossylion/README.md | New contributor profile with template listing |
| registry/mossylion/templates/scaleway-instance/README.md | Comprehensive documentation with setup instructions and architecture details |
| registry/mossylion/templates/scaleway-instance/main.tf | Main Terraform configuration for Scaleway resources and Coder integration |
| registry/mossylion/templates/scaleway-instance/scaleway-config.json | JSON configuration file containing all available Scaleway instance types |
| registry/mossylion/templates/scaleway-instance/cloud-init/cloud-config.yaml.tftpl | Cloud-init configuration for user setup and persistent storage mounting |
| registry/mossylion/templates/scaleway-instance/cloud-init/userdata.sh.tftpl | Shell script for Coder agent initialization |
The agent token was being set as a shell variable but not exported to the environment, causing the coder agent to fail with "CODER_AGENT_TOKEN must be set" error during cloud-init execution.
|
@DevelopmentCats Weird, I didn't run into this while testing. What instance type did you use? I'll try and replicate it. The template worked well for me in the video I attached |
I tried with a few, but I know I used the default option, and then I tried COPARM1-2C-8G |
Cool, I've spotted the issue where I used the provisioner arch instead of the target arch and I've pushed a fix (COPARM is arm instances) so hopefully that spins up ok now? The default is a bad default, I think the instances default size is too small on stardust instances to unpack code-server in /tmp. I've set this to something more sensible now for a workspace. Could you try again with the updated template? |
|
@mossylion I just wanted to give you an update on this. I'm having some issues with Scaleway and I have some tickets open with them. I should be able to test this and we can merge soon. I'm sorry for the delay |


Description
Adds a template for Scaleway workspaces with a virtual instance backing it
Type of Change
Template Information
The readme should contain enough info for someone to go from 0 to deployment including required permissions. I couldn't figure out a nicer way of handling dynamic instance type selection so this is part of the template in the form of a json, I've added a command you can run to update this list. This felt nicer than getting the end user to hardcode it or providing a subset or types. Let me know if you'd prefer this was done a different way.
Testing & Validation
bun test)bun run fmt)Screen recording showing a template flow from publish to working workspace
output.mp4
Related Issues
None :) I wanted this so I made it and thought I'd contribute it back