#!/bin/bash
cd /home/coreos_updates/
VERSION="$1"
if [ ! -d $VERSION ]; then
mkdir -p $VERSION
fi
if [ ! -f $VERSION/update.gz ]; then
wget -qP $VERSION ${BASEURL}/amd64-usr/$VERSION/update.gz
fi
SIZE=$(stat -c %s ${VERSION}/update.gz)
SHA1_b64=$(echo -ne "$(echo -n $(sha1sum ${VERSION}/update.gz | awk '{print $1}') | sed -e 's/../\\x&/g')" | base64 )
SHA256_b64=$(echo -ne "$(echo -n $(sha256sum ${VERSION}/update.gz | awk '{print $1}') | sed -e 's/../\\x&/g')" | base64)
XML="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<daystart elapsed_seconds=\"0\"></daystart>
<app appid=\"e96281a6-d1af-4bde-9a0a-97b76e56dc57\" status=\"ok\">
<updatecheck status=\"ok\">
<urls>
<url codebase=\"${URL}/${VERSION}/\"></url>
</urls>
<manifest version=\"${VERSION}\">
<packages>
<package hash=\"${SHA1_b64}\" name=\"update.gz\" size=\"${SIZE}\" required=\"false\"></package>
</packages>
<actions>
<action event=\"postinstall\" ChromeOSVersion=\"\" sha256=\"${SHA256_b64}\" needsadmin=\"false\" IsDelta=\"false\" DisablePayloadBackoff=\"true\"></action>
</actions>
</manifest>
</updatecheck>
</app>
</response>"
echo "$XML" > $VERSION/index.html
cat > /home/default.conf << EOF
server {
error_page 405 =200 $uri;
location / {
root /home/coreos_updates/amd64-usr;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
allow all;
}
location /amd64-usr {
root /home/coreos_updates;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
allow all;
}
}
EOF
docker run --name nginx -p 80:80 -v /home/coreos_updates/amd64-usr:/home/coreos_updates/amd64-usr:ro -v /home/default.conf:/etc/nginx/conf.d/default.conf:ro -d nginx