Crocuda_vps

Documentation

Reminder that Crocuda_vps services still are in open alpha.

Please send a message for whatever bug, troubleshoot, request, or if a question isn't answered in the Q&A.

I'll be happy to have you ☺️.

Log in/ Sign up

Here everything is done from the terminal!

So, naturally, there was no better suited authentication mechanism than our beloved ssh.

Consequently, a single key is enough to register and log in.

  • Generate fresh new keys from your computer,

    ssh-keygen -t ed25519 ~/.ssh/id_ed25519_crocuda
    
  • Append the host to your ssh configuration, plus some mandatory environment variables.

    # ~/.ssh/config
    Host crocuda.com
        User anon
        IdentitesOnly yes
        Preferredauthentications publickey
        IdentityFile ~/.ssh/id_ed25519_crocuda
    
        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.
    Crocuda_vps makes the best effort to lower the administrative burden, but still needs to remain compliant with law by requesting minimal personal data.
  • Connect to the remote service(TUI over ssh),

    ssh crocuda.com
    
  • And boom! You're in.

Indeed that is a clever way to log in.

Dashboard - TUI over Ssh 🀌

Yes, you read it all well.

And as crazy as it sounds, your virtual machines are manageable through the terminal, and can be managed through the terminal only.

Once you connect to the ssh server, a comfortable terminal user interface(TUI) is served right onto your terminal emulator.

Account management

The Account tab only displays information about your account.

There is a unique public address associated with the account. However, you should verify it didn't change before you top up.

[account tui screenshots]

VMs management

The Vm tab displays information about your VMs and exposes some operations.

  • Create a new VM with the selected size.
  • Start and Restart (Reboot),
  • Stop (Shutdown),
  • and Delete

The deletion is irreversible erases all data.

[vms tui screenshots]

The application flow is simple.

  • Press Left or h, Right or l to change tab.
  • Press Enter to validate.
  • Press Q or Ctrl+C to quit.
Colemak layout

Set the environment variable for the appropriate keyboard layout to

  • Press Left or m, Right or i to change tab.

KbdLayout="colemak"

Safeguards - Navigate in peace.

To avoid wrong operations on VMs, you must lock the operation beforehand.

Press Right another time until the selection menu is frozen and the selected element changes colour. Then only can you press Enter to trigger the operation.

Virtual machines

Sizes and pricing

Prices are submitted to change as the software is getting stable.

These are alpha prices for now.

SizevCPUsvRamStorage$/hour$/monthStatusAvailable
xxs11 GiB20 GiB$0.006$4.3AlphaNow
xs12 GiB50 GiB$0.014$10AlphaNow
s24 GiB80 GiB$0.023$16.5AlphaNow
m48 GiBLater
l612 GiBLater

Storage speed

Host servers runs on SSDs! We want them machines as fast as possible.

Network connectivity

Every virtual machine has an unmetered network connection that goes from 10MiB/s when trafic congestion is maximal up to 1GiB/s.

Nixos configuration

Centralized configuration

Crocuda_vps encourages you to centralize your VM(s) configuration.

You can't easily build generations on the VM itself because:

  • You can't fetch the official nixpkgs (hosted on github.com which does not support ipv6).
  • The limited resources of VMs prevent you from building a lot of software.

So you will have to:

  • Host your VM configuration locally,
  • Build your generations locally and send them to your remote.

With a command like this one.

nixos-rebuild switch \
 --flake ".#vps" \
 --target-host "vm_name" \
 --use-remote-sudo

Don't forget to add your VM to known hostnames for easy name resolution.

# /etc/hostnames
<vm_ipv6> <vm_name>

Compatibility flakes (mandatory)

You have to keep the virshle flake in your config.

# flake.nix
inputs =  {
  virshle = {
    url = "github:pipelight/virshle";
    inputs.nixpkgs.follows = "nixpkgs";
  };
};

And import the nixos-generator module.

# vm.nix
{
  inputs,
  ...
}: {
  imports = [
    inputs.virshle.nixosModules.nixos-generator
  ]
}

This nixos module contains the configuration needed to create the hardware configuration and the network configuration compatible with Crocuda_vps services.

Morever it contains pipelight-init (a replacement for cloud-init), which pushes external configuration like user defined ssh keys and dynamic network configuration to your VM on boot.

Payment (in XMR)

The only accepted currency is Monero(XMR), which is the most used privacy respecting cryptocurrency.

Top up your account by sending the needed amount to the public address associated with your account.

A friendlier QR code is always available for phone payments. πŸ˜‰

Your account is credited in dollars at the current exchange rate, minus blockchains fees (which are ridiculously low on the Monero blockchain πŸ˜ƒ)

See the Q&A for tips on how to acquire Monero.