Skip to navigationSkip to main contentSkip to footerScaleway DocsAsk our AI
Ask our AI

Creating a server with kernel extensions enabled via API

Some workloads on Apple Silicon servers require kernel extensions (kexts), for example, when using MacFUSE.
Kernel extensions are low-level components that extend macOS capabilities at the kernel level. On Scaleway Apple Silicon servers, kernel extensions are disabled by default for security and stability reasons. However, you can enable them when creating a server via the API by setting the enable_kext parameter.

Important

Enabling kernel extensions may affect system stability and security. Only enable this option if required for your use case (e.g., development, testing, or debugging kexts).

Before you start

To complete the actions presented below, you must have:

  • A Scaleway account logged into the console
  • Owner status or IAM permissions allowing you to perform actions in the intended Organization
  • An API key with sufficient permissions
  • curl or another HTTP client to call the API

Enabling kernel extensions via API

  1. Before making API calls, set your environment variables:

    export SCW_SECRET_KEY="<YOUR_API_SECRET_KEY>"
  2. Create an Apple Silicon server using the API. Set the enable_kext parameter to true. API Endpoint:

    POST https://api.scaleway.com/apple-silicon/v1alpha1/zones/{zone}/servers

    Replace {zone} with your desired Availability Zone (e.g. fr-par-3).

    Example Request (cURL)

    curl -X POST \
    -H "X-Auth-Token: $SCW_SECRET_KEY" \
    -H "Content-Type: application/json" \
    -d '{
        "name": "string",
        "project_id": "string",
        "type": "string",
        "enable_kext": true
    }' \
    "https://api.scaleway.com/apple-silicon/v1alpha1/zones/{zone}/servers"

    Key Fields

    FieldTypeDescription
    namestringServer name (optional, you can generate one)
    project_idstringYour Scaleway Project ID
    typestringServer type (e.g. M2-M, M2-L, M1-M)
    enable_kextbooleanEnables kernel extension capability on the server
    Tip

    Alternatively, you can create the server also using the Scaleway CLI:

    scw apple-silicon server create \
    name=mac-server-with-kext \
    type=M2-M \
    enable-kext=true

    Explanation of flags:

    FlagDescription
    nameThe server name
    typeServer type (M1-M, M2-M, M2-L, etc.)
    enable-kextSet to true to allow kernel extension loading support

On success, the API returns a JSON with server details, including:

  • id — server UUID
  • type — chosen hardware
  • name — assigned or given name
  • Network info (e.g., public IP)
  • Credentials (ssh_username, sudo_password)
  • Status and creation timestamps

Installing MacFUSE

Once your server is running with kernel extensions enabled, you can install MacFUSE. MacFUSE adds support for FUSE file systems to macOS, which run in user space and are safer and easier to develop than conventional file systems.

  1. Connect to your Apple Silicon server using Remote Desktop.
  2. Open Safari (or another browser) and download MacFUSE from https://macfuse.github.io/.
  3. Run the installer.
  4. After installation, open System Settings → Security & Privacy. You should see an Allow button.
  5. Click Allow, then restart your server.
Tip

No recovery mode is required to enable kexts using this method.

Still need help?

Create a support ticket
No Results