Skip to content

Commit

Permalink
Rename Cages -> Enclaves
Browse files Browse the repository at this point in the history
  • Loading branch information
hanneary committed Dec 6, 2023
1 parent 554012e commit 41657b6
Show file tree
Hide file tree
Showing 47 changed files with 859 additions and 920 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ jobs:
mkdir ${{ env.BIN_DIR }}
mkdir ${{ env.RELEASE_DIR }}
cross build --release --all-features --target ${{ env.LINUX_TARGET }} -Z registry-auth
mv ./target/${{ env.LINUX_TARGET }}/release/ev-cage ./${{ env.BIN_DIR }}/ev-cage
7z a -ttar -so -an ./${{ env.BIN_DIR }} | 7z a -si ./${{ env.RELEASE_DIR }}/ev-cage-${{ env.LINUX_TARGET }}-${{ inputs.full-version }}.tar.gz
mv ./target/${{ env.LINUX_TARGET }}/release/ev-enclave ./${{ env.BIN_DIR }}/ev-enclave
7z a -ttar -so -an ./${{ env.BIN_DIR }} | 7z a -si ./${{ env.RELEASE_DIR }}/ev-enclave-${{ env.LINUX_TARGET }}-${{ inputs.full-version }}.tar.gz
env:
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_INDEX: ${{ secrets.evervault-rust-lib-index }}
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_TOKEN: ${{ secrets.evervault-rust-lib-token }}
Expand Down Expand Up @@ -122,8 +122,8 @@ jobs:
- name: Compress binary
run: |
mv target/${{env.MACOS_TARGET}}/release/ev-cage ${{ env.BIN_DIR }}/ev-cage
7z a -ttar -so -an ./${{ env.BIN_DIR }} | 7z a -si ${{ env.RELEASE_DIR }}/ev-cage-${{ env.MACOS_TARGET }}-${{ inputs.full-version }}.tar.gz
mv target/${{env.MACOS_TARGET}}/release/ev-enclave ${{ env.BIN_DIR }}/ev-enclave
7z a -ttar -so -an ./${{ env.BIN_DIR }} | 7z a -si ${{ env.RELEASE_DIR }}/ev-enclave-${{ env.MACOS_TARGET }}-${{ inputs.full-version }}.tar.gz
- name: Upload as artifact
uses: actions/upload-artifact@v2
Expand Down Expand Up @@ -179,8 +179,8 @@ jobs:
- name: Compress
shell: bash
run: |
mv target/${{ env.WINDOWS_TARGET }}/release/ev-cage.exe ${{ env.BIN_DIR }}/ev-cage.exe
7z a -ttar -so -an ./${{ env.BIN_DIR }} | 7z a -si ./${{ env.RELEASE_DIR }}/ev-cage-${{ env.WINDOWS_TARGET }}-${{ inputs.full-version }}.tar.gz
mv target/${{ env.WINDOWS_TARGET }}/release/ev-enclave.exe ${{ env.BIN_DIR }}/ev-enclave.exe
7z a -ttar -so -an ./${{ env.BIN_DIR }} | 7z a -si ./${{ env.RELEASE_DIR }}/ev-enclave-${{ env.WINDOWS_TARGET }}-${{ inputs.full-version }}.tar.gz
- name: Upload as artifact
uses: actions/upload-artifact@v2
Expand Down Expand Up @@ -217,15 +217,15 @@ jobs:

- name: Upload Windows CLI to S3
run: |
aws s3 cp ./windows/ev-cage-${{ env.WINDOWS_TARGET }}-${{ inputs.full-version }}.tar.gz s3://cage-build-assets-${{ inputs.stage }}/cli/${{ inputs.full-version }}/${{ inputs.full-version}}/${{ env.WINDOWS_TARGET }}/ev-cage.tar.gz
aws s3 cp ./windows/ev-enclave-${{ env.WINDOWS_TARGET }}-${{ inputs.full-version }}.tar.gz s3://cage-build-assets-${{ inputs.stage }}/cli/${{ inputs.full-version }}/${{ inputs.full-version}}/${{ env.WINDOWS_TARGET }}/ev-enclave.tar.gz
- name: Upload MacOS CLI to S3
run: |
aws s3 cp ./macos/ev-cage-${{ env.MACOS_TARGET }}-${{ inputs.full-version }}.tar.gz s3://cage-build-assets-${{ inputs.stage }}/cli/${{ inputs.full-version }}/${{ inputs.full-version }}/${{ env.MACOS_TARGET }}/ev-cage.tar.gz
aws s3 cp ./macos/ev-enclave-${{ env.MACOS_TARGET }}-${{ inputs.full-version }}.tar.gz s3://cage-build-assets-${{ inputs.stage }}/cli/${{ inputs.full-version }}/${{ inputs.full-version }}/${{ env.MACOS_TARGET }}/ev-enclave.tar.gz
- name: Upload Ubuntu CLI to S3
run: |
aws s3 cp ./linux/ev-cage-${{ env.LINUX_TARGET }}-${{ inputs.full-version }}.tar.gz s3://cage-build-assets-${{ inputs.stage }}/cli/${{ inputs.major-version }}/${{ inputs.full-version }}/${{ env.LINUX_TARGET }}/ev-cage.tar.gz
aws s3 cp ./linux/ev-enclave-${{ env.LINUX_TARGET }}-${{ inputs.full-version }}.tar.gz s3://cage-build-assets-${{ inputs.stage }}/cli/${{ inputs.major-version }}/${{ inputs.full-version }}/${{ env.LINUX_TARGET }}/ev-enclave.tar.gz
- uses: actions/checkout@v3
- name: Update install script in S3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint-and-test-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ jobs:
override: true
components: rustfmt, clippy
- name: Compile project
run: cargo build --all-features -p ev-cage -Z registry-auth
run: cargo build --all-features -p ev-enclave -Z registry-auth
env:
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_INDEX: ${{ secrets.RUST_CRYPTO_REGISTRY }}
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_TOKEN: ${{ secrets.CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_TOKEN }}
- name: Test project
run: cargo test -p ev-cage
run: cargo test -p ev-enclave
env:
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_INDEX: ${{ secrets.RUST_CRYPTO_REGISTRY }}
- name: Format project
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-cli-version-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ jobs:
override: true
components: rustfmt, clippy
- name: Compile project
run: cargo build --all-features -p ev-cage -Z registry-auth
run: cargo build --all-features -p ev-enclave -Z registry-auth
env:
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_INDEX: ${{ secrets.RUST_CRYPTO_REGISTRY }}
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_TOKEN: ${{ secrets.CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_TOKEN }}
- name: Test project
run: cargo test -p ev-cage
run: cargo test -p ev-enclave
env:
CARGO_REGISTRIES_EVERVAULT_RUST_LIBRARIES_INDEX: ${{ secrets.RUST_CRYPTO_REGISTRY }}
- name: Format project
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release-cli-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,19 +88,19 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create-release.outputs.upload_url }}
asset_path: ./linux/ev-cage-${{ env.LINUX_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_path: ./linux/ev-enclave-${{ env.LINUX_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_content_type: application/gzip
asset_name: ev-cage-${{ env.LINUX_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_name: ev-enclave-${{ env.LINUX_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz

- name: Upload MacOS Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create-release.outputs.upload_url }}
asset_path: ./macos/ev-cage-${{ env.MACOS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_path: ./macos/ev-enclave-${{ env.MACOS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_content_type: application/gzip
asset_name: ev-cage-${{ env.MACOS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_name: ev-enclave-${{ env.MACOS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz

- name: Upload Windows Release
uses: actions/upload-release-asset@v1
Expand All @@ -109,6 +109,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create-release.outputs.upload_url }}
asset_path: ./windows/ev-cage-${{ env.WINDOWS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_path: ./windows/ev-enclave-${{ env.WINDOWS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_content_type: application/gzip
asset_name: ev-cage-${{ env.WINDOWS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
asset_name: ev-enclave-${{ env.WINDOWS_TARGET }}-${{ needs.get-version.outputs.full_version }}.tar.gz
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "ev-cage"
name = "ev-enclave"
version = "0.0.0-dev"
edition = "2021"

Expand Down
107 changes: 5 additions & 102 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,12 @@
<a href="https://evervault.com/cages"><img src="https://evervault.com/images/logo-color.svg" height="45" /></a>

# Cages CLI
# Enclave CLI

Command Line Tool to build, deploy and manage Evervault [Cages](https://github.com/evervault/cages/)
Command Line Tool to build, deploy and manage Evervault [Enclaves](https://github.com/evervault/cages/)

## Notice on Open Source Status of this project
The Evervault Cages product is open source with the aim of providing transparency to users — this is vital given that our process runs in the enclave, and is accounted for in the attestation.
The Evervault Enclaves product is open source with the aim of providing transparency to users — this is vital given that our process runs in the enclave, and is accounted for in the attestation.

The current state of this project does not allow for self-hosting. We plan on addressing this by abstracting away the Evervault-specific elements of the Cages product.

## Subcommands

### init

Initialize a Cage.toml in the current directory. Must provide a cage name.

`ev-cage init --name my-cage`

### build

Build a Cage from a Dockerfile. Defaults to use local `cage.toml` file for configuration. See more options with `-h`.

`ev-cage build`

### deploy

Deploy a Cage from a toml file. Builds a cage from a Dockerfile and then deploys the cage. You can provide a path to an EIF which was already build. See more options with `-h`.

`ev-cage deploy`

### delete

Delete a Cage from a toml file.

`ev-cage delete`

### attest

Validate the attestation doc provided by a Cage. Defaults to compare against the local `cage.toml` file.

### env

Manage Cage environment. Any changes to environment variables require a deployment to take effect.

#### add

Add a Cage environment variable. Add `--secret` to encrypt the value.

`ev-cage env add --key ENV_VAR_1 --value ENV_VAR`

#### get

Get Cage environment variables.

`ev-cage env get`

#### delete

Delete a Cage environment variable.

`ev-cage env delete --key ENV_VAR_1`

### describe

Get the PCRs of a built EIF. Defaults to `./enclave.eif`

`ev-cage describe `

### list

List your Cages and Deployments.

#### cages

List Cages

`ev-cage list cages`

#### deployments

List Deployments of a specific cage. Defaults to the local `./cage.toml` file

`ev-cage list deployments`

### cert

Create a new Cage signing certificate

`ev-cage cert new`

### logs

Pull the logs for a Cage into. Defaults to the local `./cage.toml` file.

`ev-cage logs`

### encrypt

Encrypt a string with the CLI.

`ev-cage encrypt super-secret-value`

### update

Check for new versions of the CLI and install them.

`ev-cage update`
The current state of this project does not allow for self-hosting. We plan on addressing this by abstracting away the Evervault-specific elements of the Enclaves product.

Learn more in the [docs](https://docs.evervault.com/primitives/cages#cages-cli-reference)
28 changes: 14 additions & 14 deletions scripts/install.template
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#!/bin/sh
set -eu

EV_DOWNLOAD_Darwin_universal="https://cage-build-assets.{{domain}}/cli/{{major}}/{{version}}/x86_64-apple-darwin/ev-cage.tar.gz"
EV_DOWNLOAD_Windows_x86_64="https://cage-build-assets.{{domain}}/cli/{{major}}/{{version}}/x86_64-pc-windows-msvc/ev-cage.tar.gz"
EV_DOWNLOAD_Linux_x86_64="https://cage-build-assets.{{domain}}/cli/{{major}}/{{version}}/x86_64-unknown-linux-musl/ev-cage.tar.gz"
EV_DOWNLOAD_Darwin_universal="https://cage-build-assets.{{domain}}/cli/{{major}}/{{version}}/x86_64-apple-darwin/ev-enclave.tar.gz"
EV_DOWNLOAD_Windows_x86_64="https://cage-build-assets.{{domain}}/cli/{{major}}/{{version}}/x86_64-pc-windows-msvc/ev-enclave.tar.gz"
EV_DOWNLOAD_Linux_x86_64="https://cage-build-assets.{{domain}}/cli/{{major}}/{{version}}/x86_64-unknown-linux-musl/ev-enclave.tar.gz"

VERSION="{{version}}"
PLATFORM=`uname -s`
Expand Down Expand Up @@ -38,9 +38,9 @@ if [ ! -d "$INSTALL_DIR" ]; then
fi
if [ -z ${INSTALL_PATH+x} ]; then
if [ "$PLATFORM" = "Windows" ]; then
INSTALL_PATH="${INSTALL_DIR}/ev-cage.exe"
INSTALL_PATH="${INSTALL_DIR}/ev-enclave.exe"
else
INSTALL_PATH="${INSTALL_DIR}/ev-cage"
INSTALL_PATH="${INSTALL_DIR}/ev-enclave"
fi
fi
DOWNLOAD_URL_LOOKUP="EV_DOWNLOAD_${PLATFORM}_${ARCH}"
Expand All @@ -52,16 +52,16 @@ ensure_supported_platform() {
}
ensure_supported_platform

echo "This script will automatically install the Evervault Cage CLI@${VERSION} for you."
echo "This script will automatically install the Evervault Enclave CLI@${VERSION} for you."
echo "Installation path: ${INSTALL_PATH}"
if [ "x$(id -u)" = "x0" ]; then
echo "Warning: this script is currently running as root. This is dangerous. "
echo " Instead run it as normal user. We will sudo as needed."
fi

if [ -f "$INSTALL_PATH" ]; then
if [ -z ${CAGE_CLI_FORCE_INSTALL+x} ]; then
echo "Looks like you already have the Evervault Cage CLI installed. You can update by running ev-cage update"
if [ -z ${CLI_FORCE_INSTALL+x} ]; then
echo "Looks like you already have the Evervault Enclave CLI installed. You can update by running ev-enclave update"
exit 0
else
echo "Proceeding with update..."
Expand All @@ -79,7 +79,7 @@ fi
eval DOWNLOAD_URL=\$$DOWNLOAD_URL_LOOKUP

if [ "$PERFORM_INSTALL" = true ]; then
TEMP_FILE=`mktemp "${TMPDIR:-/tmp}/ev-cage.XXXXXXXX"`
TEMP_FILE=`mktemp "${TMPDIR:-/tmp}/ev-enclave.XXXXXXXX"`
fi

cleanup() {
Expand Down Expand Up @@ -112,12 +112,12 @@ if [ "$PERFORM_INSTALL" = true ]; then
fi

extract_via_7zip() {
TARGET_DIR=`mktemp -d "${TMPDIR:-/tmp}/ev-cage.XXXXXX"`
TARGET_DIR=`mktemp -d "${TMPDIR:-/tmp}/ev-enclave.XXXXXX"`
7z x "$TEMP_FILE" -so | 7z x -aoa -si -ttar -o"$TARGET_DIR"
}

extract_via_tar() {
TARGET_DIR=`mktemp -d "${TMPDIR:-/tmp}/ev-cage.XXXXXX"`
TARGET_DIR=`mktemp -d "${TMPDIR:-/tmp}/ev-enclave.XXXXXX"`
tar xzf "$TEMP_FILE" -C "$TARGET_DIR"
}

Expand All @@ -131,11 +131,11 @@ fi

get_file_location() {
if [ "$PLATFORM" = "Darwin" ]; then
EV_BINARY="${TARGET_DIR}/bin/ev-cage"
EV_BINARY="${TARGET_DIR}/bin/ev-enclave"
elif [ "$PLATFORM" = "Windows" ]; then
EV_BINARY="${TARGET_DIR}/bin/ev-cage.exe"
EV_BINARY="${TARGET_DIR}/bin/ev-enclave.exe"
else
EV_BINARY="${TARGET_DIR}/bin/ev-cage"
EV_BINARY="${TARGET_DIR}/bin/ev-enclave"
fi
chmod 0755 "$EV_BINARY"
}
Expand Down
2 changes: 1 addition & 1 deletion scripts/update-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ major_version=$(echo "$release_version" | cut -d '.' -f 1)

echo "Release major version: $major_version"

version_json=$(curl -s "https://cage-build-assets.evervault.com/cli/versions")
version_json=$(curl -s "https://enclave-build-assets.evervault.com/cli/versions")
echo "Version response: $version_json"

if [ $? -eq 0 ]; then
Expand Down
2 changes: 1 addition & 1 deletion src/api/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ pub trait ApiClient {
}

fn user_agent(&self) -> String {
format!("evervault-cage-cli/{}", env!("CARGO_PKG_VERSION"))
format!("evervault-enclave-cli/{}", env!("CARGO_PKG_VERSION"))
}

fn accept(&self) -> String {
Expand Down
Loading

0 comments on commit 41657b6

Please sign in to comment.