Crocuda_vps

User documentation

Crocuda_vps is currently in open alpha.

Adventures should join the early adopters chat and get free credits there to enjoy the platform longer.

Pass by the chat for whatever bug, troubleshoot or particular request.

Log in/ Sign up

Here everything is done from the terminal with the much suited authentication mechanism ssh.

Consequently, a single cryptographic key pair is the only thing you need to register and log in.

Into your account.

  • Generate a fresh new key pair from your computer,

    ssh-keygen -N "" -t ed25519 ~/.ssh/my_account_key
    
  • Append this host to your ssh configuration at ~/.ssh/config, plus some mandatory environment variables.

    # ~/.ssh/config
    Host crocuda.com
      AddressFamily inet6 # Forces connection over ipv6 (equivalent of "-6")
    
      Preferredauthentications publickey # Priority to key auth
      IdentitesOnly yes # Use the provided key only
    
      IdentityFile ~/.ssh/my_account_key
    
      SetEnv FIRSTNAME="John" LASTNAME="Doe" EMAIL="john@d.oe" PHONE="+0000000000"
    
      # Mandatory KYC Env :(
      # FIRSTNAME="John"
      # LASTNAME="Doe"
      # EMAIL="john@d.oe"
      # PHONE="+0000000000"
    
      # Optional Config Env :)
      # KbdLayout="qwerty" # qwerty | colemak
    
    Notice that environment variables must all be set over a single line after the SetEnv option.
  • Connect to the remote dashboard (TUI over ssh),

    ssh -6 crocuda.com
    # "-6" option can be removed if persisted in ~/.ssh/config as "AddressFamily inet6".
    

Into your VMs.

An ssh server is already running, and populated with your account username and ssh public key.
  • First, add your VM to the list of known hostnames for convenient name resolution.

    # /etc/hostnames
    # vm ipv6         vm name
      2001:db8::ec02  cro/my_vm_name
    
  • Append this generic configuration to ~/.ssh/config.

    # ~/.ssh/config
    Host cro/ * # Every VM that begins with "cro/" in their name
        AddressFamily inet6
    
        Preferredauthentications publickey
        IdentitesOnly yes
    
        IdentityFile ~/.ssh/my_account_key
    
  • Connect to your fresh VM.

    ssh cro/my_vm_name
    

Deploy your services! 🚀

A minimal configuration.

For your VM to be compatibile with the hypervisor, you need the nixos-generators module from the virshle flake as a dependency to your configuration:

  • Add the virshle an the pipelight flake to your flake inputs.
# flake.nix
{
  inputs =  {
    virshle = {
      url = "github:pipelight/virshle";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    pipelight.url = "github:pipelight/pipelight";
  };
}
  • And import the nixos-generators module.
# vm.nix
{
  inputs,
  ...
}: {
  imports = [
    inputs.virshle.nixosModules.nixos-generators
  ];
}

Or, you can just start fresh from a template flake:

nix flake init \
    --template github:pipelight/virshle?ref=master

Remote build.

It is recommanded to build your generations locally and send them to your VM.

With commands like the following:

# with the default cli
nixos-rebuild switch \
 --flake ".#vps" \
 --target-host "vm_name" \
 --use-remote-sudo
# with deploy-rs (magicRollback)
deploy ".#vps"

Server specifications.

VM Sizes and pricing.

Prices are submitted to change as the software is getting stable. These are the alpha release prices.

SizevCPUsvRamStorage$/month$/day$/hourStatusAvailable
xxs11 GiB20 GiB$4.3$0.14$0.006AlphaNow
xs12 GiB50 GiB$6.5$0.21$0.009AlphaNow
s24 GiB80 GiB$10$0.34$0.014AlphaNow
m48 GiBLater
l612 GiBLater

Storage speed

Host servers runs on SSDs with reading speed up to 550MB/s (≃ 520 MiB/s) and at least a RAID10 array for VM storage redundancy.

We want them machines as fast as possible.

Unmetered network connectivity

Every virtual machine has an unmetered network connection that goes from 10 Mb/s (≃1.2 MiB/s) when traffic congestion is maximal up to 1 Gb/s (≃120 MiB/s).

Server location

The only available server location for now is in France.

I take extreme care at:

  • building my own servers,
  • slapping the software on it,
  • enforcing encryption and privacy by default,
  • and plugging them into Data Center where I know the stack and the people,

because I highly distrust third parties concerning hardware, software and network.

It is indeed common knowledge that it is impossible to create an incorruptible virtual machine, especially if it's not your hardware. This doesn't mean it can't be tried, and I've found this enterprise to be the most exciting.

I am not a reseller and have at heart to master the every layers my services are based upon.

But rest assured, more locations will be available.

Dashboard usage

Your virtual machines finally get to be managed through the terminal.

Once you connect to the ssh server at crocuda.com, a TUI (terminal user interface) is served right into your terminal emulator.

Account tab overview

The Account tab displays information about your account.

This tab will later contain the menus that will allow you to top up your account.

account

Vm tab overview

The Vm tab displays information about your VMs and exposes trivial operations:

  • create,
  • start or restart,
  • stop,
  • and delete.

And some more to come.

vm

đŸŖ Create a new VM

You first have to create a new VM from the available templates. Select a size, lock your choice and press Enter.

new_vm new_vm_locked

Wait a few seconds until your VM is delivered then start it!

â–ļī¸ Start and Restart (=Reboot)

Staring the VM when it is already running restarts the VM.

âšī¸ Stop (=Shutdown)

Stopping a VM, do not stop the billing. You have to delete the VM if you want to stop being billed.

❌ Delete

A VM deletion is irreversible and erases all disk data (and possible shapshots).

The notifications area

You can keep an eye on every VM operation advancement in the bottom right notification area.

notification_base notification_success

Operations should not take longer than 5 seconds.

The application flow is based on directions, like a lot of TUI file managers (yazi, ranger...) and thus should feel very familiar.

  • Q or Ctrl+C to quit.

  • Tab/Tab+Shift to change tab.

  • Left/h and Right/l to navigate menus and submenus.

  • Up/j and Down/k to change selection.

  • Right another time to lock your selection.

  • Enter to validate.

Change keyboard layout.

Set the environment variable to your favourite keyboard layout to enjoy vim bindings.

  • KbdLayout="colemak" -> Left/m, Up/n, Down/e, Right/i
  • KbdLayout="dvorak" -> Left/h, Up/t, Down/n, Right/s

Dangerous operation safeguard

To avoid any involuntary operations on VMs, you won't encounter any confirmation prompt after pressing Enter, but rather you will be required to lock the selection beforehand:

  • Press Right to open the submenu and browse through its subitems. vm_locked

  • Press Right another time to lock your selection, vm_op_locked

  • Then only can you press Enter to trigger the operation.

  • Press Left or Esc to go back (unlock the selection and close the submenu).

Payment methods

Not available yet!

Join the early adopters chat to get free credits.

Cryptocurrencies only!

Monero is the encouraged payment method here, because it is the most privacy respecting cryptocurrency. However Bitcoin, Etherum, Solana, USDC and USDT are also accepted.