defenseunicorns / zarf

DevSecOps for Air Gap & Limited-Connection Systems. https://zarf.dev/
Apache License 2.0
1.27k stars 147 forks source link

docs(site): dos-games example dockerfile potentially broken due to archived web link #2652

Open joelmccoy opened 1 week ago

joelmccoy commented 1 week ago

Environment

Device and OS: Macbook Pro M3 App version: N/A Kubernetes distro being used: N/A Other:

Steps to reproduce

cd examples/dos-games/image

# this command fails
docker build . -t defenseunicorns/zarf-game:multi-tile-dark 

Expected result

Dockerfile builds so that you can have the proper docker image locally for the zarf package in the example.

Actual Result

Dockerfile fails because of a bad link (see visual proof)

Visual Proof (screenshots, videos, text, etc)

➜  image (main) docker build . -t defenseunicorns/zarf-game:multi-tile-dark
[+] Building 2.7s (12/20)                                                                        docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                             0.0s
 => => transferring dockerfile: 1.98kB                                                                           0.0s
 => [internal] load metadata for docker.io/library/alpine:latest                                                 1.6s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                  0.0s
 => [stage-0  1/13] FROM docker.io/library/alpine:latest@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f7095  0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 2.76kB                                                                              0.0s
 => CACHED [stage-0  2/13] WORKDIR /binary                                                                       0.0s
 => CACHED [stage-0  3/13] RUN apk add gcc musl-dev &&     wget -O darkhttpd.c https://raw.githubusercontent.co  0.0s
 => CACHED [stage-0  4/13] WORKDIR /site                                                                         0.0s
 => CACHED [stage-0  5/13] RUN wget https://js-dos.com/6.22/current/js-dos.js &&     wget https://js-dos.com/6.  0.0s
 => CACHED [stage-0  6/13] RUN wget -O aladdin.zip "https://web.archive.org/web/20190303222445if_/https://www.d  0.0s
 => CACHED [stage-0  7/13] RUN wget -O doom.zip "https://archive.org/download/DoomsharewareEpisode/doom.ZIP"     0.0s
 => ERROR [stage-0  8/13] RUN wget -O mario-brothers.zip "https://image.dosgamesarchive.com/games/mario-bro.zip  1.1s
------

 > [stage-0  8/13] RUN wget -O mario-brothers.zip "https://image.dosgamesarchive.com/games/mario-bro.zip":

0.467 Connecting to image.dosgamesarchive.com (18.160.156.69:443)
1.064 wget: server returned error: HTTP/1.1 403 Forbidden
------
Dockerfile:15
--------------------
  13 |     RUN wget -O aladdin.zip "https://web.archive.org/web/20190303222445if_/https://www.dosgames.com/files/DOSB
OX_ALADDIN.ZIP"
  14 |     RUN wget -O doom.zip "https://archive.org/download/DoomsharewareEpisode/doom.ZIP"
  15 | >>> RUN wget -O mario-brothers.zip "https://image.dosgamesarchive.com/games/mario-bro.zip"
  16 |     RUN wget -O prince-of-persia.zip "https://web.archive.org/web/20181030180256if_/http://image.dosgamesarchi
ve.com/games/pop1.zip"
  17 |     RUN wget -O quake.zip "https://web.archive.org/web/20190303223506if_/https://www.dosgames.com/files/DOSBOX
_QUAKE.ZIP"
--------------------
ERROR: failed to solve: process "/bin/sh -c wget -O mario-brothers.zip \"https://image.dosgamesarchive.com/games/mari
o-bro.zip\"" did not complete successfully: exit code: 1

Severity/Priority

Low

Additional Context

The dos-games zarf example may be broken because of a bad web link in the Dockerfile. It possibly looks like the mario brothers game got removed and there is no web archive link for this particular game.

If you remove both mario links in the dockerfile it builds correctly. If we are ok with axing Mario Brothers from this I can put up a PR.

If I am supposed to get this image from somewhere else, it is not clear in the example and probably should be clarified.

AustinAbro321 commented 1 week ago

Ah dang, nintendo must've got to them. Yeah go ahead and make the PR with mario removed

joelmccoy commented 1 week ago

Actually it looks like the docker image here isn't actually even necessary in this example. It is actually pulling from the public dockerhub registry. I think the dockerhub outage yesterday made me to believe that I needed to build this image locally. Would it be sane to remove this directory completely as this dockerfile is not being used? Or is the preference still to clean up the dockerfile by removing the mario references?