- CPU List - click to see cpu list
- Intel 8th generation (Cannon Lake) Core i3, i5, i7, and i9 processors
- Intel 9th generation (Cascade Lake) Core i3, i5, i7, and i9 processors
- Intel 10th generation (Comet Lake) Core i3, i5, i7, and i9 processors
- 2nd Generation Xeon Scalable processors (Cascade Lake) and later generations generally provide SGX capabilities.
- Please utilize Ubuntu 20.04 or 22.04 as the HostOS, and avoid the use of containerized system.
The hardware must support SGX and it must be enabled in the BIOS:
$ sudo apt install cpuid
$ cpuid | grep SGX
SGX: Software Guard Extensions supported = true
SGX_LC: SGX launch config supported = true
SGX capability (0x12/0):
SGX1 supported = true = true
- SGX: Software Guard Extensions supported is true if the hardware supports it.
- SGX_LC: SGX launch config supported is true if the hardware also supports FLC. This is required for attestation.
- SGX1 supported is true if it's enabled in the BIOS.
For more information about Ego, please refer to https://docs.edgeless.systems/ego/getting-started/install
sudo apt install build-essential libssl-dev
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo tee /etc/apt/keyrings/intel-sgx-keyring.asc > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/intel-sgx-keyring.asc arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/intel-sgx.list
sudo apt update
EGO_DEB=ego_1.5.3_amd64_ubuntu-$(lsb_release -rs).deb
wget https://github.com/edgelesssys/ego/releases/download/v1.5.3/$EGO_DEB
sudo apt install ./$EGO_DEB build-essential libssl-dev
sudo mkdir /opt/wetee-worker
sudo chmod 777 /opt/wetee-worker
For more information about K3s, please refer to https://docs.k3s.io/quick-start
curl -sfL https://get.k3s.io | sh -
# Install golang 1.21 ,ubuntu 20.04 default golang version is 1.13
sudo apt install golang-1.21
# Set up the Golang environment, and/or consider adding it to the .bashrc or .zshrc file in the home directory.
export GOROOT=/usr/lib/go-1.21/
export PATH=$PATH:$GOROOT/bin
git clone https://github.com/wetee-dao/worker && cd worker
# 1.0 Setup Env
go mod tidy
sudo chmod 744 /etc/rancher/k3s/k3s.yaml
# 1.1 install addn docker images to k3s
sh hack/pre_install.sh
# Wait until all the images above have been installed, and use `kubectl get pod -A` to check whether sgx-device-plugin-, sgx-pccs-api-, wetee-dapp-*, and wetee-node-* have been successfully deployed.
# 1.2 and then install worker
sh hack/install.sh
# 1.3 `kubectl get pod -A` to check worker-controller-manager-* is successfully deployed.
```bash
$ kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system local-path-provisioner-6c86858495-cr2nz 1/1 Running 0 2m22s
kube-system coredns-6799fbcd5-pjvqk 1/1 Running 0 2m22s
kube-system helm-install-traefik-crd-c4vdc 0/1 Completed 0 2m23s
kube-system helm-install-traefik-7m6xf 0/1 Completed 1 2m23s
kube-system sgx-device-plugin-ds-22p9v 1/1 Running 0 118s
kube-system svclb-traefik-17b1b422-ztq68 2/2 Running 0 118s
kube-system metrics-server-67c658944b-29qp8 1/1 Running 0 2m22s
worker-addon wetee-dapp-86b4cb47b8-m2f6k 1/1 Running 0 117s
worker-addon wetee-node-5d4bf8bc57-6rfbx 1/1 Running 0 116s
kube-system traefik-f4564c4f4-p8k75 1/1 Running 0 118s
worker-addon sgx-pccs-api-67c56bc9d5-4lkqd 1/1 Running 0 116s
worker-system worker-controller-manager-59bccdd4c-gpt8q 2/2 Running 0 82s