Giter VIP home page Giter VIP logo

envbuilder's Issues

Docs: How to run docker in docker with envbuilder

While experimenting with a .devcontainer that uses docker-in-docker feature, envbuilder gives

docker run -it --rm \
    -v /tmp/envbuilder:/workspaces \
    -e GIT_URL=https://github.com/coder/coder \
    -e INIT_SCRIPT=bash \
    ghcr.io/coder/envbuilder
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Full log

Command

docker run -it --rm \
    -v /tmp/envbuilder:/workspaces \
    -e GIT_URL=https://github.com/coder/coder \
    -e INIT_SCRIPT=bash \
    ghcr.io/coder/envbuilder

Output

envbuilder - Build development environments from repositories in a container
#1: 📦 Cloning https://github.com/coder/coder to /workspaces/coder...
#1: Enumerating objects: 104614, done.
#1: Counting objects:   0% (1/25251)
#1: Counting objects:   1% (253/25251)
#1: Counting objects:   2% (506/25251)
#1: Counting objects:   3% (758/25251)
#1: Counting objects:   4% (1011/25251)
#1: Counting objects:   5% (1263/25251)
#1: Counting objects:   6% (1516/25251)
#1: Counting objects:   7% (1768/25251)
#1: Counting objects:   8% (2021/25251)
#1: Counting objects:   9% (2273/25251)
#1: Counting objects:  10% (2526/25251)
#1: Counting objects:  11% (2778/25251)
#1: Counting objects:  12% (3031/25251)
#1: Counting objects:  13% (3283/25251)
#1: Counting objects:  14% (3536/25251)
#1: Counting objects:  15% (3788/25251)
#1: Counting objects:  16% (4041/25251)
#1: Counting objects:  17% (4293/25251)
#1: Counting objects:  18% (4546/25251)
#1: Counting objects:  19% (4798/25251)
#1: Counting objects:  20% (5051/25251)
#1: Counting objects:  21% (5303/25251)
#1: Counting objects:  22% (5556/25251)
#1: Counting objects:  23% (5808/25251)
#1: Counting objects:  24% (6061/25251)
#1: Counting objects:  25% (6313/25251)
#1: Counting objects:  26% (6566/25251)
#1: Counting objects:  27% (6818/25251)
#1: Counting objects:  28% (7071/25251)
#1: Counting objects:  29% (7323/25251)
#1: Counting objects:  30% (7576/25251)
#1: Counting objects:  31% (7828/25251)
#1: Counting objects:  32% (8081/25251)
#1: Counting objects:  33% (8333/25251)
#1: Counting objects:  34% (8586/25251)
#1: Counting objects:  35% (8838/25251)
#1: Counting objects:  36% (9091/25251)
#1: Counting objects:  37% (9343/25251)
#1: Counting objects:  38% (9596/25251)
#1: Counting objects:  39% (9848/25251)
#1: Counting objects:  40% (10101/25251)
#1: Counting objects:  41% (10353/25251)
#1: Counting objects:  42% (10606/25251)
#1: Counting objects:  43% (10858/25251)
#1: Counting objects:  44% (11111/25251)
#1: Counting objects:  45% (11363/25251)
#1: Counting objects:  46% (11616/25251)
#1: Counting objects:  47% (11868/25251)
#1: Counting objects:  48% (12121/25251)
#1: Counting objects:  49% (12373/25251)
#1: Counting objects:  50% (12626/25251)
#1: Counting objects:  51% (12879/25251)
#1: Counting objects:  52% (13131/25251)
#1: Counting objects:  53% (13384/25251)
#1: Counting objects:  54% (13636/25251)
#1: Counting objects:  55% (13889/25251)
#1: Counting objects:  56% (14141/25251)
#1: Counting objects:  57% (14394/25251)
#1: Counting objects:  58% (14646/25251)
#1: Counting objects:  59% (14899/25251)
#1: Counting objects:  60% (15151/25251)
#1: Counting objects:  61% (15404/25251)
#1: Counting objects:  62% (15656/25251)
#1: Counting objects:  63% (15909/25251)
#1: Counting objects:  64% (16161/25251)
#1: Counting objects:  65% (16414/25251)
#1: Counting objects:  66% (16666/25251)
#1: Counting objects:  67% (16919/25251)
#1: Counting objects:  68% (17171/25251)
#1: Counting objects:  69% (17424/25251)
#1: Counting objects:  70% (17676/25251)
#1: Counting objects:  71% (17929/25251)
#1: Counting objects:  72% (18181/25251)
#1: Counting objects:  73% (18434/25251)
#1: Counting objects:  74% (18686/25251)
#1: Counting objects:  75% (18939/25251)
#1: Counting objects:  76% (19191/25251)
#1: Counting objects:  77% (19444/25251)
#1: Counting objects:  78% (19696/25251)
#1: Counting objects:  79% (19949/25251)
#1: Counting objects:  80% (20201/25251)
#1: Counting objects:  81% (20454/25251)
#1: Counting objects:  82% (20706/25251)
#1: Counting objects:  83% (20959/25251)
#1: Counting objects:  84% (21211/25251)
#1: Counting objects:  85% (21464/25251)
#1: Counting objects:  86% (21716/25251)
#1: Counting objects:  87% (21969/25251)
#1: Counting objects:  88% (22221/25251)
#1: Counting objects:  89% (22474/25251)
#1: Counting objects:  90% (22726/25251)
#1: Counting objects:  91% (22979/25251)
#1: Counting objects:  92% (23231/25251)
#1: Counting objects:  93% (23484/25251)
#1: Counting objects:  94% (23736/25251)
#1: Counting objects:  95% (23989/25251)
#1: Counting objects:  96% (24241/25251)
#1: Counting objects:  97% (24494/25251)
#1: Counting objects:  98% (24746/25251)
#1: Counting objects:  99% (24999/25251)
#1: Counting objects: 100% (25251/25251)
#1: Counting objects: 100% (25251/25251), done.
#1: Compressing objects:   0% (1/2328)
#1: Compressing objects:   1% (24/2328)
#1: Compressing objects:   2% (47/2328)
#1: Compressing objects:   3% (70/2328)
#1: Compressing objects:   4% (94/2328)
#1: Compressing objects:   5% (117/2328)
#1: Compressing objects:   6% (140/2328)
#1: Compressing objects:   7% (163/2328)
#1: Compressing objects:   8% (187/2328)
#1: Compressing objects:   9% (210/2328)
#1: Compressing objects:  10% (233/2328)
#1: Compressing objects:  11% (257/2328)
#1: Compressing objects:  12% (280/2328)
#1: Compressing objects:  13% (303/2328)
#1: Compressing objects:  14% (326/2328)
#1: Compressing objects:  15% (350/2328)
#1: Compressing objects:  16% (373/2328)
#1: Compressing objects:  17% (396/2328)
#1: Compressing objects:  18% (420/2328)
#1: Compressing objects:  19% (443/2328)
#1: Compressing objects:  20% (466/2328)
#1: Compressing objects:  21% (489/2328)
#1: Compressing objects:  22% (513/2328)
#1: Compressing objects:  23% (536/2328)
#1: Compressing objects:  24% (559/2328)
#1: Compressing objects:  25% (582/2328)
#1: Compressing objects:  26% (606/2328)
#1: Compressing objects:  27% (629/2328)
#1: Compressing objects:  28% (652/2328)
#1: Compressing objects:  29% (676/2328)
#1: Compressing objects:  30% (699/2328)
#1: Compressing objects:  31% (722/2328)
#1: Compressing objects:  32% (745/2328)
#1: Compressing objects:  33% (769/2328)
#1: Compressing objects:  34% (792/2328)
#1: Compressing objects:  35% (815/2328)
#1: Compressing objects:  36% (839/2328)
#1: Compressing objects:  37% (862/2328)
#1: Compressing objects:  38% (885/2328)
#1: Compressing objects:  39% (908/2328)
#1: Compressing objects:  40% (932/2328)
#1: Compressing objects:  41% (955/2328)
#1: Compressing objects:  42% (978/2328)
#1: Compressing objects:  43% (1002/2328)
#1: Compressing objects:  44% (1025/2328)
#1: Compressing objects:  45% (1048/2328)
#1: Compressing objects:  46% (1071/2328)
#1: Compressing objects:  47% (1095/2328)
#1: Compressing objects:  48% (1118/2328)
#1: Compressing objects:  49% (1141/2328)
#1: Compressing objects:  50% (1164/2328)
#1: Compressing objects:  51% (1188/2328)
#1: Compressing objects:  52% (1211/2328)
#1: Compressing objects:  53% (1234/2328)
#1: Compressing objects:  54% (1258/2328)
#1: Compressing objects:  55% (1281/2328)
#1: Compressing objects:  56% (1304/2328)
#1: Compressing objects:  57% (1327/2328)
#1: Compressing objects:  58% (1351/2328)
#1: Compressing objects:  59% (1374/2328)
#1: Compressing objects:  60% (1397/2328)
#1: Compressing objects:  61% (1421/2328)
#1: Compressing objects:  62% (1444/2328)
#1: Compressing objects:  63% (1467/2328)
#1: Compressing objects:  64% (1490/2328)
#1: Compressing objects:  65% (1514/2328)
#1: Compressing objects:  66% (1537/2328)
#1: Compressing objects:  67% (1560/2328)
#1: Compressing objects:  68% (1584/2328)
#1: Compressing objects:  69% (1607/2328)
#1: Compressing objects:  70% (1630/2328)
#1: Compressing objects:  71% (1653/2328)
#1: Compressing objects:  72% (1677/2328)
#1: Compressing objects:  73% (1700/2328)
#1: Compressing objects:  74% (1723/2328)
#1: Compressing objects:  75% (1746/2328)
#1: Compressing objects:  76% (1770/2328)
#1: Compressing objects:  77% (1793/2328)
#1: Compressing objects:  78% (1816/2328)
#1: Compressing objects:  79% (1840/2328)
#1: Compressing objects:  80% (1863/2328)
#1: Compressing objects:  81% (1886/2328)
#1: Compressing objects:  82% (1909/2328)
#1: Compressing objects:  83% (1933/2328)
#1: Compressing objects:  84% (1956/2328)
#1: Compressing objects:  85% (1979/2328)
#1: Compressing objects:  86% (2003/2328)
#1: Compressing objects:  87% (2026/2328)
#1: Compressing objects:  88% (2049/2328)
#1: Compressing objects:  89% (2072/2328)
#1: Compressing objects:  90% (2096/2328)
#1: Compressing objects:  91% (2119/2328)
#1: Compressing objects:  92% (2142/2328)
#1: Compressing objects:  93% (2166/2328)
#1: Compressing objects:  94% (2189/2328)
#1: Compressing objects:  95% (2212/2328)
#1: Compressing objects:  96% (2235/2328)
#1: Compressing objects:  97% (2259/2328)
#1: Compressing objects:  98% (2282/2328)
#1: Compressing objects:  99% (2305/2328)
#1: Compressing objects: 100% (2328/2328)
#1: Compressing objects: 100% (2328/2328), done.
#1: Total 104614 (delta 23519), reused 23599 (delta 22898), pack-reused 79363
#1: 📦 Cloned repository! [16.75554426s]
#2: Deleting filesystem...
#2: 🏗️ Building image...
#2: Retrieving image manifest codercom/oss-dogfood:latest
#2: Retrieving image codercom/oss-dogfood:latest from registry index.docker.io
#2: Built cross stage deps: map[]
#2: Retrieving image manifest codercom/oss-dogfood:latest
#2: Returning cached image manifest
#2: Executing 0 build triggers
#2: Building stage 'codercom/oss-dogfood:latest' [idx: '0', base-idx: '-1']
#2: Unpacking rootfs as cmd RUN AZUREDNSAUTODETECTION="true" DOCKERDASHCOMPOSEVERSION="latest" DOCKERDEFAULTADDRESSPOOL="" INSTALLDOCKERBUILDX="true" INSTALLDOCKERCOMPOSESWITCH="true" MOBY="false" MOBYBUILDXVERSION="latest" VERSION="latest" _CONTAINER_USER="coder" _REMOTE_USER="coder" ./install.sh requires it.
#2: USER root
#2: Cmd: USER
#2: WORKDIR /.envbuilder/features/docker-in-docker-f26237e4
#2: Cmd: workdir
#2: Changed working directory to /.envbuilder/features/docker-in-docker-f26237e4
#2: No files changed in this command, skipping snapshotting.
#2: ENV DOCKER_BUILDKIT=1
#2: RUN AZUREDNSAUTODETECTION="true" DOCKERDASHCOMPOSEVERSION="latest" DOCKERDEFAULTADDRESSPOOL="" INSTALLDOCKERBUILDX="true" INSTALLDOCKERCOMPOSESWITCH="true" MOBY="false" MOBYBUILDXVERSION="latest" VERSION="latest" _CONTAINER_USER="coder" _REMOTE_USER="coder" ./install.sh
#2: Cmd: /bin/bash
#2: Args: [-c AZUREDNSAUTODETECTION="true" DOCKERDASHCOMPOSEVERSION="latest" DOCKERDEFAULTADDRESSPOOL="" INSTALLDOCKERBUILDX="true" INSTALLDOCKERCOMPOSESWITCH="true" MOBY="false" MOBYBUILDXVERSION="latest" VERSION="latest" _CONTAINER_USER="coder" _REMOTE_USER="coder" ./install.sh]
#2: Util.Lookup returned: &{Uid:0 Gid:0 Username:root Name:root HomeDir:/root}
#2: Performing slow lookup of group ids for root
#2: Running: [/bin/bash -c AZUREDNSAUTODETECTION="true" DOCKERDASHCOMPOSEVERSION="latest" DOCKERDEFAULTADDRESSPOOL="" INSTALLDOCKERBUILDX="true" INSTALLDOCKERCOMPOSESWITCH="true" MOBY="false" MOBYBUILDXVERSION="latest" VERSION="latest" _CONTAINER_USER="coder" _REMOTE_USER="coder" ./install.sh]
Distro codename  'jammy'  matched filter  'bookworm buster bullseye bionic focal hirsute impish jammy'
find: '/var/lib/apt/lists/*': No such file or directory
Running apt-get update...
Get:1 https://download.docker.com/linux/ubuntu jammy InRelease [48.8 kB]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]
Get:4 https://apt.releases.hashicorp.com jammy InRelease [12.9 kB]
Get:5 https://deb.nodesource.com/node_18.x nodistro InRelease [12.1 kB]
Get:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [37.3 kB]
Get:7 https://dl.google.com/linux/chrome/deb stable InRelease [1825 B]
Get:8 https://dl.yarnpkg.com/debian stable/main amd64 Packages [11.1 kB]
Get:9 https://dl.yarnpkg.com/debian stable/main all Packages [11.1 kB]
Get:10 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1081 B]
Get:11 https://ppa.launchpadcontent.net/ansible/ansible/ubuntu jammy InRelease [18.0 kB]
Get:12 https://packages.microsoft.com/repos/edge stable InRelease [3590 B]
Get:13 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1756 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:15 https://ppa.launchpadcontent.net/fish-shell/release-3/ubuntu jammy InRelease [17.6 kB]
Get:16 https://packages.microsoft.com/repos/edge stable/main amd64 Packages [7911 B]
Get:17 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages [8378 B]
Get:18 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy InRelease [23.8 kB]
Get:19 https://ppa.launchpadcontent.net/maveonair/helix-editor/ubuntu jammy InRelease [18.0 kB]
Get:20 https://ppa.launchpadcontent.net/neovim-ppa/stable/ubuntu jammy InRelease [24.3 kB]
Get:21 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [44.7 kB]
Get:22 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1077 kB]
Get:23 https://ppa.launchpadcontent.net/ansible/ansible/ubuntu jammy/main amd64 Packages [1075 B]
Get:24 https://ppa.launchpadcontent.net/fish-shell/release-3/ubuntu jammy/main amd64 Packages [510 B]
Get:25 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy/main amd64 Packages [2969 B]
Get:26 https://ppa.launchpadcontent.net/maveonair/helix-editor/ubuntu jammy/main amd64 Packages [418 B]
Get:27 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [2265 kB]
Get:28 https://ppa.launchpadcontent.net/neovim-ppa/stable/ubuntu jammy/main amd64 Packages [7023 B]
Get:29 https://apt.releases.hashicorp.com jammy/main amd64 Packages [157 kB]
Get:30 https://packages.cloud.google.com/apt cloud-sdk InRelease [6361 B]
Get:31 https://packages.cloud.google.com/apt cloud-sdk/main amd64 Packages [631 kB]
Get:32 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:33 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
Get:34 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Get:35 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:36 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:37 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:38 https://apt.postgresql.org/pub/repos/apt jammy-pgdg InRelease [123 kB]
Get:39 https://apt.postgresql.org/pub/repos/apt jammy-pgdg/main amd64 Packages [501 kB]
Get:40 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [2339 kB]
Get:41 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2037 kB]
Get:42 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [51.1 kB]
Get:43 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1371 kB]
Get:44 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [81.0 kB]
Get:45 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [31.9 kB]
Fetched 33.1 MB in 3s (9974 kB/s)
Reading package lists...
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
Reading package lists...
Building dependency tree...
Reading state information...
jq is already the newest version (1.6-2.1ubuntu3).
wget is already the newest version (1.21.2-2ubuntu1).
ca-certificates is already the newest version (20230311ubuntu0.22.04.1).
curl is already the newest version (7.81.0-1ubuntu1.16).
dirmngr is already the newest version (2.2.27-3ubuntu2.1).
dirmngr set to manually installed.
iptables is already the newest version (1.8.7-1ubuntu5.2).
iptables set to manually installed.
apt-transport-https is already the newest version (2.4.12).
The following NEW packages will be installed:
  gnupg2 pigz
0 upgraded, 2 newly installed, 0 to remove and 7 not upgraded.
Need to get 69.1 kB of archives.
After this operation, 214 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 pigz amd64 2.6-1 [63.6 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 gnupg2 all 2.2.27-3ubuntu2.1 [5548 B]
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
Fetched 69.1 kB in 1s (102 kB/s)
Selecting previously unselected package pigz.
(Reading database ... 130397 files and directories currently installed.)
Preparing to unpack .../archives/pigz_2.6-1_amd64.deb ...
Unpacking pigz (2.6-1) ...
Selecting previously unselected package gnupg2.
Preparing to unpack .../gnupg2_2.2.27-3ubuntu2.1_all.deb ...
Unpacking gnupg2 (2.2.27-3ubuntu2.1) ...
Setting up gnupg2 (2.2.27-3ubuntu2.1) ...
Setting up pigz (2.6-1) ...
Processing triggers for man-db (2.10.2-1) ...
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
update-alternatives: using /usr/sbin/iptables-legacy to provide /usr/sbin/iptables (iptables) in manual mode
update-alternatives: using /usr/sbin/ip6tables-legacy to provide /usr/sbin/ip6tables (ip6tables) in manual mode
Hit:1 https://download.docker.com/linux/ubuntu jammy InRelease
Hit:2 https://apt.releases.hashicorp.com jammy InRelease
Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:5 https://deb.nodesource.com/node_18.x nodistro InRelease
Hit:6 https://dl.yarnpkg.com/debian stable InRelease
Hit:7 https://dl.google.com/linux/chrome/deb stable InRelease
Get:8 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:9 https://packages.microsoft.com/repos/edge stable InRelease [3590 B]
Hit:10 https://apt.postgresql.org/pub/repos/apt jammy-pgdg InRelease
Hit:11 https://ppa.launchpadcontent.net/ansible/ansible/ubuntu jammy InRelease
Hit:12 https://ppa.launchpadcontent.net/fish-shell/release-3/ubuntu jammy InRelease
Hit:13 https://packages.cloud.google.com/apt cloud-sdk InRelease
Hit:14 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy InRelease
Hit:15 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:16 https://ppa.launchpadcontent.net/maveonair/helix-editor/ubuntu jammy InRelease
Hit:17 https://ppa.launchpadcontent.net/neovim-ppa/stable/ubuntu jammy InRelease
Fetched 122 kB in 1s (168 kB/s)
Reading package lists...
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:37 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
W: Target Packages (universe/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:39 and /etc/apt/sources.list.d/security.list:1
Docker / Moby CLI and Engine already installed.
Finished installing docker / moby!
compose_version=2.27.0
(*) Installing docker-compose 2.27.0...
/usr/local/bin/docker-compose: OK
(*) Installing compose-switch...
compose_switch_version=1.0.5
update-alternatives: using /usr/local/bin/compose-switch to provide /usr/local/bin/docker-compose (docker-compose) in auto mode
docker-init doesn't exist, adding...
buildx_version=0.14.0
(*) Installing buildx 0.14.0...
--2024-05-05 09:56:22--  https://github.com/docker/buildx/releases/download/v0.14.0/buildx-v0.14.0.linux-amd64
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/177210627/ad6c9874-6253-441b-b46d-6e68bc7831b4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240505T095622Z&X-Amz-Expires=300&X-Amz-Signature=3360252c24418f35f2253f8167ef7aa70b1f3159d722514839be07ceab81fa0e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=177210627&response-content-disposition=attachment%3B%20filename%3Dbuildx-v0.14.0.linux-amd64&response-content-type=application%2Foctet-stream [following]
--2024-05-05 09:56:22--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/177210627/ad6c9874-6253-441b-b46d-6e68bc7831b4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240505T095622Z&X-Amz-Expires=300&X-Amz-Signature=3360252c24418f35f2253f8167ef7aa70b1f3159d722514839be07ceab81fa0e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=177210627&response-content-disposition=attachment%3B%20filename%3Dbuildx-v0.14.0.linux-amd64&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.108.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 56299520 (54M) [application/octet-stream]
Saving to: 'buildx-v0.14.0.linux-amd64'

     0K .......... .......... .......... .......... ..........  0% 1.32M 41s
    50K .......... .......... .......... .......... ..........  0% 9.18M 23s
   100K .......... .......... .......... .......... ..........  0% 3.72M 20s
   150K .......... .......... .......... .......... ..........  0% 11.9M 16s
   200K .......... .......... .......... .......... ..........  0% 14.8M 14s
   250K .......... .......... .......... .......... ..........  0% 18.4M 12s
   300K .......... .......... .......... .......... ..........  0% 5.04M 12s
   350K .......... .......... .......... .......... ..........  0% 25.2M 11s
   400K .......... .......... .......... .......... ..........  0% 27.4M 10s
   450K .......... .......... .......... .......... ..........  0% 21.1M 9s
   500K .......... .......... .......
   550K .......... .......... .......... .......... ..........  1% 42.4M 8s
   600K .......... .......... .......... .......... ..........  1% 6.00M 8s
   650K .......... .......... .......... .......... ..........  1% 51.5M 7s
   700K .......... .......... .......... .......... ..........  1% 42.6M 7s
   750K .......... .......... .......... .......... ..........  1% 30.5M 6s
   800K .......... .......... .......... .......... ..........  1% 55.8M 6s
   850K .......... .......... .......
   900K .......... .......... .......... .......... ..........  1% 40.5M 6s
   950K .......... .......... .......... .......... ..........  1% 92.5M 5s
  1000K .......... .......... .......... .......... ..........  1% 49.4M 5s
  1050K .......... .......... .......... .......... ..........  2% 75.2M 5s
  1100K .......... .......... .......... .......... ..........  2% 33.7M 5s
  1150K .......... .......... .......... .......... ..........  2%  118M 5s
  1200K .......... .......... .......... .......... ..........  2% 73.9M 4s
  1250K .......... .......... .......... .......... ..........  2% 7.16M 5s
  1300K .......... .......... .......... .......... ..........  2% 67.0M 4s
  1350K .......... .......... .......... .......... ..........  2%  123M 4s
  1400K .......... .......... .......... .......... ..........  2% 53.3M 4s
  1450K .......... .......... .......... .......... ..........  2%  101M 4s
  1500K .......... .......... .......... .......... ..........  2% 85.8M 4s
  1550K .......... .......... .......... .......... ..........  2% 54.1M 4s
  1600K .......... .......... .......... .......... ..........  3%  103M 4s
  1650K .......... .......... .......... .......... ..........  3%  102M 4s
  1700K .......... .......... .......... .......... ..........  3% 78.6M 4s
  1750K .......... .......... .......... .......... ..........  3% 99.8M 3s
  1800K .......... .......... .......... .......... ..........  3% 70.4M 3s
  1850K .......... .......... .......... .......... ..........  3% 67.4M 3s
  1900K .......... .......... .......... .......... ..........  3% 98.9M 3s
  1950K .......... .......... .......... .......... ..........  3% 97.7M 3s
  2000K .......... .......... .......... .......... ..........  3%  179M 3s
  2050K .......... .......... .......... .......... ..........  3%  101M 3s
  2100K .......... .......... .......... .......... ..........  3% 95.6M 3s
  2150K .......... .......... .......... .......... ..........  4%  179M 3s
  2200K .......... .......... .......... .......... ..........  4% 58.1M 3s
  2250K .......... .......... .......... .......... ..........  4%  161M 3s
  2300K .......... .......... .......... .......... ..........  4% 69.8M 3s
  2350K .......... .......... .......... .......... ..........  4%  181M 3s
  2400K .......... .......... .......... .......... ..........  4%  100M 3s
  2450K .......... .......... .......... .......... ..........  4% 51.1M 3s
  2500K .......... .......... .......... .......... ..........  4%  492M 3s
  2550K .......... .......... .......... .......... ..........  4%  462M 2s
  2600K .......... .......... .......... .......... ..........  4% 9.95M 3s
  2650K .......... .......... .......... .......... ..........  4% 59.2M 3s
  2700K .......... .......... .......... .......... ..........  5% 63.9M 2s
  2750K .......... .......... .......... .......... ..........  5%  178M 2s
  2800K .......... .......... .......... .......... ..........  5% 99.9M 2s
  2850K .......... .......... .......... .......... ..........  5% 98.1M 2s
  2900K .......... .......... .......... .......... ..........  5%  172M 2s
  2950K .......... .......... .......... .......... ..........  5%  101M 2s
  3000K .......... .......... .......... .......... ..........  5% 96.8M 2s
  3050K .......... .......... .......... .......... ..........  5%  155M 2s
  3100K .......... .......... .......... .......... ..........  5% 98.4M 2s
  3150K .......... .......... .......... .......... ..........  5% 97.1M 2s
  3200K .......... .......... .......... .......... ..........  5%  102M 2s
  3250K .......... .......... .......... .......... ..........  6%  174M 2s
  3300K .......... .......... .......... .......... ..........  6% 2.38M 2s
  3350K .......... .......... .......... .......... ..........  6%  194M 2s
  3400K .......... .......... .......... .......... ..........  6%  715M 2s
  3450K .......... .......... .......... .......... ..........  6%  425M 2s
  3500K .......... .......... .......... .......... ..........  6% 90.3M 2s
  3550K .......... .......... .......... .......... ..........  6% 72.6M 2s
  3600K .......... .......... .......... .......... ..........  6%  649M 2s
  3650K .......... .......... .......... .......... ..........  6%  661M 2s
  3700K .......... .......... .......... .......... ..........  6% 83.0M 2s
  3750K .......... .......... .......... .......... ..........  6%  107M 2s
  3800K .......... .......... .......... .......... ..........  7%  701M 2s
  3850K .......... .......... .......... .......... ..........  7%  737M 2s
  3900K .......... .......... .......... .......... ..........  7%  610M 2s
  3950K .......... .......... .......... .......... ..........  7% 93.2M 2s
  4000K .......... .......... .......... .......... ..........  7%  104M 2s
  4050K .......... .......... .......... .......... ..........  7%  177M 2s
  4100K .......... .......... .......... .......... ..........  7% 95.4M 2s
  4150K .......... .......... .......... .......... ..........  7%  727M 2s
  4200K .......... .......... .......... .......... ..........  7%  750M 2s
  4250K .......... .......... .......... .......... ..........  7%  732M 2s
  4300K .......... .......... .......... .......... ..........  7%  166M 2s
  4350K .......... .......... .......... .......... ..........  8%  105M 2s
  4400K .......... .......... .......... .......... ..........  8% 39.6M 2s
  4450K .......... .......... .......... .......... ..........  8%  176M 2s
  4500K .......... .......... .......... .......... ..........  8%  677M 2s
  4550K .......... .......... .......... .......... ..........  8%  767M 2s
  4600K .......... .......... .......... .......... ..........  8%  747M 2s
  4650K .......... .......... .......... .......... ..........  8% 69.8M 2s
  4700K .......... .......... .......... .......... ..........  8% 78.7M 2s
  4750K .......... .......... .......... .......... ..........  8%  181M 2s
  4800K .......... .......... .......... .......... ..........  8%  744M 2s
  4850K .......... .......... .......... .......... ..........  8%  743M 2s
  4900K .......... .......... .......... .......... ..........  9%  636M 2s
  4950K .......... .......... .......... .......... ..........  9% 36.3M 2s
  5000K .......... .......... .......... .......... ..........  9%  342M 2s
  5050K .......... .......... .......... .......... ..........  9%  582M 2s
  5100K .......... .......... .......... .......... ..........  9%  140M 2s
  5150K .......... .......... .......... .......... ..........  9%  118M 2s
  5200K .......... .......... .......... .......... ..........  9%  147M 2s
  5250K .......... .......... .......... .......... ..........  9%  731M 2s
  5300K .......... .......... .......... .......... ..........  9%  665M 2s
  5350K .......... .......... .......... .......... ..........  9%  750M 2s
  5400K .......... .......... .......... .......... ..........  9%  707M 2s
  5450K .......... .......... .......... .......... .......... 10%  745M 2s
  5500K .......... .......... .......... .......... .......... 10%  624M 1s
  5550K .......... .......... .......... .......... .......... 10%  725M 1s
  5600K .......... .......... .......... .......... .......... 10%  720M 1s
  5650K .......... .......... .......... .......... .......... 10%  771M 1s
  5700K .......... .......... .......... .......... .......... 10%  674M 1s
  5750K .......... .......... .......... .......... .......... 10%  761M 1s
  5800K .......... .......... .......... .......... .......... 10%  745M 1s
  5850K .......... .......... .......... .......... .......... 10% 13.5M 1s
  5900K .......... .......... .......... .......... .......... 10% 95.0M 1s
  5950K .......... .......... .......... .......... .......... 10%  177M 1s
  6000K .......... .......... .......... .......... .......... 11%  720M 1s
  6050K .......... .......... .......... .......... .......... 11%  101M 1s
  6100K .......... .......... .......... .......... .......... 11%  623M 1s
  6150K .......... .......... .......... .......... .......... 11%  736M 1s
  6200K .......... .......... .......... .......... .......... 11%  728M 1s
  6250K .......... .......... .......... .......... .......... 11% 96.3M 1s
  6300K .......... .......... .......... .......... .......... 11% 68.4M 1s
  6350K .......... .......... .......... .......... .......... 11%  180M 1s
  6400K .......... .......... .......... .......... .......... 11%  168M 1s
  6450K .......... .......... .......... .......... .......... 11%  725M 1s
  6500K .......... .......... .......... .......... .......... 11%  335M 1s
  6550K .......... .......... .......... .......... .......... 12%  165M 1s
  6600K .......... .......... .......... .......... .......... 12%  104M 1s
  6650K .......... .......... .......... .......... .......... 12%  127M 1s
  6700K .......... .......... .......... .......... .......... 12%  614M 1s
  6750K .......... .......... .......... .......... .......... 12%  692M 1s
  6800K .......... .......... .......... .......... .......... 12%  736M 1s
  6850K .......... .......... .......... .......... .......... 12%  744M 1s
  6900K .......... .......... .......... .......... .......... 12%  657M 1s
  6950K .......... .......... .......... .......... .......... 12%  754M 1s
  7000K .......... .......... .......... .......... .......... 12%  745M 1s
  7050K .......... .......... .......... .......... .......... 12%  749M 1s
  7100K .......... .......... .......... .......... .......... 13%  611M 1s
  7150K .......... .......... .......... .......... .......... 13%  735M 1s
  7200K .......... .......... .......... .......... .......... 13% 11.1M 1s
  7250K .......... .......... .......... .......... .......... 13%  118M 1s
  7300K .......... .......... .......... .......... .......... 13%  116M 1s
  7350K .......... .......... .......... .......... .......... 13% 90.7M 1s
  7400K .......... .......... .......... .......... .......... 13% 59.0M 1s
  7450K .......... .......... .......... .......... .......... 13%  117M 1s
  7500K .......... .......... .......... .......... .......... 13% 88.2M 1s
  7550K .......... .......... .......... .......... .......... 13%  105M 1s
  7600K .......... .......... .......... .......... .......... 13%  118M 1s
  7650K .......... .......... .......... .......... .......... 14%  126M 1s
  7700K .......... .......... .......... .......... .......... 14% 76.0M 1s
  7750K .......... .......... .......... .......... .......... 14%  178M 1s
  7800K .......... .......... .......... .......... .......... 14% 2.56M 1s
  7850K .......... .......... .......... .......... .......... 14% 36.7M 1s
  7900K .......... .......... .......... .......... .......... 14% 44.2M 1s
  7950K .......... .......... .......... .......... .......... 14%  734M 1s
  8000K .......... .......... .......... .......... .......... 14%  240M 1s
  8050K .......... .......... .......... .......... .......... 14% 36.5M 1s
  8100K .......... .......... .......... .......... .......... 14% 3.35M 1s
  8150K .......... .......... .......... .......... .......... 14%  490M 1s
  8200K .......... .......... .......... .......... .......... 15%  172M 1s
  8250K .......... .......... .......... .......... .......... 15% 45.3M 1s
  8300K .......... .......... .......... .......... .......... 15% 27.5M 1s
  8350K .......... .......... .......... .......... .......... 15% 28.4M 1s
  8400K .......... .......... .......... .......... .......... 15% 3.62M 1s
  8450K .......... .......... .......... .......... .......... 15%  119M 1s
  8500K .......... .......... .......... .......... .......... 15%  115M 1s
  8550K .......... .......... .......... .......... .......... 15%  117M 1s
  8600K .......... .......... .......... .......... .......... 15% 53.5M 1s
  8650K .......... .......... .......... .......... .......... 15%  118M 1s
  8700K .......... .......... .......... .......... .......... 15% 83.1M 1s
  8750K .......... .......... .......... .......... .......... 16% 87.9M 1s
  8800K .......... .......... .......... .......... .......... 16%  176M 1s
  8850K .......... .......... .......... .......... .......... 16% 96.8M 1s
  8900K .......... .......... .......... .......... .......... 16% 99.8M 1s
  8950K .......... .......... .......... .......... .......... 16%  167M 1s
  9000K .......... .......... .......... .......... .......... 16% 97.5M 1s
  9050K .......... .......... .......... .......... .......... 16%  101M 1s
  9100K .......... .......... .......... .......... .......... 16% 97.6M 1s
  9150K .......... .......... .......... .......... .......... 16% 98.9M 1s
  9200K .......... .......... .......... .......... .......... 16%  176M 1s
  9250K .......... .......... .......... .......... .......... 16%  101M 1s
  9300K .......... .......... .......... .......... .......... 17% 95.8M 1s
  9350K .......... .......... .......... .......... .......... 17%  180M 1s
  9400K .......... .......... .......... .......... .......... 17%  101M 1s
  9450K .......... .......... .......... .......... .......... 17% 96.9M 1s
  9500K .......... .......... .......... .......... .......... 17% 97.9M 1s
  9550K .......... .......... .......... .......... .......... 17% 96.4M 1s
  9600K .......... .......... .......... .......... .......... 17%  180M 1s
  9650K .......... .......... .......... .......... .......... 17% 91.8M 1s
  9700K .......... .......... .......... .......... .......... 17% 99.8M 1s
  9750K .......... .......... .......... .......... .......... 17% 95.8M 1s
  9800K .......... .......... .......... .......... .......... 17%  184M 1s
  9850K .......... .......... .......... .......... .......... 18% 99.9M 1s
  9900K .......... .......... .......... .......... .......... 18% 94.7M 1s
  9950K .......... .......... .......... .......... .......... 18%  101M 1s
 10000K .......... .......... .......... .......... .......... 18% 11.6M 1s
 10050K .......... .......... .......... .......... .......... 18%  133M 1s
 10100K .......... .......... .......... .......... .......... 18%  177M 1s
 10150K .......... .......... .......... .......... .......... 18%  101M 1s
 10200K .......... .......... .......... .......... .......... 18% 49.4M 1s
 10250K .......... .......... .......... .......... .......... 18% 92.6M 1s
 10300K .......... .......... .......... .......... .......... 18% 82.5M 1s
 10350K .......... .......... .......... .......... .......... 18%  106M 1s
 10400K .......... .......... .......... .......... .......... 19% 97.1M 1s
 10450K .......... .......... .......... .......... .......... 19%  175M 1s
 10500K .......... .......... .......... .......... .......... 19%  100M 1s
 10550K .......... .......... .......... .......... .......... 19% 96.5M 1s
 10600K .......... .......... .......... .......... .......... 19%  178M 1s
 10650K .......... .......... .......... .......... .......... 19% 83.3M 1s
 10700K .......... .......... .......... .......... .......... 19% 99.4M 1s
 10750K .......... .......... .......... .......... .......... 19% 95.3M 1s
 10800K .......... .......... .......... .......... .......... 19% 99.2M 1s
 10850K .......... .......... .......... .......... .......... 19% 98.0M 1s
 10900K .......... .......... .......... .......... .......... 19%  170M 1s
 10950K .......... .......... .......... .......... .......... 20% 64.5M 1s
 11000K .......... .......... .......... .......... .......... 20%  103M 1s
 11050K .......... .......... .......... .......... .......... 20%  124M 1s
 11100K .......... .......... .......... .......... .......... 20% 99.1M 1s
 11150K .......... .......... .......... .......... .......... 20%  100M 1s
 11200K .......... .......... .......... .......... .......... 20% 95.5M 1s
 11250K .......... .......... .......... .......... .......... 20%  182M 1s
 11300K .......... .......... .......... .......... .......... 20%  100M 1s
 11350K .......... .......... .......... .......... .......... 20% 93.8M 1s
 11400K .......... .......... .......... .......... .......... 20% 97.7M 1s
 11450K .......... .......... .......... .......... .......... 20% 82.2M 1s
 11500K .......... .......... .......... .......... .......... 21% 98.2M 1s
 11550K .......... .......... .......... .......... .......... 21%  160M 1s
 11600K .......... .......... .......... .......... .......... 21% 98.7M 1s
 11650K .......... .......... .......... .......... .......... 21% 16.3M 1s
 11700K .......... .......... .......... .......... .......... 21% 69.1M 1s
 11750K .......... .......... .......... .......... .......... 21%  178M 1s
 11800K .......... .......... .......... .......... .......... 21%  101M 1s
 11850K .......... .......... .......... .......... .......... 21% 38.6M 1s
 11900K .......... .......... .......... .......... .......... 21% 98.8M 1s
 11950K .......... .......... .......... .......... .......... 21%  119M 1s
 12000K .......... .......... .......... .......... .......... 21%  103M 1s
 12050K .......... .......... .......... .......... .......... 22% 96.2M 1s
 12100K .......... .......... .......... .......... .......... 22% 93.7M 1s
 12150K .......... .......... .......... .......... .......... 22%  101M 1s
 12200K .......... .......... .......... .......... .......... 22% 97.1M 1s
 12250K .......... .......... .......... .......... .......... 22% 97.4M 1s
 12300K .......... .......... .......... .......... .......... 22% 1.32M 1s
 12350K .......... .......... .......... .......... .......... 22%  103M 1s
 12400K .......... .......... .......... .......... .......... 22%  141M 1s
 12450K .......... .......... .......... .......... .......... 22% 83.0M 1s
 12500K .......... .......... .......... .......... .......... 22%  163M 1s
 12550K .......... .......... .......... .......... .......... 22%  111M 1s
 12600K .......... .......... .......... .......... .......... 23%  103M 1s
 12650K .......... .......... .......... .......... .......... 23%  180M 1s
 12700K .......... .......... .......... .......... .......... 23% 61.2M 1s
 12750K .......... .......... .......... .......... .......... 23%  107M 1s
 12800K .......... .......... .......... .......... .......... 23%  176M 1s
 12850K .......... .......... .......... .......... .......... 23% 93.3M 1s
 12900K .......... .......... .......... .......... .......... 23% 92.7M 1s
 12950K .......... .......... .......... .......... .......... 23%  101M 1s
 13000K .......... .......... .......... .......... .......... 23% 93.9M 1s
 13050K .......... .......... .......... .......... .......... 23%  177M 1s
 13100K .......... .......... .......... .......... .......... 23% 97.6M 1s
 13150K .......... .......... .......... .......... .......... 24%  101M 1s
 13200K .......... .......... .......... .......... .......... 24% 97.6M 1s
 13250K .......... .......... .......... .......... .......... 24% 95.3M 1s
 13300K .......... .......... .......... .......... .......... 24%  173M 1s
 13350K .......... .......... .......... .......... .......... 24% 73.6M 1s
 13400K .......... .......... .......... .......... .......... 24%  119M 1s
 13450K .......... .......... .......... .......... .......... 24% 96.5M 1s
 13500K .......... .......... .......... .......... .......... 24% 98.9M 1s
 13550K .......... .......... .......... .......... .......... 24% 96.0M 1s
 13600K .......... .......... .......... .......... .......... 24%  135M 1s
 13650K .......... .......... .......... .......... .......... 24% 98.1M 1s
 13700K .......... .......... .......... .......... .......... 25% 98.5M 1s
 13750K .......... .......... .......... .......... .......... 25% 95.3M 1s
 13800K .......... .......... .......... .......... .......... 25%  173M 1s
 13850K .......... .......... .......... .......... .......... 25% 72.4M 1s
 13900K .......... .......... .......... .......... .......... 25%  122M 1s
 13950K .......... .......... .......... .......... .......... 25% 12.7M 1s
 14000K .......... .......... .......... .......... .......... 25% 67.7M 1s
 14050K .......... .......... .......... .......... .......... 25%  102M 1s
 14100K .......... .......... .......... .......... .......... 25% 96.6M 1s
 14150K .......... .......... .......... .......... .......... 25%  177M 1s
 14200K .......... .......... .......... .......... .......... 25% 97.7M 1s
 14250K .......... .......... .......... .......... .......... 26% 93.4M 1s
 14300K .......... .......... .......... .......... .......... 26%  174M 1s
 14350K .......... .......... .......... .......... .......... 26% 93.1M 1s
 14400K .......... .......... .......... .......... .......... 26% 97.2M 1s
 14450K .......... .......... .......... .......... .......... 26%  181M 1s
 14500K .......... .......... .......... .......... .......... 26% 98.6M 1s
 14550K .......... .......... .......... .......... .......... 26% 98.5M 1s
 14600K .......... .......... .......... .......... .......... 26% 95.1M 1s
 14650K .......... .......... .......... .......... .......... 26% 87.1M 1s
 14700K .......... .......... .......... .......... .......... 26%  176M 1s
 14750K .......... .......... .......... .......... .......... 26%  100M 1s
 14800K .......... .......... .......... .......... .......... 27% 96.1M 1s
 14850K .......... .......... .......... .......... .......... 27% 96.8M 1s
 14900K .......... .......... .......... .......... .......... 27% 92.8M 1s
 14950K .......... .......... .......... .......... .......... 27%  177M 1s
 15000K .......... .......... .......... .......... .......... 27% 83.2M 1s
 15050K .......... .......... .......... .......... .......... 27%  101M 1s
 15100K .......... .......... .......... .......... .......... 27% 95.3M 1s
 15150K .......... .......... .......... .......... .......... 27%  180M 1s
 15200K .......... .......... .......... .......... .......... 27% 99.2M 1s
 15250K .......... .......... .......... .......... .......... 27% 88.6M 1s
 15300K .......... .......... .......... .......... .......... 27% 86.0M 1s
 15350K .......... .......... .......... .......... .......... 28%  175M 1s
 15400K .......... .......... .......... .......... .......... 28% 64.8M 1s
 15450K .......... .......... .......... .......... .......... 28%  183M 1s
 15500K .......... .......... .......... .......... .......... 28% 96.8M 1s
 15550K .......... .......... .......... .......... .......... 28% 34.6M 1s
 15600K .......... .......... .......... .......... .......... 28%  118M 1s
 15650K .......... .......... .......... .......... .......... 28% 16.9M 1s
 15700K .......... .......... .......... .......... .......... 28% 76.4M 1s
 15750K .......... .......... .......... .......... .......... 28% 54.1M 1s
 15800K .......... .......... .......... .......... .......... 28%  179M 1s
 15850K .......... .......... .......... .......... .......... 28%  101M 1s
 15900K .......... .......... .......... .......... .......... 29% 95.7M 1s
 15950K .......... .......... .......... .......... .......... 29%  182M 1s
 16000K .......... .......... .......... .......... .......... 29%  100M 1s
 16050K .......... .......... .......... .......... .......... 29% 91.7M 1s
 16100K .......... .......... .......... .......... .......... 29%  175M 1s
 16150K .......... .......... .......... .......... .......... 29% 97.4M 1s
 16200K .......... .......... .......... .......... .......... 29% 87.9M 1s
 16250K .......... .......... .......... .......... .......... 29% 96.0M 1s
 16300K .......... .......... .......... .......... .......... 29% 93.6M 1s
 16350K .......... .......... .......... .......... .......... 29%  102M 1s
 16400K .......... .......... .......... .......... .......... 29%  168M 1s
 16450K .......... .......... .......... .......... .......... 30%  794K 1s
 16500K .......... .......... .......... .......... .......... 30% 77.1M 1s
 16550K .......... .......... .......... .......... .......... 30%  126M 1s
 16600K .......... .......... .......... .......... .......... 30%  114M 1s
 16650K .......... .......... .......... .......... .......... 30%  112M 1s
 16700K .......... .......... .......... .......... .......... 30% 94.8M 1s
 16750K .......... .......... .......... .......... .......... 30% 86.6M 1s
 16800K .......... .......... .......... .......... .......... 30% 96.7M 1s
 16850K .......... .......... .......... .......... .......... 30% 95.6M 1s
 16900K .......... .......... .......... .......... .......... 30% 72.4M 1s
 16950K .......... .......... .......... .......... .......... 30%  153M 1s
 17000K .......... .......... .......... .......... .......... 31% 92.1M 1s
 17050K .......... .......... .......... .......... .......... 31% 97.0M 1s
 17100K .......... .......... .......... .......... .......... 31% 91.0M 1s
 17150K .......... .......... .......... .......... .......... 31%  101M 1s
 17200K .......... .......... .......... .......... .......... 31%  182M 1s
 17250K .......... .......... .......... .......... .......... 31% 95.9M 1s
 17300K .......... .......... .......... .......... .......... 31% 99.6M 1s
 17350K .......... .......... .......... .......... .......... 31%  168M 1s
 17400K .......... .......... .......... .......... .......... 31% 97.8M 1s
 17450K .......... .......... .......... .......... .......... 31% 98.1M 1s
 17500K .......... .......... .......... .......... .......... 31% 98.4M 1s
 17550K .......... .......... .......... .......... .......... 32% 87.0M 1s
 17600K .......... .......... .......... .......... .......... 32%  182M 1s
 17650K .......... .......... .......... .......... .......... 32%  101M 1s
 17700K .......... .......... .......... .......... .......... 32%  177M 1s
 17750K .......... .......... .......... .......... .......... 32% 96.6M 1s
 17800K .......... .......... .......... .......... .......... 32%  100M 1s
 17850K .......... .......... .......... .......... .......... 32% 96.3M 1s
 17900K .......... .......... .......... .......... .......... 32% 86.6M 1s
 17950K .......... .......... .......... .......... .......... 32%  107M 1s
 18000K .......... .......... .......... .......... .......... 32% 93.1M 1s
 18050K .......... .......... .......... .......... .......... 32% 40.5M 1s
 18100K .......... .......... .......... .......... .......... 33% 19.6M 1s
 18150K .......... .......... .......... .......... .......... 33% 51.9M 1s
 18200K .......... .......... .......... .......... .......... 33%  100M 1s
 18250K .......... .......... .......... .......... .......... 33% 82.2M 1s
 18300K .......... .......... .......... .......... .......... 33%  102M 1s
 18350K .......... .......... .......... .......... .......... 33% 69.0M 1s
 18400K .......... .......... .......... .......... .......... 33% 59.1M 1s
 18450K .......... .......... .......... .......... .......... 33% 49.7M 1s
 18500K .......... .......... .......... .......... .......... 33%  165M 1s
 18550K .......... .......... .......... .......... .......... 33%  104M 1s
 18600K .......... .......... .......... .......... .......... 33% 95.9M 1s
 18650K .......... .......... .......... .......... .......... 34%  183M 1s
 18700K .......... .......... .......... .......... .......... 34% 99.0M 1s
 18750K .......... .......... .......... .......... .......... 34% 96.5M 1s
 18800K .......... .......... .......... .......... .......... 34%  101M 1s
 18850K .......... .......... .......... .......... .......... 34% 94.1M 1s
 18900K .......... .......... .......... .......... .......... 34% 74.0M 1s
 18950K .......... .......... .......... .......... .......... 34%  272M 1s
 19000K .......... .......... .......... .......... .......... 34% 90.9M 1s
 19050K .......... .......... .......... .......... .......... 34% 95.7M 1s
 19100K .......... .......... .......... .......... .......... 34% 97.2M 1s
 19150K .......... .......... .......... .......... .......... 34% 85.2M 1s
 19200K .......... .......... .......... .......... .......... 35%  191M 1s
 19250K .......... .......... .......... .......... .......... 35% 98.5M 1s
 19300K .......... .......... .......... .......... .......... 35% 98.6M 1s
 19350K .......... .......... .......... .......... .......... 35%  179M 1s
 19400K .......... .......... .......... .......... .......... 35% 63.6M 1s
 19450K .......... .......... .......... .......... .......... 35%  178M 1s
 19500K .......... .......... .......... .......... .......... 35% 98.1M 1s
 19550K .......... .......... .......... .......... .......... 35% 96.7M 1s
 19600K .......... .......... .......... .......... .......... 35% 97.9M 1s
 19650K .......... .......... .......... .......... .......... 35% 92.4M 1s
 19700K .......... .......... .......... .......... .......... 35%  101M 1s
 19750K .......... .......... .......... .......... .......... 36% 22.5M 1s
 19800K .......... .......... .......... .......... .......... 36% 45.9M 1s
 19850K .......... .......... .......... .......... .......... 36%  186M 1s
 19900K .......... .......... .......... .......... .......... 36% 92.9M 1s
 19950K .......... .......... .......... .......... .......... 36% 99.6M 1s
 20000K .......... .......... .......... .......... .......... 36% 35.8M 1s
 20050K .......... .......... .......... .......... .......... 36% 72.2M 1s
 20100K .......... .......... .......... .......... .......... 36% 87.7M 1s
 20150K .......... .......... .......... .......... .......... 36% 97.1M 1s
 20200K .......... .......... .......... .......... .......... 36%  166M 1s
 20250K .......... .......... .......... .......... .......... 36%  102M 1s
 20300K .......... .......... .......... .......... .......... 37% 98.1M 1s
 20350K .......... .......... .......... .......... .......... 37%  174M 1s
 20400K .......... .......... .......... .......... .......... 37%  101M 1s
 20450K .......... .......... .......... .......... .......... 37% 96.8M 1s
 20500K .......... .......... .......... .......... .......... 37%  101M 1s
 20550K .......... .......... .......... .......... .......... 37%  808K 1s
 20600K .......... .......... .......... .......... .......... 37% 52.7M 1s
 20650K .......... .......... .......... .......... .......... 37%  626M 1s
 20700K .......... .......... .......... .......... .......... 37% 81.1M 1s
 20750K .......... .......... .......... .......... .......... 37%  112M 1s
 20800K .......... .......... .......... .......... .......... 37%  183M 1s
 20850K .......... .......... .......... .......... .......... 38%  106M 1s
 20900K .......... .......... .......... .......... .......... 38% 94.5M 1s
 20950K .......... .......... .......... .......... .......... 38%  101M 1s
 21000K .......... .......... .......... .......... .......... 38%  182M 1s
 21050K .......... .......... .......... .......... .......... 38%  101M 1s
 21100K .......... .......... .......... .......... .......... 38% 94.3M 1s
 21150K .......... .......... .......... .......... .......... 38% 98.4M 1s
 21200K .......... .......... .......... .......... .......... 38% 82.8M 1s
 21250K .......... .......... .......... .......... .......... 38% 98.4M 1s
 21300K .......... .......... .......... .......... .......... 38%  189M 1s
 21350K .......... .......... .......... .......... .......... 38% 99.4M 1s
 21400K .......... .......... .......... .......... .......... 39% 92.2M 1s
 21450K .......... .......... .......... .......... .......... 39% 95.2M 1s
 21500K .......... .......... .......... .......... .......... 39% 86.5M 1s
 21550K .......... .......... .......... .......... .......... 39% 95.0M 1s
 21600K .......... .......... .......... .......... .......... 39%  177M 1s
 21650K .......... .......... .......... .......... .......... 39% 99.5M 1s
 21700K .......... .......... .......... .......... .......... 39% 95.0M 1s
 21750K .......... .......... .......... .......... .......... 39%  181M 1s
 21800K .......... .......... .......... .......... .......... 39% 96.3M 1s
 21850K .......... .......... .......... .......... .......... 39% 98.2M 1s
 21900K .......... .......... .......... .......... .......... 39% 58.4M 1s
 21950K .......... .......... .......... .......... .......... 40%  181M 1s
 22000K .......... .......... .......... .......... .......... 40% 99.9M 1s
 22050K .......... .......... .......... .......... .......... 40%  176M 1s
 22100K .......... .......... .......... .......... .......... 40%  100M 1s
 22150K .......... .......... .......... .......... .......... 40% 67.0M 1s
 22200K .......... .......... .......... .......... .......... 40% 32.8M 1s
 22250K .......... .......... .......... .......... .......... 40% 15.6M 1s
 22300K .......... .......... .......... .......... .......... 40% 96.1M 1s
 22350K .......... .......... .......... .......... .......... 40% 90.2M 1s
 22400K .......... .......... .......... .......... .......... 40% 92.5M 1s
 22450K .......... .......... .......... .......... .......... 40%  117M 1s
 22500K .......... .......... .......... .......... .......... 41%  115M 1s
 22550K .......... .......... .......... .......... .......... 41%  107M 1s
 22600K .......... .......... .......... .......... .......... 41%  112M 1s
 22650K .......... .......... .......... .......... .......... 41% 83.3M 1s
 22700K .......... .......... .......... .......... .......... 41% 68.4M 1s
 22750K .......... .......... .......... .......... .......... 41% 46.4M 1s
 22800K .......... .......... .......... .......... .......... 41% 98.7M 1s
 22850K .......... .......... .......... .......... .......... 41% 99.8M 1s
 22900K .......... .......... .......... .......... .......... 41%  174M 1s
 22950K .......... .......... .......... .......... .......... 41%  101M 1s
 23000K .......... .......... .......... .......... .......... 41% 96.7M 1s
 23050K .......... .......... .......... .......... .......... 42%  179M 1s
 23100K .......... .......... .......... .......... .......... 42% 90.7M 1s
 23150K .......... .......... .......... .......... .......... 42% 98.5M 1s
 23200K .......... .......... .......... .......... .......... 42%  103M 1s
 23250K .......... .......... .......... .......... .......... 42%  177M 1s
 23300K .......... .......... .......... .......... .......... 42% 95.2M 1s
 23350K .......... .......... .......... .......... .......... 42%  101M 1s
 23400K .......... .......... .......... .......... .......... 42% 97.5M 1s
 23450K .......... .......... .......... .......... .......... 42%  180M 1s
 23500K .......... .......... .......... .......... .......... 42% 86.8M 1s
 23550K .......... .......... .......... .......... .......... 42%  101M 1s
 23600K .......... .......... .......... .......... .......... 43% 96.4M 1s
 23650K .......... .......... .......... .......... .......... 43%  178M 1s
 23700K .......... .......... .......... .......... .......... 43% 99.5M 1s
 23750K .......... .......... .......... .......... .......... 43% 93.6M 1s
 23800K .......... .......... .......... .......... .......... 43% 47.5M 1s
 23850K .......... .......... .......... .......... .......... 43%  101M 1s
 23900K .......... .......... .......... .......... .......... 43% 19.4M 1s
 23950K .......... .......... .......... .......... .......... 43% 49.1M 1s
 24000K .......... .......... .......... .......... .......... 43%  103M 1s
 24050K .......... .......... .......... .......... .......... 43% 38.3M 1s
 24100K .......... .......... .......... .......... .......... 43%  174M 1s
 24150K .......... .......... .......... .......... .......... 44%  102M 1s
 24200K .......... .......... .......... .......... .......... 44% 98.2M 1s
 24250K .......... .......... .......... .......... .......... 44%  172M 1s
 24300K .......... .......... .......... .......... .......... 44% 99.1M 1s
 24350K .......... .......... .......... .......... .......... 44% 58.6M 1s
 24400K .......... .......... .......... .......... .......... 44%  175M 1s
 24450K .......... .......... .......... .......... .......... 44% 57.5M 1s
 24500K .......... .......... .......... .......... .......... 44%  162M 1s
 24550K .......... .......... .......... .......... .......... 44% 91.5M 1s
 24600K .......... .......... .......... .......... .......... 44% 74.9M 1s
 24650K .......... .......... .......... .......... .......... 44% 72.4M 1s
 24700K .......... .......... .......... .......... .......... 45%  814K 1s
 24750K .......... .......... .......... .......... .......... 45% 79.2M 1s
 24800K .......... .......... .......... .......... .......... 45%  170M 1s
 24850K .......... .......... .......... .......... .......... 45%  133M 1s
 24900K .......... .......... .......... .......... .......... 45% 88.2M 1s
 24950K .......... .......... .......... .......... .......... 45%  271M 1s
 25000K .......... .......... .......... .......... .......... 45%  102M 1s
 25050K .......... .......... .......... .......... .......... 45% 96.7M 1s
 25100K .......... .......... .......... .......... .......... 45% 92.3M 1s
 25150K .......... .......... .......... .......... .......... 45% 93.8M 1s
 25200K .......... .......... .......... .......... .......... 45%  114M 1s
 25250K .......... .......... .......... .......... .......... 46%  113M 1s
 25300K .......... .......... .......... .......... .......... 46%  101M 1s
 25350K .......... .......... .......... .......... .......... 46%  169M 1s
 25400K .......... .......... .......... .......... .......... 46% 65.8M 1s
 25450K .......... .......... .......... .......... .......... 46%  177M 1s
 25500K .......... .......... .......... .......... .......... 46% 99.5M 1s
 25550K .......... .......... .......... .......... .......... 46% 91.6M 1s
 25600K .......... .......... .......... .......... .......... 46%  104M 1s
 25650K .......... .......... .......... .......... .......... 46% 93.1M 1s
 25700K .......... .......... .......... .......... .......... 46%  159M 1s
 25750K .......... .......... .......... .......... .......... 46%  107M 1s
 25800K .......... .......... .......... .......... .......... 47% 89.8M 1s
 25850K .......... .......... .......... .......... .......... 47%  101M 1s
 25900K .......... .......... .......... .......... .......... 47% 85.1M 1s
 25950K .......... .......... .......... .......... .......... 47% 91.9M 1s
 26000K .......... .......... .......... .......... .......... 47%  179M 1s
 26050K .......... .......... .......... .......... .......... 47% 93.6M 1s
 26100K .......... .......... .......... .......... .......... 47% 99.9M 1s
 26150K .......... .......... .......... .......... .......... 47% 97.6M 1s
 26200K .......... .......... .......... .......... .......... 47%  171M 1s
 26250K .......... .......... .......... .......... .......... 47% 96.3M 1s
 26300K .......... .......... .......... .......... .......... 47% 32.1M 1s
 26350K .......... .......... .......... .......... .......... 48% 17.2M 1s
 26400K .......... .......... .......... .......... .......... 48% 57.8M 1s
 26450K .......... .......... .......... .......... .......... 48%  177M 1s
 26500K .......... .......... .......... .......... .......... 48%  103M 1s
 26550K .......... .......... .......... .......... .......... 48%  167M 1s
 26600K .......... .......... .......... .......... .......... 48% 64.1M 1s
 26650K .......... .......... .......... .......... .......... 48%  173M 1s
 26700K .......... .......... .......... .......... .......... 48%  102M 1s
 26750K .......... .......... .......... .......... .......... 48%  184M 1s
 26800K .......... .......... .......... .......... .......... 48% 96.1M 1s
 26850K .......... .......... .......... .......... .......... 48% 92.6M 1s
 26900K .......... .......... .......... .......... .......... 49% 96.7M 1s
 26950K .......... .......... .......... .......... .......... 49%  176M 1s
 27000K .......... .......... .......... .......... .......... 49% 64.9M 1s
 27050K .......... .......... .......... .......... .......... 49%  169M 1s
 27100K .......... .......... .......... .......... .......... 49% 91.1M 1s
 27150K .......... .......... .......... .......... .......... 49% 95.1M 1s
 27200K .......... .......... .......... .......... .......... 49% 94.6M 1s
 27250K .......... .......... .......... .......... .......... 49% 92.5M 1s
 27300K .......... .......... .......... .......... .......... 49%  151M 1s
 27350K .......... .......... .......... .......... .......... 49%  102M 1s
 27400K .......... .......... .......... .......... .......... 49%  180M 1s
 27450K .......... .......... .......... .......... .......... 50% 97.1M 1s
 27500K .......... .......... .......... .......... .......... 50%  100M 1s
 27550K .......... .......... .......... .......... .......... 50% 97.8M 1s
 27600K .......... .......... .......... .......... .......... 50% 98.0M 1s
 27650K .......... .......... .......... .......... .......... 50% 91.3M 1s
 27700K .......... .......... .......... .......... .......... 50%  184M 1s
 27750K .......... .......... .......... .......... .......... 50% 94.3M 1s
 27800K .......... .......... .......... .......... .......... 50%  100M 1s
 27850K .......... .......... .......... .......... .......... 50% 97.1M 1s
 27900K .......... .......... .......... .......... .......... 50%  109M 1s
 27950K .......... .......... .......... .......... .......... 50% 35.2M 1s
 28000K .......... .......... .......... .......... .......... 51% 20.8M 1s
 28050K .......... .......... .......... .......... .......... 51% 38.2M 1s
 28100K .......... .......... .......... .......... .......... 51%  102M 1s
 28150K .......... .......... .......... .......... .......... 51%  170M 1s
 28200K .......... .......... .......... .......... .......... 51% 91.1M 1s
 28250K .......... .......... .......... .......... .......... 51%  105M 1s
 28300K .......... .......... .......... .......... .......... 51%  101M 1s
 28350K .......... .......... .......... .......... .......... 51% 97.3M 1s
 28400K .......... .......... .......... .......... .......... 51%  177M 1s
 28450K .......... .......... .......... .......... .......... 51%  100M 1s
 28500K .......... .......... .......... .......... .......... 51% 96.4M 1s
 28550K .......... .......... .......... .......... .......... 52%  168M 1s
 28600K .......... .......... .......... .......... .......... 52%  103M 1s
 28650K .......... .......... .......... .......... .......... 52% 96.5M 1s
 28700K .......... .......... .......... .......... .......... 52% 97.1M 1s
 28750K .......... .......... .......... .......... .......... 52% 75.1M 1s
 28800K .......... .......... .......... .......... .......... 52%  795K 1s
 28850K .......... .......... .......... .......... .......... 52% 86.5M 1s
 28900K .......... .......... .......... .......... .......... 52% 99.0M 1s
 28950K .......... .......... .......... .......... .......... 52% 74.4M 1s
 29000K .......... .......... .......... .......... .......... 52%  340M 1s
 29050K .......... .......... .......... .......... .......... 52%  155M 1s
 29100K .......... .......... .......... .......... .......... 53% 65.2M 1s
 29150K .......... .......... .......... .......... .......... 53%  173M 1s
 29200K .......... .......... .......... .......... .......... 53%  100M 1s
 29250K .......... .......... .......... .......... .......... 53% 97.1M 1s
 29300K .......... .......... .......... .......... .......... 53% 96.3M 1s
 29350K .......... .......... .......... .......... .......... 53%  172M 1s
 29400K .......... .......... .......... .......... .......... 53% 87.1M 1s
 29450K .......... .......... .......... .......... .......... 53% 95.0M 1s
 29500K .......... .......... .......... .......... .......... 53% 98.3M 1s
 29550K .......... .......... .......... .......... .......... 53%  181M 1s
 29600K .......... .......... .......... .......... .......... 53% 95.5M 1s
 29650K .......... .......... .......... .......... .......... 54% 96.3M 1s
 29700K .......... .......... .......... .......... .......... 54% 93.7M 1s
 29750K .......... .......... .......... .......... .......... 54%  183M 1s
 29800K .......... .......... .......... .......... .......... 54% 96.7M 1s
 29850K .......... .......... .......... .......... .......... 54% 97.7M 1s
 29900K .......... .......... .......... .......... .......... 54% 90.2M 1s
 29950K .......... .......... .......... .......... .......... 54%  101M 1s
 30000K .......... .......... .......... .......... .......... 54% 95.5M 1s
 30050K .......... .......... .......... .......... .......... 54%  177M 1s
 30100K .......... .......... .......... .......... .......... 54% 91.7M 1s
 30150K .......... .......... .......... .......... .......... 54% 95.0M 1s
 30200K .......... .......... .......... .......... .......... 55% 97.3M 1s
 30250K .......... .......... .......... .......... .......... 55%  175M 1s
 30300K .......... .......... .......... .......... .......... 55% 64.8M 1s
 30350K .......... .......... .......... .......... .......... 55%  176M 1s
 30400K .......... .......... .......... .......... .......... 55% 97.6M 1s
 30450K .......... .......... .......... .......... .......... 55% 13.6M 1s
 30500K .......... .......... .......... .......... .......... 55% 89.8M 1s
 30550K .......... .......... .......... .......... .......... 55%  100M 1s
 30600K .......... .......... .......... .......... .......... 55% 63.2M 1s
 30650K .......... .......... .......... .......... .......... 55%  118M 1s
 30700K .......... .......... .......... .......... .......... 55% 87.1M 1s
 30750K .......... .......... .......... .......... .......... 56%  134M 1s
 30800K .......... .......... .......... .......... .......... 56%  105M 1s
 30850K .......... .......... .......... .......... .......... 56%  118M 1s
 30900K .......... .......... .......... .......... .......... 56%  115M 1s
 30950K .......... .......... .......... .......... .......... 56%  117M 1s
 31000K .......... .......... .......... .......... .......... 56%  119M 1s
 31050K .......... .......... .......... .......... .......... 56% 86.0M 1s
 31100K .......... .......... .......... .......... .......... 56% 87.3M 1s
 31150K .......... .......... .......... .......... .......... 56%  117M 1s
 31200K .......... .......... .......... .......... .......... 56%  118M 1s
 31250K .......... .......... .......... .......... .......... 56%  122M 1s
 31300K .......... .......... .......... .......... .......... 57%  115M 1s
 31350K .......... .......... .......... .......... .......... 57%  118M 1s
 31400K .......... .......... .......... .......... .......... 57%  105M 1s
 31450K .......... .......... .......... .......... .......... 57%  117M 1s
 31500K .......... .......... .......... .......... .......... 57% 75.7M 1s
 31550K .......... .......... .......... .......... .......... 57%  118M 1s
 31600K .......... .......... .......... .......... .......... 57%  104M 1s
 31650K .......... .......... .......... .......... .......... 57%  117M 1s
 31700K .......... .......... .......... .......... .......... 57%  115M 1s
 31750K .......... .......... .......... .......... .......... 57%  118M 1s
 31800K .......... .......... .......... .......... .......... 57%  100M 1s
 31850K .......... .......... .......... .......... .......... 58% 90.6M 1s
 31900K .......... .......... .......... .......... .......... 58% 95.6M 1s
 31950K .......... .......... .......... .......... .......... 58% 92.1M 1s
 32000K .......... .......... .......... .......... .......... 58%  118M 1s
 32050K .......... .......... .......... .......... .......... 58%  116M 1s
 32100K .......... .......... .......... .......... .......... 58% 29.1M 1s
 32150K .......... .......... .......... .......... .......... 58% 28.9M 1s
 32200K .......... .......... .......... .......... .......... 58% 45.1M 1s
 32250K .......... .......... .......... .......... .......... 58% 76.9M 1s
 32300K .......... .......... .......... .......... .......... 58% 72.1M 1s
 32350K .......... .......... .......... .......... .......... 58%  118M 1s
 32400K .......... .......... .......... .......... .......... 59% 89.1M 1s
 32450K .......... .......... .......... .......... .......... 59%  117M 1s
 32500K .......... .......... .......... .......... .......... 59%  116M 1s
 32550K .......... .......... .......... .......... .......... 59%  119M 1s
 32600K .......... .......... .......... .......... .......... 59% 72.6M 1s
 32650K .......... .......... .......... .......... .......... 59%  118M 1s
 32700K .......... .......... .......... .......... .......... 59% 82.5M 1s
 32750K .......... .......... .......... .......... .......... 59%  124M 1s
 32800K .......... .......... .......... .......... .......... 59%  117M 1s
 32850K .......... .......... .......... .......... .......... 59%  114M 1s
 32900K .......... .......... .......... .......... .......... 59%  785K 1s
 32950K .......... .......... .......... .......... .......... 60%  120M 1s
 33000K .......... .......... .......... .......... .......... 60% 95.0M 1s
 33050K .......... .......... .......... .......... .......... 60%  182M 1s
 33100K .......... .......... .......... .......... .......... 60% 61.2M 1s
 33150K .......... .......... .......... .......... .......... 60%  107M 1s
 33200K .......... .......... .......... .......... .......... 60%  162M 1s
 33250K .......... .......... .......... .......... .......... 60%  125M 1s
 33300K .......... .......... .......... .......... .......... 60% 95.3M 1s
 33350K .......... .......... .......... .......... .......... 60%  175M 1s
 33400K .......... .......... .......... .......... .......... 60%  101M 1s
 33450K .......... .......... .......... .......... .......... 60% 96.4M 1s
 33500K .......... .......... .......... .......... .......... 61% 92.1M 1s
 33550K .......... .......... .......... .......... .......... 61% 88.6M 1s
 33600K .......... .......... .......... .......... .......... 61% 97.3M 1s
 33650K .......... .......... .......... .......... .......... 61%  175M 1s
 33700K .......... .......... .......... .......... .......... 61%  100M 1s
 33750K .......... .......... .......... .......... .......... 61%  145M 1s
 33800K .......... .......... .......... .......... .......... 61%  102M 1s
 33850K .......... .......... .......... .......... .......... 61% 94.9M 1s
 33900K .......... .......... .......... .......... .......... 61% 98.1M 1s
 33950K .......... .......... .......... .......... .......... 61% 96.9M 1s
 34000K .......... .......... .......... .......... .......... 61%  143M 1s
 34050K .......... .......... .......... .......... .......... 62%  108M 1s
 34100K .......... .......... .......... .......... .......... 62% 99.8M 1s
 34150K .......... .......... .......... .......... .......... 62% 92.8M 1s
 34200K .......... .......... .......... .......... .......... 62%  131M 1s
 34250K .......... .......... .......... .......... .......... 62%  105M 1s
 34300K .......... .......... .......... .......... .......... 62% 96.3M 1s
 34350K .......... .......... .......... .......... .......... 62%  100M 1s
 34400K .......... .......... .......... .......... .......... 62% 89.2M 1s
 34450K .......... .......... .......... .......... .......... 62% 96.2M 1s
 34500K .......... .......... .......... .......... .......... 62%  176M 1s
 34550K .......... .......... .......... .......... .......... 62% 29.2M 1s
 34600K .......... .......... .......... .......... .......... 63% 19.1M 1s
 34650K .......... .......... .......... .......... .......... 63% 85.9M 1s
 34700K .......... .......... .......... .......... .......... 63% 85.8M 1s
 34750K .......... .......... .......... .......... .......... 63%  116M 1s
 34800K .......... .......... .......... .......... .......... 63% 66.1M 1s
 34850K .......... .......... .......... .......... .......... 63%  118M 1s
 34900K .......... .......... .......... .......... .......... 63%  116M 1s
 34950K .......... .......... .......... .......... .......... 63%  112M 1s
 35000K .......... .......... .......... .......... .......... 63% 63.9M 1s
 35050K .......... .......... .......... .......... .......... 63%  189M 1s
 35100K .......... .......... .......... .......... .......... 63%  132M 1s
 35150K .......... .......... .......... .......... .......... 64% 96.9M 0s
 35200K .......... .......... .......... .......... .......... 64%  101M 0s
 35250K .......... .......... .......... .......... .......... 64%  182M 0s
 35300K .......... .......... .......... .......... .......... 64% 99.1M 0s
 35350K .......... .......... .......... .......... .......... 64% 85.4M 0s
 35400K .......... .......... .......... .......... .......... 64%  100M 0s
 35450K .......... .......... .......... .......... .......... 64%  179M 0s
 35500K .......... .......... .......... .......... .......... 64% 66.4M 0s
 35550K .......... .......... .......... .......... .......... 64%  175M 0s
 35600K .......... .......... .......... .......... .......... 64% 58.1M 0s
 35650K .......... .......... .......... .......... .......... 64%  176M 0s
 35700K .......... .......... .......... .......... .......... 65% 95.5M 0s
 35750K .......... .......... .......... .......... .......... 65% 98.9M 0s
 35800K .......... .......... .......... .......... .......... 65%  189M 0s
 35850K .......... .......... .......... .......... .......... 65%  101M 0s
 35900K .......... .......... .......... .......... .......... 65% 92.5M 0s
 35950K .......... .......... .......... .......... .......... 65%  103M 0s
 36000K .......... .......... .......... .......... .......... 65% 96.7M 0s
 36050K .......... .......... .......... .......... .......... 65%  161M 0s
 36100K .......... .......... .......... .......... .......... 65% 90.8M 0s
 36150K .......... .......... .......... .......... .......... 65%  200M 0s
 36200K .......... .......... .......... .......... .......... 65% 69.9M 0s
 36250K .......... .......... .......... .......... .......... 66% 13.3M 0s
 36300K .......... .......... .......... .......... .......... 66%  100M 0s
 36350K .......... .......... .......... .......... .......... 66% 84.8M 0s
 36400K .......... .......... .......... .......... .......... 66%  180M 0s
 36450K .......... .......... .......... .......... .......... 66% 73.4M 0s
 36500K .......... .......... .......... .......... .......... 66%  116M 0s
 36550K .......... .......... .......... .......... .......... 66% 99.6M 0s
 36600K .......... .......... .......... .......... .......... 66% 94.3M 0s
 36650K .......... .......... .......... .......... .......... 66%  176M 0s
 36700K .......... .......... .......... .......... .......... 66% 99.2M 0s
 36750K .......... .......... .......... .......... .......... 66% 97.5M 0s
 36800K .......... .......... .......... .......... .......... 67%  101M 0s
 36850K .......... .......... .......... .......... .......... 67%  171M 0s
 36900K .......... .......... .......... .......... .......... 67% 94.6M 0s
 36950K .......... .......... .......... .......... .......... 67% 75.3M 0s
 37000K .......... .......... .......... .......... .......... 67%  110M 0s
 37050K .......... .......... .......... .......... .......... 67%  787K 0s
 37100K .......... .......... .......... .......... .......... 67%  115M 0s
 37150K .......... .......... .......... .......... .......... 67%  101M 0s
 37200K .......... .......... .......... .......... .......... 67% 49.8M 0s
 37250K .......... .......... .......... .......... .......... 67%  723M 0s
 37300K .......... .......... .......... .......... .......... 67% 83.7M 0s
 37350K .......... .......... .......... .......... .......... 68%  124M 0s
 37400K .......... .......... .......... .......... .......... 68% 97.9M 0s
 37450K .......... .......... .......... .......... .......... 68%  102M 0s
 37500K .......... .......... .......... .......... .......... 68% 97.3M 0s
 37550K .......... .......... .......... .......... .......... 68% 96.8M 0s
 37600K .......... .......... .......... .......... .......... 68%  181M 0s
 37650K .......... .......... .......... .......... .......... 68%  102M 0s
 37700K .......... .......... .......... .......... .......... 68% 94.3M 0s
 37750K .......... .......... .......... .......... .......... 68%  181M 0s
 37800K .......... .......... .......... .......... .......... 68% 97.0M 0s
 37850K .......... .......... .......... .......... .......... 68%  102M 0s
 37900K .......... .......... .......... .......... .......... 69% 98.0M 0s
 37950K .......... .......... .......... .......... .......... 69% 97.2M 0s
 38000K .......... .......... .......... .......... .......... 69%  178M 0s
 38050K .......... .......... .......... .......... .......... 69% 96.5M 0s
 38100K .......... .......... .......... .......... .......... 69% 99.6M 0s
 38150K .......... .......... .......... .......... .......... 69%  176M 0s
 38200K .......... .......... .......... .......... .......... 69% 95.9M 0s
 38250K .......... .......... .......... .......... .......... 69%  101M 0s
 38300K .......... .......... .......... .......... .......... 69% 93.6M 0s
 38350K .......... .......... .......... .......... .......... 69%  102M 0s
 38400K .......... .......... .......... .......... .......... 69%  180M 0s
 38450K .......... .......... .......... .......... .......... 70%  101M 0s
 38500K .......... .......... .......... .......... .......... 70% 66.2M 0s
 38550K .......... .......... .......... .......... .......... 70%  126M 0s
 38600K .......... .......... .......... .......... .......... 70% 96.1M 0s
 38650K .......... .......... .......... .......... .......... 70% 46.7M 0s
 38700K .......... .......... .......... .......... .......... 70% 14.6M 0s
 38750K .......... .......... .......... .......... .......... 70%  134M 0s
 38800K .......... .......... .......... .......... .......... 70% 82.0M 0s
 38850K .......... .......... .......... .......... .......... 70% 85.7M 0s
 38900K .......... .......... .......... .......... .......... 70% 66.4M 0s
 38950K .......... .......... .......... .......... .......... 70% 99.2M 0s
 39000K .......... .......... .......... .......... .......... 71% 90.0M 0s
 39050K .......... .......... .......... .......... .......... 71%  178M 0s
 39100K .......... .......... .......... .......... .......... 71% 96.4M 0s
 39150K .......... .......... .......... .......... .......... 71%  101M 0s
 39200K .......... .......... .......... .......... .......... 71%  180M 0s
 39250K .......... .......... .......... .......... .......... 71% 96.7M 0s
 39300K .......... .......... .......... .......... .......... 71% 99.5M 0s
 39350K .......... .......... .......... .......... .......... 71%  101M 0s
 39400K .......... .......... .......... .......... .......... 71% 95.6M 0s
 39450K .......... .......... .......... .......... .......... 71%  176M 0s
 39500K .......... .......... .......... .......... .......... 71% 98.3M 0s
 39550K .......... .......... .......... .......... .......... 72% 99.9M 0s
 39600K .......... .......... .......... .......... .......... 72% 83.5M 0s
 39650K .......... .......... .......... .......... .......... 72%  100M 0s
 39700K .......... .......... .......... .......... .......... 72%  179M 0s
 39750K .......... .......... .......... .......... .......... 72% 96.8M 0s
 39800K .......... .......... .......... .......... .......... 72% 99.6M 0s
 39850K .......... .......... .......... .......... .......... 72% 83.1M 0s
 39900K .......... .......... .......... .......... .......... 72% 98.3M 0s
 39950K .......... .......... .......... .......... .......... 72% 95.3M 0s
 40000K .......... .......... .......... .......... .......... 72%  170M 0s
 40050K .......... .......... .......... .......... .......... 72%  106M 0s
 40100K .......... .......... .......... .......... .......... 73% 93.4M 0s
 40150K .......... .......... .......... .......... .......... 73% 84.0M 0s
 40200K .......... .......... .......... .......... .......... 73%  182M 0s
 40250K .......... .......... .......... .......... .......... 73% 91.4M 0s
 40300K .......... .......... .......... .......... .......... 73% 94.7M 0s
 40350K .......... .......... .......... .......... .......... 73% 55.5M 0s
 40400K .......... .......... .......... .......... .......... 73% 19.0M 0s
 40450K .......... .......... .......... .......... .......... 73%  219M 0s
 40500K .......... .......... .......... .......... .......... 73% 73.2M 0s
 40550K .......... .......... .......... .......... .......... 73% 38.4M 0s
 40600K .......... .......... .......... .......... .......... 73%  178M 0s
 40650K .......... .......... .......... .......... .......... 74% 75.3M 0s
 40700K .......... .......... .......... .......... .......... 74% 72.0M 0s
 40750K .......... .......... .......... .......... .......... 74%  180M 0s
 40800K .......... .......... .......... .......... .......... 74%  101M 0s
 40850K .......... .......... .......... .......... .......... 74% 97.5M 0s
 40900K .......... .......... .......... .......... .......... 74%  169M 0s
 40950K .......... .......... .......... .......... .......... 74% 98.6M 0s
 41000K .......... .......... .......... .......... .......... 74%  101M 0s
 41050K .......... .......... .......... .......... .......... 74% 94.7M 0s
 41100K .......... .......... .......... .......... .......... 74% 68.8M 0s
 41150K .......... .......... .......... .......... .......... 74%  798K 0s
 41200K .......... .......... .......... .......... .......... 75% 81.2M 0s
 41250K .......... .......... .......... .......... .......... 75% 97.0M 0s
 41300K .......... .......... .......... .......... .......... 75%  171M 0s
 41350K .......... .......... .......... .......... .......... 75% 72.8M 0s
 41400K .......... .......... .......... .......... .......... 75%  291M 0s
 41450K .......... .......... .......... .......... .......... 75% 96.0M 0s
 41500K .......... .......... .......... .......... .......... 75% 98.3M 0s
 41550K .......... .......... .......... .......... .......... 75%  101M 0s
 41600K .......... .......... .......... .......... .......... 75% 97.4M 0s
 41650K .......... .......... .......... .......... .......... 75%  181M 0s
 41700K .......... .......... .......... .......... .......... 75% 99.7M 0s
 41750K .......... .......... .......... .......... .......... 76% 96.6M 0s
 41800K .......... .......... .......... .......... .......... 76%  176M 0s
 41850K .......... .......... .......... .......... .......... 76% 93.3M 0s
 41900K .......... .......... .......... .......... .......... 76% 94.5M 0s
 41950K .......... .......... .......... .......... .......... 76% 95.1M 0s
 42000K .......... .......... .......... .......... .......... 76%  182M 0s
 42050K .......... .......... .......... .......... .......... 76% 92.9M 0s
 42100K .......... .......... .......... .......... .......... 76% 97.5M 0s
 42150K .......... .......... .......... .......... .......... 76% 96.3M 0s
 42200K .......... .......... .......... .......... .......... 76%  178M 0s
 42250K .......... .......... .......... .......... .......... 76% 96.5M 0s
 42300K .......... .......... .......... .......... .......... 77% 98.6M 0s
 42350K .......... .......... .......... .......... .......... 77% 97.1M 0s
 42400K .......... .......... .......... .......... .......... 77% 92.2M 0s
 42450K .......... .......... .......... .......... .......... 77% 91.0M 0s
 42500K .......... .......... .......... .......... .......... 77%  176M 0s
 42550K .......... .......... .......... .......... .......... 77% 88.1M 0s
 42600K .......... .......... .......... .......... .......... 77%  128M 0s
 42650K .......... .......... .......... .......... .......... 77%  107M 0s
 42700K .......... .......... .......... .......... .......... 77% 95.6M 0s
 42750K .......... .......... .......... .......... .......... 77%  101M 0s
 42800K .......... .......... .......... .......... .......... 77% 33.6M 0s
 42850K .......... .......... .......... .......... .......... 78% 16.5M 0s
 42900K .......... .......... .......... .......... .......... 78%  115M 0s
 42950K .......... .......... .......... .......... .......... 78% 86.0M 0s
 43000K .......... .......... .......... .......... .......... 78%  118M 0s
 43050K .......... .......... .......... .......... .......... 78% 91.8M 0s
 43100K .......... .......... .......... .......... .......... 78% 80.0M 0s
 43150K .......... .......... .......... .......... .......... 78%  182M 0s
 43200K .......... .......... .......... .......... .......... 78% 96.7M 0s
 43250K .......... .......... .......... .......... .......... 78% 57.6M 0s
 43300K .......... .......... .......... .......... .......... 78% 74.9M 0s
 43350K .......... .......... .......... .......... .......... 78%  175M 0s
 43400K .......... .......... .......... .......... .......... 79%  102M 0s
 43450K .......... .......... .......... .......... .......... 79% 96.8M 0s
 43500K .......... .......... .......... .......... .......... 79% 98.3M 0s
 43550K .......... .......... .......... .......... .......... 79% 97.3M 0s
 43600K .......... .......... .......... .......... .......... 79%  172M 0s
 43650K .......... .......... .......... .......... .......... 79%  102M 0s
 43700K .......... .......... .......... .......... .......... 79% 95.6M 0s
 43750K .......... .......... .......... .......... .......... 79%  176M 0s
 43800K .......... .......... .......... .......... .......... 79%  101M 0s
 43850K .......... .......... .......... .......... .......... 79% 97.1M 0s
 43900K .......... .......... .......... .......... .......... 79% 98.0M 0s
 43950K .......... .......... .......... .......... .......... 80%  185M 0s
 44000K .......... .......... .......... .......... .......... 80% 97.0M 0s
 44050K .......... .......... .......... .......... .......... 80%  101M 0s
 44100K .......... .......... .......... .......... .......... 80% 94.9M 0s
 44150K .......... .......... .......... .......... .......... 80%  173M 0s
 44200K .......... .......... .......... .......... .......... 80% 99.9M 0s
 44250K .......... .......... .......... .......... .......... 80%  176M 0s
 44300K .......... .......... .......... .......... .......... 80% 67.9M 0s
 44350K .......... .......... .......... .......... .......... 80%  174M 0s
 44400K .......... .......... .......... .......... .......... 80%  101M 0s
 44450K .......... .......... .......... .......... .......... 80% 95.5M 0s
 44500K .......... .......... .......... .......... .......... 81% 45.6M 0s
 44550K .......... .......... .......... .......... .......... 81% 18.2M 0s
 44600K .......... .......... .......... .......... .......... 81%  136M 0s
 44650K .......... .......... .......... .......... .......... 81% 66.4M 0s
 44700K .......... .......... .......... .......... .......... 81% 87.0M 0s
 44750K .......... .......... .......... .......... .......... 81%  118M 0s
 44800K .......... .......... .......... .......... .......... 81%  107M 0s
 44850K .......... .......... .......... .......... .......... 81% 90.8M 0s
 44900K .......... .......... .......... .......... .......... 81%  107M 0s
 44950K .......... .......... .......... .......... .......... 81% 70.8M 0s
 45000K .......... .......... .......... .......... .......... 81% 52.8M 0s
 45050K .......... .......... .......... .......... .......... 82%  117M 0s
 45100K .......... .......... .......... .......... .......... 82% 65.6M 0s
 45150K .......... .......... .......... .......... .......... 82%  118M 0s
 45200K .......... .......... .......... .......... .......... 82%  105M 0s
 45250K .......... .......... .......... .......... .......... 82% 75.0M 0s
 45300K .......... .......... .......... .......... .......... 82%  799K 0s
 45350K .......... .......... .......... .......... .......... 82%  112M 0s
 45400K .......... .......... .......... .......... .......... 82%  146M 0s
 45450K .......... .......... .......... .......... .......... 82% 75.7M 0s
 45500K .......... .......... .......... .......... .......... 82% 72.7M 0s
 45550K .......... .......... .......... .......... .......... 82% 61.4M 0s
 45600K .......... .......... .......... .......... .......... 83%  561M 0s
 45650K .......... .......... .......... .......... .......... 83%  108M 0s
 45700K .......... .......... .......... .......... .......... 83% 95.9M 0s
 45750K .......... .......... .......... .......... .......... 83%  174M 0s
 45800K .......... .......... .......... .......... .......... 83% 88.9M 0s
 45850K .......... .......... .......... .......... .......... 83%  203M 0s
 45900K .......... .......... .......... .......... .......... 83% 93.6M 0s
 45950K .......... .......... .......... .......... .......... 83% 97.3M 0s
 46000K .......... .......... .......... .......... .......... 83% 99.8M 0s
 46050K .......... .......... .......... .......... .......... 83%  178M 0s
 46100K .......... .......... .......... .......... .......... 83% 93.4M 0s
 46150K .......... .......... .......... .......... .......... 84%  105M 0s
 46200K .......... .......... .......... .......... .......... 84%  166M 0s
 46250K .......... .......... .......... .......... .......... 84% 79.6M 0s
 46300K .......... .......... .......... .......... .......... 84%  116M 0s
 46350K .......... .......... .......... .......... .......... 84%  101M 0s
 46400K .......... .......... .......... .......... .......... 84% 92.8M 0s
 46450K .......... .......... .......... .......... .......... 84% 94.9M 0s
 46500K .......... .......... .......... .......... .......... 84%  140M 0s
 46550K .......... .......... .......... .......... .......... 84% 93.5M 0s
 46600K .......... .......... .......... .......... .......... 84%  105M 0s
 46650K .......... .......... .......... .......... .......... 84%  175M 0s
 46700K .......... .......... .......... .......... .......... 85% 67.2M 0s
 46750K .......... .......... .......... .......... .......... 85%  172M 0s
 46800K .......... .......... .......... .......... .......... 85% 99.1M 0s
 46850K .......... .......... .......... .......... .......... 85%  100M 0s
 46900K .......... .......... .......... .......... .......... 85% 93.7M 0s
 46950K .......... .......... .......... .......... .......... 85% 28.7M 0s
 47000K .......... .......... .......... .......... .......... 85% 19.8M 0s
 47050K .......... .......... .......... .......... .......... 85%  105M 0s
 47100K .......... .......... .......... .......... .......... 85% 40.0M 0s
 47150K .......... .......... .......... .......... .......... 85% 77.4M 0s
 47200K .......... .......... .......... .......... .......... 85%  116M 0s
 47250K .......... .......... .......... .......... .......... 86%  119M 0s
 47300K .......... .......... .......... .......... .......... 86%  116M 0s
 47350K .......... .......... .......... .......... .......... 86%  119M 0s
 47400K .......... .......... .......... .......... .......... 86%  110M 0s
 47450K .......... .......... .......... .......... .......... 86%  118M 0s
 47500K .......... .......... .......... .......... .......... 86% 87.1M 0s
 47550K .......... .......... .......... .......... .......... 86%  118M 0s
 47600K .......... .......... .......... .......... .......... 86%  117M 0s
 47650K .......... .......... .......... .......... .......... 86%  118M 0s
 47700K .......... .......... .......... .......... .......... 86%  117M 0s
 47750K .......... .......... .......... .......... .......... 86%  104M 0s
 47800K .......... .......... .......... .......... .......... 87% 98.7M 0s
 47850K .......... .......... .......... .......... .......... 87%  118M 0s
 47900K .......... .......... .......... .......... .......... 87% 87.4M 0s
 47950K .......... .......... .......... .......... .......... 87%  107M 0s
 48000K .......... .......... .......... .......... .......... 87%  108M 0s
 48050K .......... .......... .......... .......... .......... 87% 98.5M 0s
 48100K .......... .......... .......... .......... .......... 87% 98.7M 0s
 48150K .......... .......... .......... .......... .......... 87% 89.8M 0s
 48200K .......... .......... .......... .......... .......... 87% 97.7M 0s
 48250K .......... .......... .......... .......... .......... 87%  178M 0s
 48300K .......... .......... .......... .......... .......... 87% 98.9M 0s
 48350K .......... .......... .......... .......... .......... 88% 95.5M 0s
 48400K .......... .......... .......... .......... .......... 88%  174M 0s
 48450K .......... .......... .......... .......... .......... 88% 99.2M 0s
 48500K .......... .......... .......... .......... .......... 88% 64.3M 0s
 48550K .......... .......... .......... .......... .......... 88%  180M 0s
 48600K .......... .......... .......... .......... .......... 88%  100M 0s
 48650K .......... .......... .......... .......... .......... 88% 22.5M 0s
 48700K .......... .......... .......... .......... .......... 88% 35.0M 0s
 48750K .......... .......... .......... .......... .......... 88% 75.5M 0s
 48800K .......... .......... .......... .......... .......... 88% 41.2M 0s
 48850K .......... .......... .......... .......... .......... 88%  239M 0s
 48900K .......... .......... .......... .......... .......... 89% 62.2M 0s
 48950K .......... .......... .......... .......... .......... 89%  186M 0s
 49000K .......... .......... .......... .......... .......... 89%  102M 0s
 49050K .......... .......... .......... .......... .......... 89% 96.4M 0s
 49100K .......... .......... .......... .......... .......... 89% 97.3M 0s
 49150K .......... .......... .......... .......... .......... 89%  180M 0s
 49200K .......... .......... .......... .......... .......... 89% 96.9M 0s
 49250K .......... .......... .......... .......... .......... 89%  101M 0s
 49300K .......... .......... .......... .......... .......... 89% 89.2M 0s
 49350K .......... .......... .......... .......... .......... 89%  110M 0s
 49400K .......... .......... .......... .......... .......... 89%  786K 0s
 49450K .......... .......... .......... .......... .......... 90%  222M 0s
 49500K .......... .......... .......... .......... .......... 90% 83.7M 0s
 49550K .......... .......... .......... .......... .......... 90%  206M 0s
 49600K .......... .......... .......... .......... .......... 90% 93.5M 0s
 49650K .......... .......... .......... .......... .......... 90%  183M 0s
 49700K .......... .......... .......... .......... .......... 90% 97.0M 0s
 49750K .......... .......... .......... .......... .......... 90%  100M 0s
 49800K .......... .......... .......... .......... .......... 90% 98.0M 0s
 49850K .......... .......... .......... .......... .......... 90% 96.2M 0s
 49900K .......... .......... .......... .......... .......... 90%  181M 0s
 49950K .......... .......... .......... .......... .......... 90%  101M 0s
 50000K .......... .......... .......... .......... .......... 91% 94.6M 0s
 50050K .......... .......... .......... .......... .......... 91%  179M 0s
 50100K .......... .......... .......... .......... .......... 91%  101M 0s
 50150K .......... .......... .......... .......... .......... 91% 97.9M 0s
 50200K .......... .......... .......... .......... .......... 91% 98.5M 0s
 50250K .......... .......... .......... .......... .......... 91% 94.9M 0s
 50300K .......... .......... .......... .......... .......... 91%  159M 0s
 50350K .......... .......... .......... .......... .......... 91%  101M 0s
 50400K .......... .......... .......... .......... .......... 91%  175M 0s
 50450K .......... .......... .......... .......... .......... 91% 96.0M 0s
 50500K .......... .......... .......... .......... .......... 91% 98.4M 0s
 50550K .......... .......... .......... .......... .......... 92% 96.5M 0s
 50600K .......... .......... .......... .......... .......... 92% 90.4M 0s
 50650K .......... .......... .......... .......... .......... 92%  107M 0s
 50700K .......... .......... .......... .......... .......... 92%  168M 0s
 50750K .......... .......... .......... .......... .......... 92% 98.7M 0s
 50800K .......... .......... .......... .......... .......... 92% 95.9M 0s
 50850K .......... .......... .......... .......... .......... 92%  182M 0s
 50900K .......... .......... .......... .......... .......... 92% 67.6M 0s
 50950K .......... .......... .......... .......... .......... 92%  173M 0s
 51000K .......... .......... .......... .......... .......... 92% 33.7M 0s
 51050K .......... .......... .......... .......... .......... 92% 58.5M 0s
 51100K .......... .......... .......... .......... .......... 93% 16.1M 0s
 51150K .......... .......... .......... .......... .......... 93%  172M 0s
 51200K .......... .......... .......... .......... .......... 93%  101M 0s
 51250K .......... .......... .......... .......... .......... 93% 98.9M 0s
 51300K .......... .......... .......... .......... .......... 93% 98.6M 0s
 51350K .......... .......... .......... .......... .......... 93% 97.1M 0s
 51400K .......... .......... .......... .......... .......... 93%  181M 0s
 51450K .......... .......... .......... .......... .......... 93% 97.7M 0s
 51500K .......... .......... .......... .......... .......... 93% 98.1M 0s
 51550K .......... .......... .......... .......... .......... 93%  180M 0s
 51600K .......... .......... .......... .......... .......... 93%  101M 0s
 51650K .......... .......... .......... .......... .......... 94% 91.6M 0s
 51700K .......... .......... .......... .......... .......... 94% 64.6M 0s
 51750K .......... .......... .......... .......... .......... 94%  175M 0s
 51800K .......... .......... .......... .......... .......... 94%  100M 0s
 51850K .......... .......... .......... .......... .......... 94% 98.9M 0s
 51900K .......... .......... .......... .......... .......... 94% 92.9M 0s
 51950K .......... .......... .......... .......... .......... 94%  176M 0s
 52000K .......... .......... .......... .......... .......... 94%  101M 0s
 52050K .......... .......... .......... .......... .......... 94% 96.7M 0s
 52100K .......... .......... .......... .......... .......... 94% 98.7M 0s
 52150K .......... .......... .......... .......... .......... 94%  177M 0s
 52200K .......... .......... .......... .......... .......... 95% 96.2M 0s
 52250K .......... .......... .......... .......... .......... 95%  100M 0s
 52300K .......... .......... .......... .......... .......... 95%  172M 0s
 52350K .......... .......... .......... .......... .......... 95% 97.6M 0s
 52400K .......... .......... .......... .......... .......... 95%  101M 0s
 52450K .......... .......... .......... .......... .......... 95% 95.9M 0s
 52500K .......... .......... .......... .......... .......... 95% 96.0M 0s
 52550K .......... .......... .......... .......... .......... 95% 93.6M 0s
 52600K .......... .......... .......... .......... .......... 95%  178M 0s
 52650K .......... .......... .......... .......... .......... 95% 94.5M 0s
 52700K .......... .......... .......... .......... .......... 95% 39.9M 0s
 52750K .......... .......... .......... .......... .......... 96%  122M 0s
 52800K .......... .......... .......... .......... .......... 96% 17.2M 0s
 52850K .......... .......... .......... .......... .......... 96% 82.5M 0s
 52900K .......... .......... .......... .......... .......... 96% 87.6M 0s
 52950K .......... .......... .......... .......... .......... 96%  107M 0s
 53000K .......... .......... .......... .......... .......... 96%  118M 0s
 53050K .......... .......... .......... .......... .......... 96% 89.2M 0s
 53100K .......... .......... .......... .......... .......... 96% 97.2M 0s
 53150K .......... .......... .......... .......... .......... 96% 95.8M 0s
 53200K .......... .......... .......... .......... .......... 96%  178M 0s
 53250K .......... .......... .......... .......... .......... 96%  101M 0s
 53300K .......... .......... .......... .......... .......... 97% 83.0M 0s
 53350K .......... .......... .......... .......... .......... 97%  206M 0s
 53400K .......... .......... .......... .......... .......... 97% 54.9M 0s
 53450K .......... .......... .......... .......... .......... 97%  208M 0s
 53500K .......... .......... .......... .......... .......... 97%  783K 0s
 53550K .......... .......... .......... .......... .......... 97% 75.1M 0s
 53600K .......... .......... .......... .......... .......... 97%  143M 0s
 53650K .......... .......... .......... .......... .......... 97%  128M 0s
 53700K .......... .......... .......... .......... .......... 97% 96.0M 0s
 53750K .......... .......... .......... .......... .......... 97%  178M 0s
 53800K .......... .......... .......... .......... .......... 97% 94.7M 0s
 53850K .......... .......... .......... .......... .......... 98% 84.3M 0s
 53900K .......... .......... .......... .......... .......... 98% 97.0M 0s
 53950K .......... .......... .......... .......... .......... 98%  104M 0s
 54000K .......... .......... .......... .......... .......... 98% 97.8M 0s
 54050K .......... .......... .......... .......... .......... 98%  173M 0s
 54100K .......... .......... .......... .......... .......... 98% 98.2M 0s
 54150K .......... .......... .......... .......... .......... 98% 98.4M 0s
 54200K .......... .......... .......... .......... .......... 98%  183M 0s
 54250K .......... .......... .......... .......... .......... 98%  101M 0s
 54300K .......... .......... .......... .......... .......... 98% 92.8M 0s
 54350K .......... .......... .......... .......... .......... 98%  103M 0s
 54400K .......... .......... .......... .......... .......... 99%  176M 0s
 54450K .......... .......... .......... .......... .......... 99% 98.0M 0s
 54500K .......... .......... .......... .......... .......... 99% 99.8M 0s
 54550K .......... .......... .......... .......... .......... 99%  176M 0s
 54600K .......... .......... .......... .......... .......... 99% 78.2M 0s
 54650K .......... .......... .......... .......... .......... 99%  112M 0s
 54700K .......... .......... .......... .......... .......... 99% 98.2M 0s
 54750K .......... .......... .......... .......... .......... 99% 97.3M 0s
 54800K .......... .......... .......... .......... .......... 99%  174M 0s
 54850K .......... .......... .......... .......... .......... 99%  101M 0s
 54900K .......... .......... .......... .......... .......... 99% 93.9M 0s
 54950K .......... .......... ..........                      100%  867M=1.4s

2024-05-05 09:56:24 (37.9 MB/s) - 'buildx-v0.14.0.linux-amd64' saved [56299520/56299520]

docker-in-docker-debian script has completed!
#2: Taking snapshot of files...
#2: USER coder
#2: Cmd: USER
#2: 🏗️ Built image! [2m3.895012704s]
#3: 🔄 Updating the ownership of the workspace...
#3: 👤 Updated the ownership of the workspace! [26.029046ms]
=== Running the init command /bin/sh [-c bash] as the "coder" user...
coder@35449d588c56:/workspaces/coder$ ~docker
bash: ~docker: command not found
coder@35449d588c56:/workspaces/coder$
coder@35449d588c56:/workspaces/coder$ docker

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  build       Build an image from a Dockerfile
  pull        Download an image from a registry
  push        Upload an image to a registry
  images      List images
  login       Log in to a registry
  logout      Log out from a registry
  search      Search Docker Hub for images
  version     Show the Docker version information
  info        Display system-wide information

Management Commands:
  builder     Manage builds
  buildx*     Docker Buildx
  checkpoint  Manage checkpoints
  compose*    Docker Compose
  container   Manage containers
  context     Manage contexts
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  plugin      Manage plugins
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Swarm Commands:
  config      Manage Swarm configs
  node        Manage Swarm nodes
  secret      Manage Swarm secrets
  service     Manage Swarm services
  stack       Manage Swarm stacks
  swarm       Manage Swarm

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  import      Import the contents from a tarball to create a filesystem image
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

Global Options:
      --config string      Location of client config files (default "/.envbuilder")
  -c, --context string     Name of the context to use to connect to the daemon (overrides
                           DOCKER_HOST env var and default context set with "docker
                           context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket to connect to
  -l, --log-level string   Set the logging level ("debug", "info", "warn", "error",
                           "fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/.envbuilder/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/.envbuilder/cert.pem")
      --tlskey string      Path to TLS key file (default "/.envbuilder/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Run 'docker COMMAND --help' for more information on a command.

For more help on how to use Docker, head to https://docs.docker.com/go/guides/
coder@35449d588c56:/workspaces/coder$ docker info
Client: Docker Engine - Community
 Version:    26.1.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.14.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.27.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
coder@35449d588c56:/workspaces/coder$ docker version
Client: Docker Engine - Community
 Version:           26.1.0
 API version:       1.45
 Go version:        go1.21.9
 Git commit:        9714adc
 Built:             Mon Apr 22 17:06:41 2024
 OS/Arch:           linux/amd64
 Context:           default
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
coder@35449d588c56:/workspaces/coder$

Expecting that VSCode plugins will be automatically installed

When using devcontainers in the VSCode desktop application, it installs extensions based on the customizations.vscode.extensions file. It is hoped that this behavior can be consistent with the desktop version, or that a separate setting option can be added.

Dockerfile ARG replacement doesnt remove quotes from strings

If you build a Dockerfile in your devcontainer.json that includes the following code:

ARG VARIANT="3.10"
FROM mcr.microsoft.com/devcontainers/python:0-${VARIANT}

or something similar where a string is used with quotes then you get the following error:
error: compile devcontainer.json: parse image from dockerfile: parse image ref "mcr.microsoft.com/devcontainers/python:0-${VARIANT}\r": could not parse reference: mcr.microsoft.com/devcontainers/python:0-"3.10"

envbuilder support for build-time secrets is undocumented

There doesn't seem to be any way to pass build-time secrets when using envbuilder, leaving me with no straight-forward option to include any Dockerfile with commands similar to:

RUN --mount=type=secret,id=test-token poetry config http-basic.test-token-pypi gitlab-ci-token $(cat /run/secrets/test-token)

I'd be willing to drop a patch for this, but I'm curious to hear opinions on whether or not this is something envbuilder can support without violating its design principles.

Feature: Support for configuring http proxy

Via my coder workspace template, i can set the http proxy via:

  • git config --global http.proxy http://mycorpproxy:8080/

However envbuilder does not seem to honor this setting.

I have a PR that allow for this to be set via environment variable GIT_HTTP_PROXY_URL

use FALLBACK_IMAGE when no devcontainer specified

We currently have FALLBACK_IMAGE. If an devcontainer is not specified, we should also support a KITCHENSINK_IMAGE (or use the fallback image for this too). Then, an admin can maintain an image that works in "most" cases.

Do not pass techinal ENVs to user

For example, env DOCKER_CONFIG passed to userspace and broke docker build command:

docker run --rm -it -e INIT_SCRIPT='echo $DOCKER_CONFIG' -e GIT_URL=https://github.com/coder/envbuilder.git ghcr.io/coder/envbuilder
...
/.envbuilder

cannot unmarshal string into Go struct field Spec.features of type map[string]interface {}

I am trying the example template for devcontainers in Coder, and one of the options is the repository of vercel/next.js. However, when I use that example, I get this error:

#1: 📦 Cloning https://github.com/vercel/next.js to /workspaces/next.js...
#1: 📦 The repository already exists! [11.806867ms]
Failed to parse devcontainer.json: json: cannot unmarshal string into Go struct field Spec.features of type map[string]interface {}
Falling back to the default image...

Is this something on the envbuilder side or something on the next.js side?

It doesn't affect me really because it was just an example to get things running, but thought it was worth posting it here in case it's something on the envbuilder side.

Confusion regarding cloning repositories

can understand that currently, Coder’s purpose with devcontainers is to clone the team’s repository and set up the environment following the .devcontainer settings, hence cloning the .git folder as well. However, some dev container templates, such as the typescript-node one, are maintained in subdirectories under https://github.com/devcontainers/templates. How should these be handled? If cloning these devcontainer templates, it seems it should not include the .git folder.

Deal with devcontainer.json "liberties"

It looks like envbuilder's json parser is not okay with trailing , in arrays, or json comments. Not sure what can be done with this, as I assume its using a 3rd party parser that might not support vscode's liberties taken with json.

Doesn't work if there is no main branch

docker run -it --rm -e GIT_URL=https://github.com/vercel/next.js ghcr.io/coder/envbuilder:0.0.2
envbuilder - Build development environments from repositories in a container
#1: 📦 Cloning https://github.com/vercel/next.js to /workspaces/next.js...
Error: clone "https://github.com/vercel/next.js": couldn't find remote ref "refs/heads/main"
error: clone "https://github.com/vercel/next.js": couldn't find remote ref "refs/heads/main"

Trying to build from Gitea / Forgejo fails with `authentication required`

Hello everyone,

I have a public repository on an installation of Forgejo (a fork of Gitea), and if I try to use envbuilder to build from the URL of this repository I get the following output under Coder:

envbuilder - Build development environments from repositories in a container
#1: 📦 Cloning https://git.1in9.net/raider/wroofauth to /workspaces/wroofauth...
Failed to clone repository: clone "https://git.1in9.net/raider/wroofauth": authentication required
Falling back to the default image...
#2: Deleting filesystem...
#2: 🏗️ Building image...
[...]

Cloning with a normal git client works fine. Adding the ".git" at the end of the URL has no effect.

Feel free to reproduce this using my repo at https://git.1in9.net/raider/wroofauth

Kind regards,
Kevin

Example: Using `devcontainer.json` to influence a Coder (Terraform) template

Note

I'm not sure how realistic this is, or whether it should be out of scope envbuilder as it's likely a Terraform provider/Coder feature. However, this is a somewhat common use case. It may not be a good fit for envbuilder v1.0 but worth discussing

Since envbuilder is a container image, it cannot influence the underlying infrastructure it can be provisioned on. However some Dev Container features do have support for additional infrastructure layers. Can we provide an example of how a Coder template can read a devcontainer.json and then influence the template? We have some customers doing this today with a custom coder.yaml

Example: Kubernetes Volume Mounts

# The jank approach (pseudocode, untested)
data "http" "devcontainer_contents" {
  url = "${var.git_repo}/${var.git_branch}/.devcontainer/devcontainer.json"

  request_headers = {
    Accept = "application/vnd.github.v3.raw"
  }
}

locals {
  # Attempt to parse mounts from the devcontainer JSON
  parsed_mounts = try(jsondecode(data.http.devcontainer_contents.body).mounts, [])
  
  # Use a default mount if no mounts are specified or if the mounts key doesn't exist
  mounts = length(local.parsed_mounts) > 0 ? local.parsed_mounts : ["source=workspace,target=/workspaces,type=volume"]
  
  # Extracting target paths for PVC creation and Pod mounts
  target_paths = [for m in local.mounts : split(",", m)[1]]
  target_path_names = { for m in local.target_paths : split("=", m)[1] => split("=", m)[1] }
}

resource "kubernetes_persistent_volume_claim" "pvc" {
  for_each = local.target_path_names

  metadata {
    name = "pvc-${replace(each.value, "/", "-")}"
  }

  spec {
    access_modes = ["ReadWriteOnce"]
    resources {
      requests = {
        storage = "1Gi"
      }
    }
  }
}

resource "kubernetes_pod" "example" {
  metadata {
    name = "example-pod"
  }

  spec {
    container {
      image = "nginx"
      name  = "example"

      volume_mount {
        for_each = local.target_path_names
        name     = "pvc-${replace(each.value, "/", "-")}"
        mount_path = each.value
      }
    }

    volume {
      for_each = local.target_path_names
      name = "pvc-${replace(each.value, "/", "-")}"

      persistent_volume_claim {
        claim_name = "pvc-${replace(each.value, "/", "-")}"
      }
    }
  }
}
 image = "nginx"
      name  = "example"

      volume_mount {
        for_each = local.target_path_names
        name     = "pvc-${replace(each.value, "/", "-")}"
        mount_path = each.value
      }
    }

    volume {
      for_each = local.target_path_names
      name = "pvc-${replace(each.value, "/", "-")}"

      persistent_volume_claim {
        claim_name = "pvc-${replace(each.value, "/", "-")}"
      }
    }
  }
}

Option 2: TF Provider

The Coder server reads the devcontainer.json and passes data via a Terraform data source. This is related to coder/coder#8462.

Option 3: envbuilder + docker on a VM

If envbuilder runs on a VM, it could realistically do significantly more such as create Docker volumes as well as run a container.

Use a specific branch with `GIT_URL`

It would be nice if we could use a specific branch
e.g.

docker run -it --rm \
    -v /tmp/envbuilder:/workspaces \
    -e GIT_URL=https://github.com/coder/coder/tree/matifali/devcontainer \
    -e INIT_SCRIPT=bash \
    ghcr.io/coder/envbuilder

`postCreateCommand` does not execute

Dev containers support a postCreateCommand parameter, to execute commands once the devcontainer is rebuilt:

"postCreateCommand": "bash scripts/install-dependencies.sh"

this is not run when using envbuilder:latest

SSH repositories fail to configure with coder

If I try to use a private git repository over SSH I see the following error:

envbuilder - Build development environments from repositories in a container
#1: 📦 Cloning ssh://[email protected]/hive-io/hive-rest.git to /workspaces/hive-rest.git...
Failed to clone repository: clone "ssh://[email protected]/hive-io/hive-rest.git": error creating SSH agent: "SSH agent requested but SSH_AUTH_SOCK not-specified"
Falling back to the default image...
#2: 🏗️ Building image...
#2: Retrieving image manifest codercom/enterprise-base:ubuntu
#2: Retrieving image codercom/enterprise-base:ubuntu from registry index.docker.io
#2: Built cross stage deps: map[]

I didn't see a way to configure that to use the built in SSH key provided by coder. Is there a missing setting?

envbuilder don't recognize "dockerComposeFile" param

Hi! My devcontainer.json looks like this:

{
  "name": "keycrm",
  "dockerComposeFile": [
    "../example.docker-compose.yml"
  ],
  "service": "app",
  "services": ["app", "db"],
  "forwardPorts": [80],
  "postAttachCommand": "service apache2 start",
  "extensions": [
    "felixfbecker.php-pack",
    "cweijan.vscode-mysql-client2"
  ]
}

and coder don't recognize "dockerComposeFile" option. It's described in devcontainer.json schema, and supported by my IDE (phpstorm) as well. But when I'm trying to create a workspace with such devcontainer it usually fallback to default image.
So, maybee in future, would envbuilder support docker-compose files to build, or I'm using it in wrong way? I'm trying to make developer's workspace with standalone environment, but creating only "app" is not enough in case of no DB.

Fails to parse Dockerfile base image when using stages

Problem

When envbuilder tries to build a Dockerfile that uses FROM <image> AS <stage> notation envbuilder errors parsing the base image

EXAMPLE 1

Dockerfile:

FROM public.ecr.aws/docker/library/python:3.10-slim AS base

Envbuilder error:

error: compile devcontainer.json: parse image from dockerfile: parse image ref "public.ecr.aws/docker/library/python:3.10-slim AS base": could not parse reference: public.ecr.aws/docker/library/python:3.10-slim AS base

EXAMPLE 2

Dockerfile:

FROM public.ecr.aws/docker/library/rust:1.73-bullseye@sha256:fbc99ade5c476a8d602192a1bf8d50ae3361469c160d55a34379905ad4f82ae5 as base

Envbuilder error:

error: compile devcontainer.json: get user from image: fetch image index.docker.io/library/base:latest: GET https://index.docker.io/v2/library/base/manifests/latest: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/base Type:repository]]

Solution

Envbuilder should understand the FROM <image> AS <stage> notation

Populate vscode specific configurations

The devcontainer spec has a section that covers the support of VS Code specific properties. I am not sure how reasonable the customizations.vscode.settings are for the remote since those are stored in a local user session. (In the case of coder could be in a different volume). This might actually be a better issue for them to solve on that side then. If that is your opinion please feel free to close this issue and I will move it to the coder project.

No cache hits with envbuilder despite setting CACHE_REPO

I am using coder with envbuilder but I seem to be getting 0 cache hits even when restarting the same workspace with 0 changes. I have configured CACHE_REPO to use an empty AWS ECR image repository and I see evbuilder successfully checking for caches and, supposedly, pushing layers as well:

#1: 📦 Cloned repository! [46.039909689s]
#2: Deleting filesystem...
#2: 🏗️ Building image...
#2: Using dockerignore file: /workspaces/project/.dockerignore
#2: Retrieving image manifest python:3.9-slim
#2: Retrieving image python:3.9-slim from registry index.docker.io
#2: Built cross stage deps: map[]
#2: Retrieving image manifest python:3.9-slim
#2: Returning cached image manifest
#2: Executing 0 build triggers
#2: Building stage 'python:3.9-slim' [idx: '0', base-idx: '-1']
#2: Checking for cached layer MYREMOTERPEO/image:d00475f8d556bc445027bebba8d27c1a4efb356acab9e5ecc8aa4b18719d9f6f...
...
#2: Taking snapshot of files...
#2: Pushing layer MYREMOTERPEO/image:d00475f8d556bc445027bebba8d27c1a4efb356acab9e5ecc8aa4b18719d9f6f to cache now
...

Every single Dockerfile step is ran even though I seem to be pushing layers to the cache repo every image build. Am I missing anything?

Support for VS Code Extensions

The devcontainer spec supports pre-installing VS Code extensions. Could we support this with the code-server CLI (or even the official vscode-server for Remote SSH)?

This came up from a prospect at Kubecon

doesn't work for dogfood

docker run -it --rm -e GIT_URL=https://github.com/coder/coder ghcr.io/coder/envbuilder:0.0.2
Unable to find image 'ghcr.io/coder/envbuilder:0.0.2' locally
0.0.2: Pulling from coder/envbuilder
5a01522056df: Pull complete
Digest: sha256:297b708adcdc5895695b20c6839994ce2986a6820809daf704b9e6d96bb7bd17
Status: Downloaded newer image for ghcr.io/coder/envbuilder:0.0.2
envbuilder - Build development environments from repositories in a container
#1: 📦 Cloning https://github.com/coder/coder to /workspaces/coder...
#1: Enumerating objects: 6492, done.
Counting objects: 100% (6492/6492), done.
Compressing objects: 100% (6204/6204), done.
#1: Total 6492 (delta 268), reused 5322 (delta 180), pack-reused 0
#1: 📦 Cloned repository! [6240ms]
#2: 🏗️ Building image...
#2: 🏗️ Built image! [0ms]
Error: reading dockerfile at path /workspaces/coder/.devcontainer: read /workspaces/coder/.devcontainer: is a directory
error: reading dockerfile at path /workspaces/coder/.devcontainer: read /workspaces/coder/.devcontainer: is a directory

workspace file permissions incorrect from COPY instruction

Files being added to the workspace via COPY and ADD instructions in the dockerfile will end up with the original permissions from the workspace mount, not the correct default root:root file ownership.

Note this is only when used with docker on Linux.

Here is a simple reproduction:

$ cat .devcontainer/devcontainer.json
{"build":{"dockerfile":"Dockerfile"}}
$ cat .devcontainer/Dockerfile
FROM ubuntu
COPY files /files
RUN find /files -ls
$ docker run --rm -e WORKSPACE_FOLDER=/workspace -e INIT_SCRIPT=/bin/true -v $(pwd):/workspace ghcr.io/coder/envbuilder
...
#2: Running: [/bin/sh -c find /files -ls]
 18395960      4 drwxr-xr-x   2 1000     1000         4096 Dec 17 01:18 /files
 18395961      0 -rw-r--r--   1 1000     1000            0 Dec 17 01:17 /files/some.txt

From the Dockerfile spec:

All new files and directories are created with a UID and GID of 0.

Likely caused by bug in Kaniko GoogleContainerTools/kaniko#2850

The current hacky work-around is to force the --chown:

COPY --chown=0:0 files /files

Which seems to do the "right" thing:

#2: Running: [/bin/sh -c find /files -ls]
 18395960      4 drwxr-xr-x   2 root     root         4096 Dec 17 01:23 /files
 18395961      0 -rw-r--r--   1 root     root            0 Dec 17 01:23 /files/some.txt

Envbuilder does not run in a sysbox container

Envbuilder fails if it runs using the sysbox container runtime. This is unfortunate because sysbox is neccessary to run k3s or docker within a workspace.

The issue is described already in the kaniko project: GoogleContainerTools/kaniko#2144 and the sysbox project: nestybox/sysbox#564

There are also workarounds proposed (like unmounting the offending mountpoint or mounting something empty over it). As envbuilder uses kaniko internally, but the image lacks the userland for the workarounds I think, it should also implement the workaround for convenience.

Another option is to attach an empty volume from the outside to the container, but this is difficult to implement in a terraform manifest as the target of the mountpoint is dependend on the running kernel of the host - and the provisioner does not have this information available.

Add Support for DevFile Spec 2+

What is devfiles?

"You can use devfiles to automate and simplify your development process by adopting the existing devfiles that are available in the public community registry or by authoring your own devfiles to record custom instructions to configure and run your build environment as a YAML-formatted text file." - See https://devfile.io/docs/2.2.2/what-is-a-devfile

Benefits of devfile

Much like the devcontainer spec, devfile spec has a number of features.

Devfiles include the following features:

  • Guidance for using runtime images
  • Example code
  • Build and CI commands
  • Deployment options

Devfiles have the following benefits:

  • Reduce the gap between development and deployment
  • Find available devfile stacks or samples in a devfile registry
  • Produce consistent build and run behaviors

Main benefits from these that differ from devcontainer are:

  • Not limited to vscode
  • Has a catalog of defined templates
  • Includes support for starter projects, so bluepints can be built into the spec.
  • Interoperability with OpenShift and Gitlab workspaces
  • Multi-container development environments (which would be beyond the spec of envbuilder but maybe more for coder as a product)

AI Generated differents

The devfile spec is a vendor-neutral definition for cloud-native dev workspaces, whereas the devcontainer spec is a Docker extension that aims to simplify local development.

  • Devfile
    • Describes the structure of a cloud-native devworkspace and development environment.
    • Can be used to define and manage dev workspaces in any cloud environment.
    • Supports a wider range of features, including:
      • Multi-container development environments
      • Kubernetes-based deployments
      • Support for multiple projects and starter projects
      • Pluggable tooling integrations
  • Devcontainer
    • Focused on providing a simple and consistent way to define and manage local development environments for Docker containers.
    • Supports a more limited range of features, including:
      • Single-container development environments
      • Docker-based deployments
      • Basic support for project syncing and environment variables
    • Typically used for local development on a single machine, not for managing dev workspaces in a cloud environment.

Some examples

Java Spring Boot

schemaVersion: 2.1.0
metadata:
  name: java-springboot
  displayName: Spring Boot®
  description: Java application using Spring Boot® and OpenJDK 11
  icon: https://raw.githubusercontent.com/devfile-samples/devfile-stack-icons/main/spring.svg
  tags:
    - Java
    - Spring
  projectType: springboot
  language: Java
  version: 1.3.0
  globalMemoryLimit: 2674Mi
starterProjects:
  - name: springbootproject
    git:
      remotes:
        origin: "https://github.com/odo-devfiles/springboot-ex.git"
components:
  - name: tools
    container:
      image: registry.access.redhat.com/ubi9/openjdk-17:1.17-1.1705573248
      command: ["tail", "-f", "/dev/null"]
      memoryLimit: 768Mi
      mountSources: true
      endpoints:
        - name: http-springboot
          targetPort: 8080
        - exposure: none
          name: debug
          targetPort: 5858
      volumeMounts:
        - name: m2
          path: /home/user/.m2
      env:
        - name: DEBUG_PORT
          value: "5858"
  - name: m2
    volume:
      size: 3Gi
commands:
  - id: build
    exec:
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "mvn clean -Dmaven.repo.local=/home/user/.m2/repository package -Dmaven.test.skip=true"
      group:
        kind: build
        isDefault: true
  - id: run
    exec:
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "mvn -Dmaven.repo.local=/home/user/.m2/repository spring-boot:run"
      group:
        kind: run
        isDefault: true
  - id: debug
    exec:
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=${DEBUG_PORT},suspend=n -jar target/*.jar"
      group:
        kind: debug
        isDefault: true

NextJS project

schemaVersion: 2.1.0
metadata:
  name: nodejs-nextjs
  displayName: Next.js
  description: "Next.js gives you the best developer experience with all the features you need for production:
    hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more.
    No config needed."
  icon: https://raw.githubusercontent.com/devfile-samples/devfile-stack-icons/main/next-js.svg
  tags:
    - Node.js
    - Next.js
  projectType: Next.js
  language: TypeScript
  provider: Red Hat
  version: 1.0.3
starterProjects:
  - name: nodejs-nextjs-starter
    git:
      checkoutFrom:
        revision: main
      remotes:
        origin: https://github.com/devfile-samples/devfile-stack-nodejs-nextjs.git
components:
  - container:
      endpoints:
        - name: http-nextjs
          targetPort: 3000
      image: registry.access.redhat.com/ubi8/nodejs-16:1-153
      command: ['tail', '-f', '/dev/null']
      memoryLimit: 1024Mi
    name: runtime
commands:
  - exec:
      commandLine: npm install
      component: runtime
      group:
        isDefault: true
        kind: build
      workingDir: ${PROJECT_SOURCE}
    id: install
  - exec:
      commandLine: npm run dev
      component: runtime
      group:
        isDefault: true
        kind: run
      hotReloadCapable: true
      workingDir: ${PROJECT_SOURCE}
    id: run

DotNet project

schemaVersion: 2.2.0
metadata:
  name: dotnet-basic
  displayName: Basic .NET
  version: 1.1.1
  icon: https://github.com/dotnet/brand/raw/main/logo/dotnet-logo.png
  provider: Red Hat
  supportUrl: https://github.com/devfile-samples/devfile-support#support-information
  language: .NET
  projectType: dotnet
  tags:
    - .NET
  attributes:
    alpha.dockerimage-port: 8081
starterProjects:
  - name: s2i-example
    git:
      checkoutFrom:
        remote: origin
        revision: dotnet-6.0
      remotes:
        origin: https://github.com/redhat-developer/s2i-dotnetcore-ex
    subDir: app
components:
  - name: dotnet
    container:
      image: registry.access.redhat.com/ubi8/dotnet-60:6.0
      command: ['tail', '-f', '/dev/null']
      mountSources: true
      env:
        - name: CONFIGURATION
          value: Debug
        - name: STARTUP_PROJECT
          value: app.csproj
        - name: ASPNETCORE_ENVIRONMENT
          value: Development
      endpoints:
        - name: http-8080
          targetPort: 8080
  - name: image-build
    image:
      imageName: 'dotnet-image:latest'
      dockerfile:
        uri: docker/Dockerfile
        buildContext: .
        rootRequired: false
  - name: kubernetes-deploy
    attributes:
      deployment/replicas: 1
      deployment/cpuRequest: 10m
      deployment/memoryRequest: 100Mi
      deployment/container-port: 8081
    kubernetes:
      uri: kubernetes/deployment.yaml
      endpoints:
        - name: http-8081
          targetPort: 8081
          path: /
          secure: true
  - name: kubernetes-service
    attributes:
      deployment/replicas: 1
      deployment/cpuRequest: 10m
      deployment/memoryRequest: 100Mi
      deployment/container-port: 8081
    kubernetes:
      uri: kubernetes/service.yaml
commands:
  - id: build
    exec:
      workingDir: ${PROJECT_SOURCE}
      commandLine: kill $(pidof dotnet); dotnet build -c $CONFIGURATION $STARTUP_PROJECT /p:UseSharedCompilation=false
      component: dotnet
      group:
        isDefault: true
        kind: build
  - id: run
    exec:
      workingDir: ${PROJECT_SOURCE}
      commandLine: dotnet run -c $CONFIGURATION --no-build --project $STARTUP_PROJECT --no-launch-profile
      component: dotnet
      group:
        isDefault: true
        kind: run
  - id: build-image
    apply:
      component: image-build
  - id: deploy-deployment
    apply:
      component: kubernetes-deploy
  - id: deploy-service
    apply:
      component: kubernetes-service
  - id: deploy
    composite:
      commands:
        - build-image
        - deploy-deployment
        - deploy-service
      group:
        isDefault: true
        kind: deploy

ARM Support?

Would it be possible to issue both an x86 and ARM release? I'd like to set this up on my raspberry pi using docker for educational purposes.

Thank you!

Add support for postCreateCommand

Hello,

I've been waiting for this feature in coder for a long time to I'm really excited about helping test the initial versions.

One thing I noticed today was that the postCreateCommand doesn't seem to get executed. Is there any idea on how this should be implemented? I'm happy to contribute with this and get myself familiarized with the codebase.

Force cloning or pull of repo on each run of envbuilder

When using envbuilder and restarting my workspace I nearly always want a fresh copy of the repo, but when using a pvc similar to this example template I envbuilder simply finds the existing repo, prints:

#1: 📦 Cloning MY_REPO...
#1: 📦 The repository already exists! [5.29944ms]

I see no way to force envbuilder to either clone it each time or, preferably, run a git pull to ensure the repo is fresh between rebuilds, but this would make the process more intuitive for our users.

Git submodule support

There doesn't appear to be a way to clone a repo with submodules. In my use case, the devcontainer is built up using files coming in from a submod, so this is critical.

It looks looks like support for this would need to be added to CloneRepoOptions in git.go. The underlying git-go options already support this, so hopefully this isn't a heavy lift. See CloneOptions.RecurseSubmodules in go-git/options.go.

Finding the above references is about the extent of my Go knowledge though, so I can't offer a patch myself.

Providing a single workspace per VM

I'm unsure if this issue belong to this repo or coder/coder. Tell me if I should move it.

Currently registry.coder.com have only two examples of envbuilder/devcontainer ( docker and k8s)
Do you know if it will be possible to use envbuilder to provision a single workspace per VM ? (VM as isolation model)

The use-case I have in mind is to provide a secure way of using docker in the workspace.
The exact same way codespaces do by default with the feature docker-in-docker ( related to #25 )

The docker-in-docker feature is not secure as it allows to breakout the container and access the underlying host.
But on codespaces that's totally fine because Azure VMs are not shared. (one workspace per VM)

However, tell me if I'm wrong but envbuilder is mainly used with linux NS isolation (k8s, openshift or docker with multiple workspaces on the same VM) .
In that case providing docker would be a little tricky and seem there is only two solutions :

  • The gitpod solution : rootless docker & slirp4netns + several hacks to make it work. (seem harder, less performant)
  • sysbox or envbox #50 (easier)
    (Note: for both solutions I doubt docker-in-docker feature can be used as is)

Azure DevOps repo clone with `GIT_USERNAME` from `coder_external_auth`

Hi there,

I am trying to clone a repo from a private Azure DevOps repository.
The user has authenticated using OAUTH2 via the Coder external_auth documentation
image

I am then using the template in the repo and injecting the external auth as a data object in Terraform

data "coder_external_auth" "azure_devops" {
  id = "primary-devops"
}

resource "kubernetes_deployment" "workspace" {
  metadata {
    name      = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}"
    namespace = var.namespace
    labels = {
      ...
    }
  }
  spec {
    replicas = data.coder_workspace.me.start_count
    selector {
      match_labels = {
        "coder.workspace_id" = data.coder_workspace.me.id
      }
    }
    strategy {
      type = "Recreate"
    }
    template {
      ...
      }
      spec {
        container {
          name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}"
          # Find the latest version here:
          # https://github.com/coder/envbuilder/tags
          image = "ghcr.io/coder/envbuilder:0.2.7"
          env {
            name  = "CODER_AGENT_TOKEN"
            value = coder_agent.main.token
          }
          env {
            name  = "CODER_AGENT_URL"
            value = replace(data.coder_workspace.me.access_url, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal")
          }
          env {
            name  = "GIT_URL"
            value = data.coder_parameter.repo.value == "custom" ? data.coder_parameter.custom_repo_url.value : data.coder_parameter.repo.value
          }
          env {
            name  = "GIT_USERNAME"
            value = data.coder_external_auth.azure_devops.access_token
          }
          env {
            name  = "INIT_SCRIPT"
            value = replace(coder_agent.main.init_script, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal")
          }
          env {
            name  = "FALLBACK_IMAGE"
            value = "codercom/enterprise-base:ubuntu"
          }
          volume_mount {
            name       = "workspaces"
            mount_path = "/workspaces"
          }
        }
        volume {
          name = "workspaces"
          persistent_volume_claim {
            claim_name = kubernetes_persistent_volume_claim.workspaces.metadata.0.name
          }
        }
      }
    }
  }
}

When it get's to checking out the repo, the terraform throws a pretty unhelpful error:

#1: 📦 Cloning https://<our_org>@dev.azure.com/<our_org>/build-automation/_git/devcontainers to /workspaces/devcontainers...
Failed to clone repository: clone "https://<access_token_I_presume>:@dev.azure.com/<our_org>/build-automation/_git/devcontainers": unexpected client error: unexpected requesting "https://<access_token_I_presume>@dev.azure.com/<our_org>/build-automation/_git/devcontainers/git-upload-pack" status code: 400
Falling back to the default image...

Am I missing something or is there something I can test?

DNS issue with version >= 0.1.6

I'm facing what it seems to be a DNS issue when running 0.1.6. The following error is showing up when trying to build the following devcontainer https://github.com/bilby91/rails-interview

2023-07-18T20:58:40.618 app[e784e965bd0583] eze [info] error: Get "https://mcr.microsoft.com/v2/": dial tcp: lookup mcr.microsoft.com on [::1]:53: read udp [::1]:38905->[::1]:53: read: connection refused

The error doesn't happen when running 0.1.5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.