diff --git a/src/SUMMARY.md b/src/SUMMARY.md index b83ec79..7aa3821 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -12,12 +12,12 @@ # Reference Guide +- [Using DeTEE Cloud](./detee_cloud/intro.md) + - [detee-cli](./detee_cloud/cli.md) - [Node Operators](./operators/README.md) - - [detee-daemon]() + - [AMD](./operators/AMD.md) - [Brain](./brain/README.md) - [brain-node]() -- [Users]() - - [detee-cli]() --- diff --git a/src/detee_cloud/cli.md b/src/detee_cloud/cli.md new file mode 100644 index 0000000..f783da8 --- /dev/null +++ b/src/detee_cloud/cli.md @@ -0,0 +1,56 @@ +# DeTEE CLI + +Please be aware this product has been designed for: +- DevOps engineers +- Software developers +- Cybersecurity enthusiasts + +Having basic understand of operating systems, containers, virtual machines and deployment of software is required in order to use the CLI. + +### Installation + +The DeTEE CLI is available as a container. First make sure you [install docker] https://docs.docker.com/desktop/). + +Once docker is installed, use the following command to run the CLI: +``` +docker run -it --name detee-cli --entrypoint /usr/bin/fish NOT_PUBLIC_YET +``` + +### Configure accounts + +Inside the container, configure the accounts for your session: +``` +ssh-keygen +# Hit enter a few times. +detee-cli account ssh-pubkey-path /root/.ssh/id_ed25519.pub +detee-cli account brain-url http://164.92.249.180:31337 +``` + +Also, list get your public key: +``` +detee-cli account | grep public +SNP admin public key: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK +``` +And give it to us on Discord so that we can give you your airdrop. + +### VM commands + +``` +# arch +detee-cli vm deploy +# ubuntu +detee-cli vm deploy --distro ubuntu +# fedora +detee-cli vm deploy --distro fedora +# list VMs +detee-cli vm list +# delete a VM +detee-cli vm delete 1114ecb4-10d0-4a85-b8ac-f19281b77b5d +# specify vcpus +detee-cli vm deploy --vcpus 4 +# specify vcpus and memory and run for 4 hours +detee-cli vm deploy --vcpus 4 --memory 2000 --hours 4 +# update a VM +detee-cli vm update --disk 50 --hours 20 1114ecb4-10d0-4a85-b8ac-f19281b77b5d +``` + diff --git a/src/detee_cloud/intro.md b/src/detee_cloud/intro.md new file mode 100644 index 0000000..1b9eb21 --- /dev/null +++ b/src/detee_cloud/intro.md @@ -0,0 +1,22 @@ +# DeTEE Cloud + +The DeTEE cloud will soon enter the testnet phase, allowing members of our community to deploy containers and VMs on the DeTEE network. The testnet does not guarantee stability (actually it guarantees disruptions, as we are actively developing the software). + +In order to test our cloud, you will first need an airdrop of testnet tokens. Here are a few ways to qualify for airdrops: +- Join our Discord Server: https://discord.gg/zrK56XMe +- Follow [DeTEE on Twitter](https://x.com/detee_network) +- Follow [DeTEE on Instagram](https://www.instagram.com/detee_network/) +- Follow [DeTEE on Linkedin](https://www.linkedin.com/company/105187289) +- Follow [Gheorghe](https://www.linkedin.com/in/ghe0/) on Linkedin. Gheorghe loves attention. +- Follow [Valy](https://www.linkedin.com/in/valentyn-faychuk-589674204/) on Linkedin. Valy doesn't want attention, but Gheorghe wants an excuse to get Linkedin followers. +- Post about DeTEE on social media. +- Post a review of the the [hacker-challenge](https://gitea.detee.cloud/general/hacker-challenge/) +- Be active in the community and provide feedback to help us improve our service +- Report bugs +- Help us improve documentation + +Please be aware that the airdrops are awarded based on the activity, meaning being more involved will allow you to get more tokens, which will grant you access to more testnet resources. + +To collect the airdrops after performing the activities above, write to us on Discord in the [📦claim-airdrops](https://discord.gg/zmR3Bzxz) channel. Summarize your activity with links (for example, links to social media posts you made about DeTEE). + +Once you secured an airdrop in your DeTEE wallet, you can start using the DeTEE CLI. diff --git a/src/operators/AMD.md b/src/operators/AMD.md new file mode 100644 index 0000000..9962082 --- /dev/null +++ b/src/operators/AMD.md @@ -0,0 +1,91 @@ +# Running AMD servers on DeTEE + +Registering an AMD server on the DeTEE network will allow you to collect rewards by running VMs for the DeTEE users. + +To be able to run the server on the network, it must support SEV SNP, meaning it must be part of these 3 generations: +- AMD EPYC 7003 (Milan) +- AMD EPYC 8004 (Siena) +- AMD EPYC 9004 (Genoa or Bergamo) +- AMD EPYC 9005 (Turin) + +More information about the capabilities of each generation be found on the [AMD website](https://www.amd.com/en/products/processors/server/epyc/infinity-guard.html). Our focus is strictly focused on the SEV-SNP capability. + +The server must have a public IP. + +## The Kernel + +TL/DR: You need a new kernel, so install Fedora or Archlinux on the server. We will write here when newer generations are supported. + +## DeTEE Daemon + +Install the detee-snp-daemon from here (TODO: add link). + +You will need to configure the daemon by modifying `/etc/detee/daemon/config.yaml`. The default configuration does not offer public IPs, and offers by default 16 vCPUs, 20GB of Memory and 400GB of storage. Modify these values depending on how many resources you want to rent to the network. + +Here is a sample configuration that includes public IPv4 and IPv6 IPs: +```json +brain_url: "http://164.92.249.180:31337" +max_cores_per_vm: 8 +max_vcpu_reservation: 24 +max_mem_reservation_mb: 25000 +network_interfaces: + - driver: "MACVTAP" + device: "eno8303" + ipv4_ranges: + - first_ip: "173.234.136.154" + last_ip: "173.234.136.155" + netmask: "27" + gateway: "173.234.136.158" + - first_ip: "173.234.137.17" + last_ip: "173.234.137.17" + netmask: "27" + gateway: "173.234.137.30" + ipv6_ranges: + - first_ip: "2a0d:3003:b666:a00c:0002:0000:0000:0011" + last_ip: "2a0d:3003:b666:a00c:0002:0000:0000:fffc" + netmask: "64" + gateway: "2a0d:3003:b666:a00c::1" +volumes: + - path: "/var/lib/detee/" + max_reservation_gb: 500 +public_port_range: + start: 30000 + end: 50000 +max_ports_per_vm: 5 +price: 20000 +``` + +## Configuration details + +The only network driver currently supported is MACVTAP. If you have a subnet that does not work with MACVTAP, please contact us on our [Discord Server](https://discord.gg/TSG2DKnw), and we will improve the code to allow you to host your network using IPVTAP or a Bridge setup. + +The private IPv4 connection and port forwarding capabilities are enabled through QEMU. VMs will not be able to communicate with each other using this setup. + +Please feel free to experiment with the price. A price of 20000 is recommended by our team in the testnet. + +## Registering node + +You will need the detee-cli (TODO: add link) to register your node under your DeTEE account. The rewards are collected by the owner (meaning the DeTEE wallet generated by the CLI) and not by the node. Follow the steps below to register the node. + +When booting, the node will print it's public key in the logs. To access logs, run: +``` +journalctl -fu detee-snp-daemon.service +``` +In the logs, there will be a line similar to this: +``` +Jan 26 00:59:13 detee-amd-1 detee-snp-daemon[764125]: [2025-01-25T22:59:13Z INFO detee_snp_daemon::global] Loaded the following public key: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 +``` + +Grab the key and use the following command in the detee-cli to register the node: +``` +detee-cli account register-node 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 +``` + +You should be set. + +## Easy way to collect rewards + +- tell your friends about DeTEE +- convince them to write about us on social media so that they get an airdrop +- ask them to use their airdrop to create a VM on your server +