Skip to content

Commit 8b86c2c

Browse files
committed
UID2-4429 More efficient disk space utilisation when building operator enclaves
- Clean up unneeded files/resources after they no longer needed to reduce disk space usage and reducing the risk of github runner running out of disk space
1 parent 4976107 commit 8b86c2c

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

Makefile.eif

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ all: build_eif
1414
build_eif: uid2operator.eif euidoperator.eif
1515

1616
uid2operator.eif: build_artifacts build_configs build/proxies.nitro.yaml build/syslog-ng-client.conf build/syslog-ng-core_4.6.0-1_amd64.deb build/syslog-ng-ose-pub.asc build/entrypoint.sh build/vsockpx build/Dockerfile build/load_config.py build/make_config.py
17-
cd build; docker build -t uid2operator . --build-arg JAR_VERSION=`cat package.version` --build-arg IMAGE_VERSION=`cat package.version`-`git show --format="%h" --no-patch`; docker save -o ./uid2operator.tar uid2operator; docker cp ./uid2operator.tar amazonlinux:/uid2operator.tar
17+
cd build; docker build -t uid2operator . --build-arg JAR_VERSION=`cat package.version` --build-arg IMAGE_VERSION=`cat package.version`-`git show --format="%h" --no-patch`; docker save -o ./uid2operator.tar uid2operator; docker cp ./uid2operator.tar amazonlinux:/uid2operator.tar; rm -f ./uid2operator.tar
1818
docker exec amazonlinux bash aws_nitro_eif.sh uid2operator
1919

2020
euidoperator.eif: build_artifacts build_configs build/proxies.nitro.yaml build/syslog-ng-client.conf build/syslog-ng-core_4.6.0-1_amd64.deb build/syslog-ng-ose-pub.asc build/entrypoint.sh build/vsockpx build/Dockerfile build/load_config.py build/make_config.py
21-
cd build; docker build -t euidoperator . --build-arg IDENTITY_SCOPE='EUID' --build-arg JAR_VERSION=`cat package.version` --build-arg IMAGE_VERSION=`cat package.version`-`git show --format="%h" --no-patch`; docker save -o ./euidoperator.tar euidoperator; docker cp ./euidoperator.tar amazonlinux:/euidoperator.tar
21+
cd build; docker build -t euidoperator . --build-arg IDENTITY_SCOPE='EUID' --build-arg JAR_VERSION=`cat package.version` --build-arg IMAGE_VERSION=`cat package.version`-`git show --format="%h" --no-patch`; docker save -o ./euidoperator.tar euidoperator; docker cp ./euidoperator.tar amazonlinux:/euidoperator.tar; rm -f ./euidoperator.tar
2222
docker exec amazonlinux bash aws_nitro_eif.sh euidoperator
2323

2424
##################################################################################################################################################################

scripts/aws/pipeline/amazonlinux2023.Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ FROM amazonlinux:2023
44
RUN dnf update -y
55
# systemd is not a hard requirement for Amazon ECS Anywhere, but the installation script currently only supports systemd to run.
66
# Amazon ECS Anywhere can be used without systemd, if you set up your nodes and register them into your ECS cluster **without** the installation script.
7-
RUN dnf -y groupinstall "Development Tools"
8-
RUN dnf -y install systemd vim-common wget git tar libstdc++-static.x86_64 cmake cmake3 aws-nitro-enclaves-cli aws-nitro-enclaves-cli-devel
7+
RUN dnf -y groupinstall "Development Tools" \
8+
&& dnf -y install systemd vim-common wget git tar libstdc++-static.x86_64 cmake cmake3 aws-nitro-enclaves-cli aws-nitro-enclaves-cli-devel \
9+
&& dnf clean all
910

1011
RUN systemctl enable docker
1112

@@ -14,12 +15,14 @@ RUN wget https://www.inet.no/dante/files/dante-1.4.3.tar.gz \
1415
&& sha256sum --check dante_checksum \
1516
&& tar -xf dante-1.4.3.tar.gz \
1617
&& cd dante-1.4.3; ./configure; make; cd .. \
17-
&& cp dante-1.4.3/sockd/sockd ./
18+
&& cp dante-1.4.3/sockd/sockd ./ \
19+
&& rm -rf dante-1.4.3 dante-1.4.3.tar.gz
1820

1921
RUN git clone https://github.com/IABTechLab/uid2-aws-enclave-vsockproxy.git \
2022
&& mkdir uid2-aws-enclave-vsockproxy/build \
2123
&& cd uid2-aws-enclave-vsockproxy/build; cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo; make; cd ../.. \
22-
&& cp uid2-aws-enclave-vsockproxy/build/vsock-bridge/src/vsock-bridge ./vsockpx
24+
&& cp uid2-aws-enclave-vsockproxy/build/vsock-bridge/src/vsock-bridge ./vsockpx \
25+
&& rm -rf uid2-aws-enclave-vsockproxy
2326

2427
COPY ./scripts/aws/pipeline/aws_nitro_eif.sh /aws_nitro_eif.sh
2528

scripts/aws/pipeline/aws_nitro_eif.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ while (! docker stats --no-stream >/dev/null 2>&1); do
1010
sleep 1
1111
done
1212
docker load -i $1.tar
13+
rm -f $1.tar
1314
nitro-cli build-enclave --docker-uri $1 --output-file $1.eif
1415
nitro-cli describe-eif --eif-path $1.eif | jq -r '.Measurements.PCR0' | xxd -r -p | base64 > pcr0.txt

0 commit comments

Comments
 (0)