System requirements
What you need to get started

Operating System

The Hadean Platform is available as a Linux binary. To use the platform you must be running Ubuntu 20.04 LTS (Focal Fossa). We've based on instructions on bash for how to get started. First, the build-essentials package need to be installed. To install these on Ubuntu, you can do:
1
sudo apt update
2
sudo apt install build-essential -y
Copied!
On WSL, you also need to install fuse-overlayfs, as this package is missing in the Ubuntu 20.04 distribution found on the Microsoft Store.
1
sudo apt install fuse-overlayfs -y
Copied!
You will need to be running Linux Kernel 5+, compiled with CONFIG_PID_NS, CONFIG_USER_NS and CONFIG_UTS_NS enabled. Notably this is not the default on WSL v1 using Ubuntu 20.04, so ensure you are using WSL v2.
You can check your kernel version by running uname -srm, and your compilation flags with gunzip /proc/config.gz | grep -E 'CONFIG_(PID|USER|UTS)_NS', if the file /proc/config.gz exists. If you have a kernel compiled with the appropriate flags, you will see output that looks like
CONFIG_UTS_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y

AWS CLI v2

If you're an Azure user, you will need to install the az CLI. If you don't plan on using Azure then you can safely skip this part. If you choose to use Azure in the future, simply install the CLI then.

Install

We recommend the one-step script described here.

Log in to your AWS account

To deploy your applications to the cloud, you must first log into the cloud provider on your machine.
To connect to you AWS account we use a policy, assigned through a role, to an Instance Profile, which the user then uses Pass Role to give to the scheduler.
To setup this up on AWS, make sure your AWS CLI is setup, and run
1.aws cloudformation deploy --template-file ./permissions.cloudformation.yaml --stack-name hadeanpermissions

Azure CLI

Install

AWS CLI

We recommend the one-step script described here.
If you're an AWS user, you will need to install the aws CLI. If you don't plan on using AWS then you can safely skip this part. If you choose to use AWS in the future, simply install the CLI then.

Log in to your Azure account

Install

To connect to your Azure account, we use User Assigned Managed Identity.
We recommend following the Linux installation steps described here.
To setup this up on Azure, make sure your AZ CLI is logged in, then run in PowerShell.

Setup AWS Credentials

1./deploy.ps1 -Location <location>
To deploy your applications to AWS, you must first configure the aws CLI and setup credentials. We recommend following AWS' documentation, but if you already know your keys or suspect you might be configured already, you can simply run the configure command:
Arguments: Location, the location where your resources will be deployed.
1
aws configure
Copied!

Rustup

Rustup is a command line tool for managing Rust versions and associated tools. Install as described here.

Rust toolchain

Hadean applications need to use the same toolchain as was used to build the SDK libraries. The latest SDK release uses the nightly-2021-09-01 toolchain, which rustup can install for you:
1
rustup toolchain install nightly-2021-09-01
Copied!
Optionally, you can set this toolchain as the default toolchain if you are going to be primarily working on Hadean applications.
1
rustup default nightly-2021-09-01
Copied!
Alternatively, if you don't want to modify your default toolchain you can specify the toolchain to use for cargo commands when building Hadean applications:
1
cargo +nightly-2021-09-01 build --release
Copied!