Skip to content

Commit

Permalink
update links
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasten committed Jul 15, 2023
1 parent 7af5647 commit 74e6818
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 21 deletions.
44 changes: 32 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# EGo

<img src="src/logo.svg" alt="EGo logo" width="40%"/>

[![GitHub Actions Status][github-actions-badge]][github-actions]
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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.
Expand All @@ -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.

Expand All @@ -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 [email protected].

* Please report any security issue via a [private GitHub vulnerability report](https://github.com/edgelesssys/ego/security/advisories/new) or write to <[email protected]>.

<!-- refs -->
[github-actions]: https://github.com/edgelesssys/ego/actions
Expand Down
19 changes: 14 additions & 5 deletions docs/docs/getting-started/install.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
8 changes: 4 additions & 4 deletions src/snapcraft.yaml
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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
Expand All @@ -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

0 comments on commit 74e6818

Please sign in to comment.