From 74e6818d4a321d82fa7cddf9fe197c2bf4db74d8 Mon Sep 17 00:00:00 2001 From: Thomas Tendyck Date: Sat, 15 Jul 2023 15:59:23 +0200 Subject: [PATCH] update links --- README.md | 44 ++++++++++++++++++++-------- docs/docs/getting-started/install.md | 19 ++++++++---- src/snapcraft.yaml | 8 ++--- 3 files changed, 50 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index c42f334..c951dcf 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # EGo + EGo logo [![GitHub Actions Status][github-actions-badge]][github-actions] @@ -13,6 +14,7 @@ * `ego`, a CLI tool that handles all enclave-related tasks such as signing and enclave creation. Building and running a confidential Go app is as easy as: + ```sh ego-go build hello.go ego sign hello @@ -22,26 +24,35 @@ ego run hello ## Install ### Install the snap + The easiest way to install EGo is via the snap: + ```sh sudo snap install ego-dev --classic ``` You also need `gcc` and `libcrypto`. On Ubuntu install them with: + ```sh sudo apt install build-essential libssl-dev ``` ### Install the DEB package -If you're on Ubuntu 18.04 or above, you can install the DEB package: + +If you're on Ubuntu 20.04 or 22.04, you can install the DEB package: + ```bash -wget -qO- https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu `lsb_release -cs` main" -wget https://github.com/edgelesssys/ego/releases/download/v1.3.0/ego_1.3.0_amd64.deb -sudo apt install ./ego_1.3.0_amd64.deb 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.4.0_amd64_ubuntu-$(lsb_release -rs).deb +wget https://github.com/edgelesssys/ego/releases/download/v1.4.0/$EGO_DEB +sudo apt install ./$EGO_DEB build-essential libssl-dev ``` ### Build from source + *Prerequisite*: [Edgeless RT](https://github.com/edgelesssys/edgelessrt) is installed and sourced. ```sh @@ -53,26 +64,35 @@ make install ``` ### Build via Docker + You can reproducibly build the latest release: + ```sh cd dockerfiles -DOCKER_BUILDKIT=1 docker build -o. - < Dockerfile.build +DOCKER_BUILDKIT=1 docker build --target export -o. - < Dockerfile ``` + Or build the latest master: + ```sh cd dockerfiles -DOCKER_BUILDKIT=1 docker build --build-arg egotag=master --build-arg erttag=master -o. - < Dockerfile.build +DOCKER_BUILDKIT=1 docker build --target export --build-arg egotag=master --build-arg erttag=master -o. - < Dockerfile ``` -This outputs the DEB package. + +This outputs the DEB package for Ubuntu 22.04. +For Ubuntu 20.04, replace `Dockerfile` with `Dockerfile.focal` in the above commands. Optionally build the `ego-dev` and `ego-deploy` images: + ```sh -docker build --target dev -t ghcr.io/edgelesssys/ego-dev -f Dockerfile.release . -docker build --target deploy -t ghcr.io/edgelesssys/ego-deploy -f Dockerfile.release . +DOCKER_BUILDKIT=1 docker build --target dev -t ghcr.io/edgelesssys/ego-dev - < Dockerfile +DOCKER_BUILDKIT=1 docker build --target deploy -t ghcr.io/edgelesssys/ego-deploy - < Dockerfile ``` ## Getting started + Now you're ready to build applications with EGo! To start, check out the following samples: + * [helloworld](samples/helloworld) is a minimal example of an enclave application. * [remote_attestation](samples/remote_attestation) shows how to use the basic remote attestation API of EGo. * [attested_tls](samples/attested_tls) is similar to the above, but uses a higher level API to establish an attested TLS connection. @@ -84,6 +104,7 @@ Now you're ready to build applications with EGo! To start, check out the followi * [azure_attestation](samples/azure_attestation) shows how to use Microsoft Azure Attestation for remote attestation. ## Documentation + * The [EGo documentation](https://docs.edgeless.systems/ego) covers building, signing, running, and debugging confidential apps. * The [EGo API](https://pkg.go.dev/github.com/edgelesssys/ego) provides access to *remote attestation* and *sealing* to your confidential app at runtime. @@ -99,8 +120,7 @@ Now you're ready to build applications with EGo! To start, check out the followi * Read [`CONTRIBUTING.md`](CONTRIBUTING.md) for information on issue reporting, code guidelines, and our PR process. * Pull requests are welcome! You need to agree to our [Contributor License Agreement](https://cla-assistant.io/edgelesssys/ego). * This project and everyone participating in it are governed by the [Code of Conduct](/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. -* Please report any security issue via a [private GitHub vulnerability report](https://github.com/edgelesssys/ego/security/advisories/new) or write to security@edgeless.systems. - +* Please report any security issue via a [private GitHub vulnerability report](https://github.com/edgelesssys/ego/security/advisories/new) or write to . [github-actions]: https://github.com/edgelesssys/ego/actions diff --git a/docs/docs/getting-started/install.md b/docs/docs/getting-started/install.md index d376e88..813f27f 100644 --- a/docs/docs/getting-started/install.md +++ b/docs/docs/getting-started/install.md @@ -1,26 +1,35 @@ # Installing EGo 📦 ## Install the snap + The easiest way to install EGo is via the snap: + ```bash sudo snap install ego-dev --classic ``` You also need `gcc` and `libcrypto`. On Ubuntu install them with: + ```bash sudo apt install build-essential libssl-dev ``` ## Install the DEB package -If you're on Ubuntu 18.04 or above, you can install the DEB package: + +If you're on Ubuntu 20.04 or 22.04, you can install the DEB package: + ```bash -wget -qO- https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu `lsb_release -cs` main" -wget https://github.com/edgelesssys/ego/releases/download/v1.3.0/ego_1.3.0_amd64.deb -sudo apt install ./ego_1.3.0_amd64.deb 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.4.0_amd64_ubuntu-$(lsb_release -rs).deb +wget https://github.com/edgelesssys/ego/releases/download/v1.4.0/$EGO_DEB +sudo apt install ./$EGO_DEB build-essential libssl-dev ``` ## Build from source + You can also build EGo yourself, with the following steps. *Prerequisite* : [Edgeless RT](https://github.com/edgelesssys/edgelessrt) is installed and sourced. diff --git a/src/snapcraft.yaml b/src/snapcraft.yaml index c6002e9..9f1d80d 100644 --- a/src/snapcraft.yaml +++ b/src/snapcraft.yaml @@ -1,6 +1,6 @@ name: ego-dev base: core20 -version: "1.3.0" +version: "1.4.0" summary: EGo lets you build, debug und run Go apps on Intel SGX! description: EGo is a framework for building confidential apps in Go. Confidential apps run in always-encrypted and verifiable enclaves on Intel SGX-enabled hardware. @@ -26,8 +26,8 @@ apps: parts: ego: - source: https://github.com/edgelesssys/ego/releases/download/v1.3.0/ego_1.3.0_amd64.deb - source-checksum: "sha256/e403df5954cacbba2a1353404572a5ea771025d7e74af84c80cf4640ce93c954" + source: https://github.com/edgelesssys/ego/releases/download/v1.4.0/ego_1.4.0_amd64_ubuntu-20.04.deb + source-checksum: "sha256/2ae1476fe06cf0f6b52e2033f54e6c05f261394b4588aba619ef3f830e7138ec" source-type: deb plugin: dump build-attributes: [no-patchelf] # needed otherwise Snap breaks the go binary, causing it to segfault on launch @@ -44,5 +44,5 @@ package-repositories: - type: apt components: [main] suites: [focal] - key-id: 35BFD5E1AEFFA8C4996DDD0DAA65AD26261B320B + key-id: 150434D1488BF80308B69398E5C7F0FA1C6C6C3C url: https://download.01.org/intel-sgx/sgx_repo/ubuntu