...

Text file src/edge-infra.dev/hack/build/edge-golden-image/setup_script.sh

Documentation: edge-infra.dev/hack/build/edge-golden-image

     1#!/usr/bin/env bash
     2
     3# Install and upgrade basic packages
     4export DEBIAN_FRONTEND="noninteractive"
     5echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
     6echo 'APT::Get::Assume-Yes "true";' | sudo tee /etc/apt/apt.conf.d/assumeyes
     7sudo apt-get update
     8sudo apt-get full-upgrade
     9sudo apt-get install ca-certificates curl gnupg jq
    10
    11# Install GCP OS Config Agent
    12sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-focal-stable main' > /etc/apt/sources.list.d/google-compute-engine.list"
    13curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    14sudo apt-get update
    15sudo apt-get install google-osconfig-agent
    16
    17# Download Actions runner
    18version="2.317.0"
    19sudo mkdir -p /opt/github/actions-runner
    20cd /opt/github/actions-runner || exit
    21sudo curl -O -L https://github.com/actions/runner/releases/download/v$version/actions-runner-linux-x64-$version.tar.gz
    22sudo tar xzf ./actions-runner-linux-x64-$version.tar.gz
    23
    24# Move startup and shutdown scrips into place
    25sudo mv /tmp/startup_script.sh /opt/github/actions-runner/startup_script.sh
    26sudo mv /tmp/shutdown_script.sh /opt/github/actions-runner/shutdown_script.sh
    27
    28# Set up Docker (https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository)
    29sudo install -m 0755 -d /etc/apt/keyrings
    30curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    31sudo chmod a+r /etc/apt/keyrings/docker.gpg
    32echo \
    33  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    34  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
    35  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    36sudo apt-get update
    37sudo apt-get install --allow-downgrades docker-ce=5:24.0.9-1~ubuntu.22.04~jammy docker-ce-cli=5:24.0.9-1~ubuntu.22.04~jammy containerd.io docker-buildx-plugin
    38sudo usermod -aG docker "$USER"
    39
    40# Configure build user
    41sudo groupadd -g 21700 build
    42sudo adduser --disabled-password --uid 21700 --gid 21700 --gecos "" build
    43sudo usermod -aG sudo build
    44echo "build ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
    45sudo usermod -aG docker build
    46sudo chown -R build /opt/github/actions-runner
    47
    48# Pre-pull build container
    49gcloud auth print-access-token | sudo docker login -u oauth2accesstoken --password-stdin https://us-east1-docker.pkg.dev
    50sudo docker pull us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/build-fractions:dev
    51
    52sudo reboot

View as plain text