From ea01ac906fe780183b7441e25be96caa3da8b23a Mon Sep 17 00:00:00 2001 From: Rahul Desai Date: Sat, 10 Feb 2024 13:06:30 -0800 Subject: [PATCH 1/2] feat: optimize image pulls with stargz --- sysbox-eks.pkr.hcl | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/sysbox-eks.pkr.hcl b/sysbox-eks.pkr.hcl index bbd5705..53f140c 100644 --- a/sysbox-eks.pkr.hcl +++ b/sysbox-eks.pkr.hcl @@ -38,7 +38,7 @@ packer { } source "amazon-ebs" "ubuntu-eks" { - ami_name = "latch-bio/sysbox-eks_${var.sysbox_version}/k8s_${var.k8s_version}/images/hvm-ssd/ubuntu-${var.ubuntu_version}-amd64-server" + ami_name = "latch-bio/sysbox-eks_${var.sysbox_version}/k8s_${var.k8s_version}/images/hvm-ssd/ubuntu-${var.ubuntu_version}-amd64-server/v2" ami_description = "Latch Bio, Sysbox EKS Node (k8s_${var.k8s_version}), on Ubuntu ${var.ubuntu_version}, amd64 image" tags = { @@ -187,11 +187,12 @@ build { # } # provisioner "shell" { + # inline_shebang = "/usr/bin/env bash" # inline = [ - # "echo >>> Installing prebuilt patched CRI-O", + # "echo '>>> Installing prebuilt patched CRI-O'", # "sudo mv crio /usr/bin/crio", - # - # "echo Setting permissions", + + # "echo 'Setting permissions'", # "sudo chmod u+x /usr/bin/crio" # ] # } @@ -282,6 +283,23 @@ build { ] } + provisioner "shell" { + inline_shebang = "/usr/bin/env bash" + inline = [ + "set -o pipefail -o errexit", + + "echo '>>> Configuring CRI-O for StarGZ'", + + "sudo dasel put string --parser toml --file /etc/containers/storage.conf --selector 'storage.options.additionallayerstores.[]' --multiple /var/lib/stargz-store/store:ref", + + "sudo curl --location https://github.com/containerd/stargz-snapshotter/releases/download/v0.15.1/stargz-snapshotter-v0.15.1-linux-amd64.tar.gz --output stargz-snapshotter-v0.15.1-linux-amd64.tar.gz", + "sudo tar -C /usr/local/bin -xvf stargz-snapshotter-v0.15.1-linux-amd64.tar.gz stargz-store", + + "sudo wget -O /etc/systemd/system/stargz-store.service https://raw.githubusercontent.com/containerd/stargz-snapshotter/main/script/config-cri-o/etc/systemd/system/stargz-store.service", + "sudo systemctl enable stargz-store", + ] + } + provisioner "shell" { inline_shebang = "/usr/bin/env bash" inline = [ From da6712778a232cc76bbc09e2c033a11b20a27997 Mon Sep 17 00:00:00 2001 From: Rahul Desai Date: Wed, 14 Feb 2024 10:35:16 -0800 Subject: [PATCH 2/2] add ecr login credentials --- sysbox-eks.pkr.hcl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sysbox-eks.pkr.hcl b/sysbox-eks.pkr.hcl index 53f140c..9095945 100644 --- a/sysbox-eks.pkr.hcl +++ b/sysbox-eks.pkr.hcl @@ -288,6 +288,14 @@ build { inline = [ "set -o pipefail -o errexit", + "echo '>>> Configuring ECR Credentials for StarGZ'", + + "sudo apt-get install amazon-ecr-credential-helper -y", + + "sudo mkdir /root/.docker", + "sudo touch /root/.docker/config.json", + "sudo dasel put string --parser json --file /root/.docker/config.json --selector 'credsStore' -v 'ecr-login'", + "echo '>>> Configuring CRI-O for StarGZ'", "sudo dasel put string --parser toml --file /etc/containers/storage.conf --selector 'storage.options.additionallayerstores.[]' --multiple /var/lib/stargz-store/store:ref",