Mriya can pass a cloud-init user-data payload through to the provider when creating the VM. This allows installation of system packages or other first-boot provisioning before the remote command starts.
Provide user-data either inline or via a local file:
mriya run --cloud-init-file ./cloud-init.yml -- jq --version
Or inline (handy for short scripts):
mriya run --cloud-init "#!/bin/sh\necho ready" -- sh -lc 'echo ok'
When cloud-init user-data is configured, Mriya:
- syncs the workspace as usual
- waits for cloud-init to finish (by checking
/var/lib/cloud/instance/boot-finished) - only then executes the remote command
Cloud-init settings use ortho-config layering with the SCW_ prefix:
SCW_CLOUD_INIT_USER_DATA— cloud-init user-data content (optional).SCW_CLOUD_INIT_USER_DATA_FILE— path to a file containing cloud-init user-data (optional).
In mriya.toml, configure one of the following under [scaleway]:
cloud_init_user_data = "..."(inline)cloud_init_user_data_file = "./cloud-init.yml"(file-based)
Commands always execute from MRIYA_SYNC_REMOTE_PATH (default:
/home/ubuntu/project) so mriya run -- cargo test mirrors running
cargo test locally after syncing the workspace. Customize the remote user,
working directory, or SSH flags via the MRIYA_SYNC_ variables described below.
Security: host key checking defaults to disabled (
MRIYA_SYNC_SSH_STRICT_HOST_KEY_CHECKING=false) withMRIYA_SYNC_SSH_KNOWN_HOSTS_FILE=/dev/nullto keep ephemeral VM setup friction low. This sacrifices MITM protection and is suitable only for trusted, short-lived environments. Enable strict checking and a real known hosts file when connecting to persistent or untrusted hosts.
Sync settings use ortho-config layering with the MRIYA_SYNC_ prefix:
MRIYA_SYNC_SSH_IDENTITY_FILE(required) — path to the SSH private key file for remote authentication. Supports tilde expansion (e.g.,~/.ssh/id_ed25519).MRIYA_SYNC_RSYNC_BIN— path to thersyncexecutable (default:rsync).MRIYA_SYNC_SSH_BIN— path to thesshexecutable (default:ssh).MRIYA_SYNC_SSH_USER— remote user for rsync and SSH (default:root).MRIYA_SYNC_REMOTE_PATH— remote working directory (default:/home/ubuntu/project).MRIYA_SYNC_SSH_BATCH_MODE— set tofalseto allow interactive SSH prompts (default:true).MRIYA_SYNC_SSH_STRICT_HOST_KEY_CHECKING— set totrueto enforce host key verification (default:false).MRIYA_SYNC_SSH_KNOWN_HOSTS_FILE— path to a known hosts file (default:/dev/nullwhen host key checking is disabled).MRIYA_SYNC_VOLUME_MOUNT_PATH— mount path for the persistent cache volume (default:/mriya).MRIYA_SYNC_ROUTE_BUILD_CACHES— set tofalseto disable automatic cache routing to the mounted volume (default:true).MRIYA_SYNC_CREATE_CACHE_DIRECTORIES— set tofalseto disable automatic creation of cache subdirectories on the mounted volume (default:true).