diff --git a/demo/index.html b/demo/index.html index b0253d92..2f7e5849 100644 --- a/demo/index.html +++ b/demo/index.html @@ -39,9 +39,16 @@ diff --git a/demo/v2/_catalog b/demo/v2/_catalog deleted file mode 100644 index 861f4d38..00000000 --- a/demo/v2/_catalog +++ /dev/null @@ -1,3 +0,0 @@ -{ - "repositories": ["alpine", "debian", "joxit/docker-registry-ui", "joxit/kosmtik", "joxit/node", "joxit/rust-openssl", "joxit/tile-server-ui", "nginx"] -} \ No newline at end of file diff --git a/demo/v2/alpine/blobs/sha256:3f53bb00af943dfdf815650be70c0fa7b426e56a66f5e3362b47a129d57d5991 b/demo/v2/alpine/blobs/sha256:3f53bb00af943dfdf815650be70c0fa7b426e56a66f5e3362b47a129d57d5991 deleted file mode 100644 index 98744f47..00000000 --- a/demo/v2/alpine/blobs/sha256:3f53bb00af943dfdf815650be70c0fa7b426e56a66f5e3362b47a129d57d5991 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/sh"],"ArgsEscaped":true,"Image":"sha256:49573004c44f9413c7db63cbab336356e7a8843139fca5e68f92d84a56f0e6df","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"container":"c44d11fa67899a984d66f5542092b474f11ca95cc9b03b1470546f16ec8ce74f","container_config":{"Hostname":"c44d11fa6789","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/sh","-c","#(nop) ","CMD [\"/bin/sh\"]"],"ArgsEscaped":true,"Image":"sha256:49573004c44f9413c7db63cbab336356e7a8843139fca5e68f92d84a56f0e6df","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{}},"created":"2018-12-21T00:21:30.122610396Z","docker_version":"18.06.1-ce","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8"]}} \ No newline at end of file diff --git a/demo/v2/alpine/manifests/latest b/demo/v2/alpine/manifests/latest deleted file mode 100644 index a4f70405..00000000 --- a/demo/v2/alpine/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":1511,"digest":"sha256:3f53bb00af943dfdf815650be70c0fa7b426e56a66f5e3362b47a129d57d5991"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"}]} \ No newline at end of file diff --git a/demo/v2/alpine/tags/list b/demo/v2/alpine/tags/list deleted file mode 100644 index ca5bf1ce..00000000 --- a/demo/v2/alpine/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"alpine","tags":["latest"]} diff --git a/demo/v2/debian/blobs/sha256:de8b49d4b0b316649307dcdda2ca0c6127f8ccdaa9c3fda6fdb21cb237cfafd8 b/demo/v2/debian/blobs/sha256:de8b49d4b0b316649307dcdda2ca0c6127f8ccdaa9c3fda6fdb21cb237cfafd8 deleted file mode 100644 index 5a8f8218..00000000 --- a/demo/v2/debian/blobs/sha256:de8b49d4b0b316649307dcdda2ca0c6127f8ccdaa9c3fda6fdb21cb237cfafd8 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["bash"],"ArgsEscaped":true,"Image":"sha256:438932f21637c6a0ba3eeb7e66caf4e92259f324ac99978c8ad9277ade8aa220","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"container":"c57ac0acf33cb00abdd905d916191ae4156ab0ff8116d71da3cd08a19303ab72","container_config":{"Hostname":"c57ac0acf33c","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/sh","-c","#(nop) ","CMD [\"bash\"]"],"ArgsEscaped":true,"Image":"sha256:438932f21637c6a0ba3eeb7e66caf4e92259f324ac99978c8ad9277ade8aa220","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{}},"created":"2018-12-28T23:29:38.226681736Z","docker_version":"18.06.1-ce","history":[{"created":"2018-12-28T23:29:37.981962131Z","created_by":"/bin/sh -c #(nop) ADD file:da71baf0d22cb2ede91c5e3ff959607e47459a9d7bda220a62a3da362b0e59ea in / "},{"created":"2018-12-28T23:29:38.226681736Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:c581f4ede92df7272da388a45126ddd2944a4eeb27d3b0d80ee71cd633761394"]}} \ No newline at end of file diff --git a/demo/v2/debian/manifests/latest b/demo/v2/debian/manifests/latest deleted file mode 100644 index fa157f18..00000000 --- a/demo/v2/debian/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":1503,"digest":"sha256:de8b49d4b0b316649307dcdda2ca0c6127f8ccdaa9c3fda6fdb21cb237cfafd8"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":45323792,"digest":"sha256:cd8eada9c7bb496eb685fc6d2198c33db7cb05daf0fde42e4cf5bf0127cbdf38"}]} \ No newline at end of file diff --git a/demo/v2/debian/tags/list b/demo/v2/debian/tags/list deleted file mode 100644 index 11759a2d..00000000 --- a/demo/v2/debian/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"debian","tags":["latest"]} diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:0132a9e0699727a863cdddaae3ffe1bfb312267f0df732ce06d623ca2f1afd4a b/demo/v2/joxit/docker-registry-ui/blobs/sha256:0132a9e0699727a863cdddaae3ffe1bfb312267f0df732ce06d623ca2f1afd4a deleted file mode 100644 index 141e72b8..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:0132a9e0699727a863cdddaae3ffe1bfb312267f0df732ce06d623ca2f1afd4a +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.1-1~stretch","NJS_VERSION=1.15.1.0.2.2-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:bdea214cd450f017f90b3057a930e977baf737d4c45486c19b3ff628b7d05783","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.1-1~stretch","NJS_VERSION=1.15.1.0.2.2-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:41490bb193b8db51bb73d26c4d8a8200a7c0cdb548574a62bf106d7cf7eae80f in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:bdea214cd450f017f90b3057a930e977baf737d4c45486c19b3ff628b7d05783","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-07-23T18:55:07.908502394Z","docker_version":"18.03.1-ee-1-tp5","history":[{"created":"2018-07-17T00:28:04.351838344Z","created_by":"/bin/sh -c #(nop) ADD file:919939fa022472751b717443eea9f1d7ab5c0723f1f3a6b776d3b83d22bde818 in / "},{"created":"2018-07-17T00:28:04.679637846Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-07-17T04:21:11.96281791Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-07-17T04:21:12.209713911Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.1-1~stretch","empty_layer":true},{"created":"2018-07-17T04:21:12.420975454Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.1.0.2.2-1~stretch","empty_layer":true},{"created":"2018-07-17T04:21:53.666306342Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-07-17T04:21:54.609540799Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-07-17T04:21:54.908198842Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-07-17T04:21:55.155267457Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-07-17T04:21:55.441361362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-07-23T18:55:06.9391154Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-07-23T18:55:07.348057419Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-07-23T18:55:07.908502394Z","created_by":"/bin/sh -c #(nop) COPY dir:41490bb193b8db51bb73d26c4d8a8200a7c0cdb548574a62bf106d7cf7eae80f in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cdb3f9544e4c61d45da1ea44f7d92386639a052c620d1550376f22f5b46981af","sha256:190f3188c8aacc4f8c2859855eed3f9040737e48496fd1a93abf3f54a43a8891","sha256:d1bade4185feadb0cb4e357a6f0af8436c3a1cbdb76a5583247e2edb0633facd","sha256:421d687f870e0171c95d3e3d3d42dd7f5adb2cbfde92bb6d03d16e37c5a358d4"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2a5c152cf2a21986771311045ca67caf98f14c3e913a27582f8db1dd840e02f1 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:2a5c152cf2a21986771311045ca67caf98f14c3e913a27582f8db1dd840e02f1 deleted file mode 100644 index 4ffaac71..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2a5c152cf2a21986771311045ca67caf98f14c3e913a27582f8db1dd840e02f1 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:4612e3d31773be51a3b652a05183cdb2810193922df8cf78f148d7d4956098ea","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"b24daf80b2fa5060967eb57e29ce41670f8aa84b5f17bd793741b665d9ad4af1","container_config":{"Hostname":"b24daf80b2fa","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:4612e3d31773be51a3b652a05183cdb2810193922df8cf78f148d7d4956098ea","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:31:19.481892207Z","docker_version":"18.03.1-ee-3","history":[{"created":"2019-01-22T19:30:32.303100792Z","created_by":"/bin/sh -c #(nop) ADD file:a65337a57a064a79ad8a3f42e8282b3e01710cb4684ccd880463cc8d2e051fa5 in / "},{"created":"2019-01-22T19:30:32.505483836Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2019-01-22T23:27:00.078718612Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2019-01-22T23:27:00.659702199Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2019-01-22T23:27:01.226958052Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2019-01-22T23:27:29.236917835Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2019-01-22T23:27:31.175900846Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2019-01-22T23:27:31.63913019Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2019-01-22T23:27:32.155686901Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2019-01-22T23:27:32.707341021Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:31:16.909972082Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:31:17.249913623Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:31:17.76790159Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-25T07:31:18.298458875Z","created_by":"/bin/sh -c #(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "},{"created":"2019-01-25T07:31:18.809400573Z","created_by":"/bin/sh -c #(nop) COPY file:fe335fa620bbf40ef63235e389a28f7fd50065a4cf533f62551a2ca6f8cf3e08 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-25T07:31:19.16996742Z","created_by":"/bin/sh -c #(nop) COPY file:b546b4025b6116af7fb2d074a691a88184c39de4b3e1b3b3a48e9128badbb67b in /bin "},{"created":"2019-01-25T07:31:19.481892207Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:3c816b4ead84066ec2cadec2b943993aaacc3fe35fcd77ada3d09dc4f3937313","sha256:787822cf1b17268c7ad2114a7f58fb2743387a5e183815f3f0f1a8a109d33e07","sha256:89decbdf7fb7815678e6f46c9035cdc5c04aeaa1ef63469403d777d5fd14abb8","sha256:a9df2f61e7a6858076ef2055bb6d164b47676c3bd1eb40c37b5c05ac244007f2","sha256:e98efb5fa903e970394355fbb1074d96933e609aa796475857282404df3c24f1","sha256:de4c50c087c88a051009e00653e6f04b638cdef5d8cae0b3ed7bda6350ec79b2","sha256:fb7a8e448bc7936c71e31ef6cfd3dac5017e707318f61db44e6aaf3ce330212f"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2d6b75e8020ef2000d6a838fbd82a91baf63b43810d42ff34e75c0a837235b7a b/demo/v2/joxit/docker-registry-ui/blobs/sha256:2d6b75e8020ef2000d6a838fbd82a91baf63b43810d42ff34e75c0a837235b7a deleted file mode 100644 index f6f01d0b..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2d6b75e8020ef2000d6a838fbd82a91baf63b43810d42ff34e75c0a837235b7a +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:2b8fae91738ac74e8e000dd6e4a88b982427cace1a29fee6746d8efad203766c","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:68f7c6b5eb093c08a833d4b011745618789f49286b8d355bd3e8208f330ceaea in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:2b8fae91738ac74e8e000dd6e4a88b982427cace1a29fee6746d8efad203766c","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-06T04:14:27.543187678Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-28T23:30:06.334067203Z","created_by":"/bin/sh -c #(nop) ADD file:6d6f6f123e45697d3e73ea24621e4fd8da0ed5cf7504767f6b3120671fe6e7d1 in / "},{"created":"2018-12-28T23:30:06.533843185Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-12-29T03:30:50.538997723Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-29T03:30:50.755961691Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2018-12-29T03:30:51.031207885Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2018-12-29T03:31:29.815865791Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-12-29T03:31:30.6153791Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-29T03:31:30.774964043Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-29T03:31:31.002881033Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-29T03:31:31.255529383Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-06T04:14:26.650509756Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-06T04:14:27.008026001Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-06T04:14:27.543187678Z","created_by":"/bin/sh -c #(nop) COPY dir:68f7c6b5eb093c08a833d4b011745618789f49286b8d355bd3e8208f330ceaea in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7b4e562e58dcb7fbe1e27bb274f0ff8bfeb2fd965203380436e159df9f218900","sha256:c9c2a36960802924221f5b8fab90ed09b5900b346129979da9488810d8669e06","sha256:b7efe781401dfe8d05a9e4c920dd3cd430593a483c442831a14413e2738cd968","sha256:266ae3a8f34b872c8a1c1e3d42c96419b36407a35e4a5abba5f91ee8bf57cc26"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2f5177a4cf41c3f737b5b1bd6b4adcaf311d323dcbb742c662ba5c769083ed21 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:2f5177a4cf41c3f737b5b1bd6b4adcaf311d323dcbb742c662ba5c769083ed21 deleted file mode 100644 index 962a9145..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2f5177a4cf41c3f737b5b1bd6b4adcaf311d323dcbb742c662ba5c769083ed21 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:8b21ffbb5f801c33dce629b12ee36be6222870692b118e581cd3f3aa0d3f60bb","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:b891c589a710d9de4300e9df3da8ced75e586bc2b9bb85719baa2110f754c76d in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:8b21ffbb5f801c33dce629b12ee36be6222870692b118e581cd3f3aa0d3f60bb","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-12-20T06:44:04.965843643Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-09-11T22:19:50.165674013Z","created_by":"/bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1827ad0b0d2389c24df6d31430005ff4e9a2d84ea23ebd42 in / "},{"created":"2018-09-11T22:19:50.322783064Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-09-25T17:22:12.727145375Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-27T22:23:22.66249904Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.7","empty_layer":true},{"created":"2018-11-27T22:24:30.396372012Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-27T22:24:31.963481227Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-11-27T22:24:32.427844314Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-27T22:24:32.775711665Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-27T22:24:33.020054824Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-27T22:24:33.474122308Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-12-20T06:44:04.485899714Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-12-20T06:44:04.708970175Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-12-20T06:44:04.965843643Z","created_by":"/bin/sh -c #(nop) COPY dir:b891c589a710d9de4300e9df3da8ced75e586bc2b9bb85719baa2110f754c76d in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:df64d3292fd6194b7865d7326af5255db6d81e9df29f48adde61a918fbd8c332","sha256:5f6acae4a5eb65335aa694adb587eceb243739d08c8688d5b2a6382182a80010","sha256:aa84c03b5202eb69a3f7fcab6a2ec0743d58babeb34db4d9a8fdee88627296ac","sha256:27c0b07c1b339ba7f251bff77b03a00854d996bbfb5377b11099b2375a075266","sha256:afd7c9047ba260ea1a2bf34ed297b73740c83698927a4b17afa7b9f2694df4ec"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2fa0503f7f85b8983aba5f3a9dcec6b81f8acd38ce90fa419ca0ea0c8cd1d8b5 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:2fa0503f7f85b8983aba5f3a9dcec6b81f8acd38ce90fa419ca0ea0c8cd1d8b5 deleted file mode 100644 index 657413a1..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:2fa0503f7f85b8983aba5f3a9dcec6b81f8acd38ce90fa419ca0ea0c8cd1d8b5 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:df509eaf450145ec68e09128ec77f4df99c4ca83852088dcf9ccb48783b823ae","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:9073490b44826cc481376b2d284764702c2c403ce2434b7fd30606d77e32e956 in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:df509eaf450145ec68e09128ec77f4df99c4ca83852088dcf9ccb48783b823ae","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:13:36.90878616Z","docker_version":"18.09.1","history":[{"created":"2018-09-11T22:19:50.165674013Z","created_by":"/bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1827ad0b0d2389c24df6d31430005ff4e9a2d84ea23ebd42 in / "},{"created":"2018-09-11T22:19:50.322783064Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-09-25T17:22:12.727145375Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-07T00:23:31.859612937Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.6","empty_layer":true},{"created":"2018-11-07T00:24:43.1747873Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-07T00:24:43.615112616Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-11-07T00:24:44.004795869Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-07T00:24:44.263608235Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-07T00:24:44.539217941Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-07T00:24:44.779139334Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:13:36.166415377Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:13:36.549952113Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:13:36.90878616Z","created_by":"/bin/sh -c #(nop) COPY dir:9073490b44826cc481376b2d284764702c2c403ce2434b7fd30606d77e32e956 in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:df64d3292fd6194b7865d7326af5255db6d81e9df29f48adde61a918fbd8c332","sha256:5abab21bd32ef831b87867414582b5cecc3fff62ceb9d1d7eabb63b1f72cc39f","sha256:42538a727f9ceabb81a8626583a920f1050e5da47969d2c6087e14e181a13f37","sha256:7f875a1274be2e154697c0fbb0efac51ebba929d0ddba68339f12ac6a75668f9","sha256:d7ab29c1641eb6a73f6c8927ec8cd9532af1dff7069a9cd20c04ad37c1b62b5a"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:34754f5270032ae9cad70c6e58c53c5f07e7d7db4c407725d96d8743f98dfd7d b/demo/v2/joxit/docker-registry-ui/blobs/sha256:34754f5270032ae9cad70c6e58c53c5f07e7d7db4c407725d96d8743f98dfd7d deleted file mode 100644 index dbbca3ee..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:34754f5270032ae9cad70c6e58c53c5f07e7d7db4c407725d96d8743f98dfd7d +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.0"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:962e3564acab7953ef4a948206d6fcdc0b9d0be94a6e501b04f0d30170049660","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"ab0728b5bdcc9afcde87082b0b2b9568b31b311b793e9fa385a9911cc22a4bb9","container_config":{"Hostname":"ab0728b5bdcc","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.0"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:962e3564acab7953ef4a948206d6fcdc0b9d0be94a6e501b04f0d30170049660","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-06-20T20:15:16.976761714Z","docker_version":"18.03.1-ce","history":[{"created":"2018-01-09T21:10:58.365737589Z","created_by":"/bin/sh -c #(nop) ADD file:093f0723fa46f6cdbd6f7bd146448bb70ecce54254c35701feeceb956414622f in / "},{"created":"2018-01-09T21:10:58.579708634Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-02-20T22:54:03.35482938Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-06-05T18:20:51.809283587Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.0","empty_layer":true},{"created":"2018-06-05T18:21:43.011308152Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-06-05T18:21:43.365007944Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-06-05T18:21:43.732728958Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-06-05T18:21:43.952879352Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-06-05T18:21:44.156306149Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-06-05T18:21:44.363684253Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-06-20T19:45:52.652937574Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-06-20T19:45:53.042580915Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-06-20T19:49:29.892507262Z","created_by":"/bin/sh -c #(nop) COPY file:f583332c0453f3ec3c5c0b584881886e1e6579b4d628b46b713ad2922f51937c in /etc/nginx/conf.d/default.conf "},{"created":"2018-06-20T20:15:15.665599301Z","created_by":"/bin/sh -c #(nop) COPY dir:e448795dfb8e0da001b4a82222c12c360a24362e75daff13d77c948732cdcd37 in /usr/share/nginx/html/ "},{"created":"2018-06-20T20:15:15.98966151Z","created_by":"/bin/sh -c #(nop) COPY file:6a9ff73d61bfab917ac050bd67cc99019a41e3e2c8413c3636f6fa98ac9b3e11 in /usr/share/nginx/html/scripts/script.js "},{"created":"2018-06-20T20:15:16.287410218Z","created_by":"/bin/sh -c #(nop) COPY file:a44b32465a68723ae6b6a77a99eb69bedb12aaa53a0733625efd7a880261f65f in /usr/share/nginx/html/scripts/tags.js "},{"created":"2018-06-20T20:15:16.611348467Z","created_by":"/bin/sh -c #(nop) COPY file:34714799b5a8fd752dcfb873d112f997272ea66440746faedc607f292afc3d77 in /bin "},{"created":"2018-06-20T20:15:16.976761714Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215","sha256:423678709065a4811988b9d489de2c40641e7ec4af6c58df6749808425bd9b4f","sha256:91295ee173373b42c6aabb02d924c791c286c0a3177a89e3f523942bb7face5b","sha256:951c1d7bace73c6a08701ddf6e4a4bfdc58d8d12e21da4d4ad9a95fa1317599d","sha256:ca15482718d669c9a9d97d26a628d2012dfc787b45bbdf031584d65fd360c597","sha256:10d6823e7f268d366f618dbcc8898cbf83e31641019fc92b5be3667638627f93","sha256:ca1033a2fb9bebcda73926d88e2f992d155f9e49682d568daf23e47181e395fa","sha256:67e8a7aa292c0181ec447eb55750c3db4f328fd23f79a4282b3ef3ce45973859","sha256:36470ef113ab783860d309ad6fdc22d2754ed4d4fd900b00647ce73949f1eb7e"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:3598d6b8ab493a927c29106bfc54a61bef9b9dfc0ce3703f815678b7ede10133 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:3598d6b8ab493a927c29106bfc54a61bef9b9dfc0ce3703f815678b7ede10133 deleted file mode 100644 index 68ff0384..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:3598d6b8ab493a927c29106bfc54a61bef9b9dfc0ce3703f815678b7ede10133 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:d69e97bb6eaa2d397a8cf3b77b08e1861f8694b5353fe75986613171892a6d9c","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"db0a2f5e944d7d1b5153b906c6c3cdab697ab44a844284e2550059c0854b0be0","container_config":{"Hostname":"db0a2f5e944d","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:d69e97bb6eaa2d397a8cf3b77b08e1861f8694b5353fe75986613171892a6d9c","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T08:02:05.345775267Z","docker_version":"18.03.1-ee-3","history":[{"created":"2019-01-23T10:04:38.522302729Z","created_by":"/bin/sh -c #(nop) ADD file:64db5736cabe52ff81a1eb31101c1afa1e4a04374e84ae717532a88286d01784 in / "},{"created":"2019-01-23T10:04:39.339838959Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2019-01-25T03:23:51.6556861Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2019-01-25T03:23:54.604128443Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2019-01-25T03:23:59.95136253Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2019-01-25T03:42:56.265437132Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2019-01-25T03:43:13.370437999Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2019-01-25T03:43:39.327571275Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2019-01-25T03:44:06.522645054Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2019-01-25T03:44:45.884575391Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T08:02:02.728391791Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T08:02:03.083691784Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T08:02:03.532827139Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-25T08:02:04.027245671Z","created_by":"/bin/sh -c #(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "},{"created":"2019-01-25T08:02:04.45964064Z","created_by":"/bin/sh -c #(nop) COPY file:fe335fa620bbf40ef63235e389a28f7fd50065a4cf533f62551a2ca6f8cf3e08 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-25T08:02:04.939354796Z","created_by":"/bin/sh -c #(nop) COPY file:b546b4025b6116af7fb2d074a691a88184c39de4b3e1b3b3a48e9128badbb67b in /bin "},{"created":"2019-01-25T08:02:05.345775267Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:768c0eac2de9a08effe04365a33dceef8d2c28cb88cdff37f449541ecc76d764","sha256:e5c9118eb40d67db39663087e8966beba85157ab476667b486a16c02e99de303","sha256:a5272d2c25d1b35858b727a69fae557349affabe7399803de540092300c50865","sha256:c963c9eb8d356b000d933a5f7ae0c0ddaf4ee81b304bdb1b22c833fbefe52716","sha256:df9834ed8d9bb7d495aa7702592d0441740ecafc87d95899d1570498e6946dd6","sha256:3e924120545ac83f0ebf2894b631459650e93a3471bf2181b5b8b540567ab7e9","sha256:3528f3bd907631359d0c7cff9d48a887f034b39dec1f8e2e3a674b313882ae65"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:462e63a3ccc5313f27bd7645fa9724bd285f079fa7eddd85ba216b7533d15dde b/demo/v2/joxit/docker-registry-ui/blobs/sha256:462e63a3ccc5313f27bd7645fa9724bd285f079fa7eddd85ba216b7533d15dde deleted file mode 100644 index 40c12f3e..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:462e63a3ccc5313f27bd7645fa9724bd285f079fa7eddd85ba216b7533d15dde +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6-1~stretch","NJS_VERSION=1.15.6.0.2.5-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:c0912315be238ab74793d7528ca42d05d15ed862cd69f5cc602336b4ad40b67c","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"49a0d9865aca62a77ca1fffd6f434abb4aed476727ff398fade099b507caddd2","container_config":{"Hostname":"49a0d9865aca","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6-1~stretch","NJS_VERSION=1.15.6.0.2.5-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:c0912315be238ab74793d7528ca42d05d15ed862cd69f5cc602336b4ad40b67c","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-11-20T22:27:12.719196594Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-11-15T22:45:06.938205528Z","created_by":"/bin/sh -c #(nop) ADD file:dab9baf938799c515ddce14c02f899da5992f0b76a432fa10a2338556a3cb04f in / "},{"created":"2018-11-15T22:45:07.243453424Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-11-16T13:31:11.175776557Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-16T13:31:11.487598267Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.6-1~stretch","empty_layer":true},{"created":"2018-11-16T13:31:11.783900832Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.6.0.2.5-1~stretch","empty_layer":true},{"created":"2018-11-16T13:32:07.382613887Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-11-16T13:32:08.778195069Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-16T13:32:09.22115772Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-16T13:32:09.696803649Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-16T13:32:10.147294787Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-11-20T22:27:10.385481618Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-11-20T22:27:10.70877909Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-11-20T22:27:11.12228508Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-20T22:27:11.618910878Z","created_by":"/bin/sh -c #(nop) COPY dir:d44273c1a4bff72cf2a80ab8b25cde1fd45ed236611a1dd41ccc7b9fcf28399f in /usr/share/nginx/html/ "},{"created":"2018-11-20T22:27:12.004507649Z","created_by":"/bin/sh -c #(nop) COPY file:8a542a9173945eb6ff06bd24df9d405f9784d3feaffa88fdea26715686725eb8 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2018-11-20T22:27:12.386015395Z","created_by":"/bin/sh -c #(nop) COPY file:67c3e7d9b2268809de4f10353f5e6ca3df554bf34d5b424db18e2debc435e038 in /bin "},{"created":"2018-11-20T22:27:12.719196594Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:ef68f6734aa485edf13a8509fe60e4272428deaf63f446a441b79d47fc5d17d3","sha256:876456b964239fb297770341ec7e4c2630e42b64b7bbad5112becb1bd2c72795","sha256:9a8f339aeebe1e8bcef322376e1274360653fb802abd4b94c69ea45a54f71a2b","sha256:3c6267e3a18ee316ffef4882896379f3447fead1b9969dc1ce0bd62da0ca6fc5","sha256:1e705d70776e811f563fbe290348345257512defd850252ffb9e8921d615a058","sha256:d797659fcf8bf183fa6d57ef750697e04e501209b9490eb88c296aa129118542","sha256:b22b873426df0b0b2bbcfef0b5385f830f3ed3776b94a1ac14d9f7c745ce4bde"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:4672df90c399a1bf61e08f122bff303fd3059febd8c4dfdfdd68a016037122bb b/demo/v2/joxit/docker-registry-ui/blobs/sha256:4672df90c399a1bf61e08f122bff303fd3059febd8c4dfdfdd68a016037122bb deleted file mode 100644 index 31e701b4..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:4672df90c399a1bf61e08f122bff303fd3059febd8c4dfdfdd68a016037122bb +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:ae57a3d44c6e42f6b5c16a6614b2f8d1f3abb3871d316407205ce439257f341b","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:ae57a3d44c6e42f6b5c16a6614b2f8d1f3abb3871d316407205ce439257f341b","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:53:24.655563312Z","docker_version":"18.03.1-ee-3","history":[{"created":"2019-01-23T13:04:55.295123497Z","created_by":"/bin/sh -c #(nop) ADD file:c712096b02de85275a955c0292b6e143730d8506009ecc32436b1bd44789dcd1 in / "},{"created":"2019-01-23T13:04:56.243467845Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2019-01-23T14:10:17.6608908Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2019-01-23T14:10:18.152695475Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2019-01-23T14:10:18.668974989Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2019-01-23T14:15:33.406109859Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2019-01-23T14:15:36.510122532Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2019-01-23T14:15:36.949046612Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2019-01-23T14:15:37.397336811Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2019-01-23T14:15:38.20543993Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:53:23.813535099Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:53:24.143513994Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:53:24.655563312Z","created_by":"/bin/sh -c #(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:1afd0b745c69ae90db9cfbf446c4a201c915075d77e014bbdae238f4bcace562","sha256:1650d37249347dfc4cf4ca58af2d3d92bbf19ddc3cf38aa842bc841f219511ca","sha256:6da126364cb43c8245a26c85d8e4c621d1102f6f2bba97df628de408e3497aa9","sha256:506929db1113a7307b21ca3ddbeee5d2f677d99f5c2a06c027f31c1fe7897885"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:4c9dddf8f39953b1860e83b94ef4c0d452d10a550c1e285feca965cc579d2535 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:4c9dddf8f39953b1860e83b94ef4c0d452d10a550c1e285feca965cc579d2535 deleted file mode 100644 index 2f8493bf..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:4c9dddf8f39953b1860e83b94ef4c0d452d10a550c1e285feca965cc579d2535 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:02263a2833f96e5263e121afbb4a91a1cb24a8b8d8c2787a8b8e1a081366d0c1","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"ccaa0666db543ad03087da44e5e22a30ba54b089589f7a4cf46868d6cd4633e7","container_config":{"Hostname":"ccaa0666db54","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:02263a2833f96e5263e121afbb4a91a1cb24a8b8d8c2787a8b8e1a081366d0c1","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-06T04:18:45.050506936Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-06T04:18:42.413839167Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-06T04:18:42.72203741Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-06T04:18:43.154433886Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-06T04:18:43.718717881Z","created_by":"/bin/sh -c #(nop) COPY dir:12702fc8c5ae14df82a02e0d30e6b7e17ba48fea239dd633234168ed2fb2a456 in /usr/share/nginx/html/ "},{"created":"2019-01-06T04:18:44.281816542Z","created_by":"/bin/sh -c #(nop) COPY file:c5a5cb797c39ff4d88f291dad0c85ed00e1c992a1b3379bec81c9d48325c495d in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-06T04:18:44.726922021Z","created_by":"/bin/sh -c #(nop) COPY file:67c3e7d9b2268809de4f10353f5e6ca3df554bf34d5b424db18e2debc435e038 in /bin "},{"created":"2019-01-06T04:18:45.050506936Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:fe1ccd3522bc7a54213013b50b9e6a786534a76212e7357751d2409ce5397502","sha256:7baeeef95102ffd19d7afb8c707709f091e2fb42a94d0541e9ef9af8e58f2aca","sha256:f66e9d83b528c57bab4cdc833ca80341c8503dd0b2bd8d91418735756c2dafa0","sha256:39571db8821289aad14c63d8be252dd36ee32dbceacdbc161903711d45e7f9a5"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:4d7df6f655fbb4e47f0103a39daf2e54944d66c28e3199aa92a924c8d95ad963 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:4d7df6f655fbb4e47f0103a39daf2e54944d66c28e3199aa92a924c8d95ad963 deleted file mode 100644 index 7df4a45a..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:4d7df6f655fbb4e47f0103a39daf2e54944d66c28e3199aa92a924c8d95ad963 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7-1~stretch","NJS_VERSION=1.15.7.0.2.6-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:be6a3b09783560add444a151d66dd8a0ab052225d1a2c44c8320342af28d5466","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7-1~stretch","NJS_VERSION=1.15.7.0.2.6-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:b891c589a710d9de4300e9df3da8ced75e586bc2b9bb85719baa2110f754c76d in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:be6a3b09783560add444a151d66dd8a0ab052225d1a2c44c8320342af28d5466","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-12-20T06:38:52.580982985Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-11-15T22:45:06.938205528Z","created_by":"/bin/sh -c #(nop) ADD file:dab9baf938799c515ddce14c02f899da5992f0b76a432fa10a2338556a3cb04f in / "},{"created":"2018-11-15T22:45:07.243453424Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-11-16T13:31:11.175776557Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-27T22:20:57.546456579Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.7-1~stretch","empty_layer":true},{"created":"2018-11-27T22:20:57.759121256Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.7.0.2.6-1~stretch","empty_layer":true},{"created":"2018-11-27T22:21:27.331460489Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-11-27T22:21:30.675488815Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-27T22:21:30.910569815Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-27T22:21:31.155961492Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-27T22:21:45.207738888Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-12-20T06:38:51.632720995Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-12-20T06:38:52.045956601Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-12-20T06:38:52.580982985Z","created_by":"/bin/sh -c #(nop) COPY dir:b891c589a710d9de4300e9df3da8ced75e586bc2b9bb85719baa2110f754c76d in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:ef68f6734aa485edf13a8509fe60e4272428deaf63f446a441b79d47fc5d17d3","sha256:ad5345cbb119f7c720123e3adf28b164143e4157ca6e46a629ca694e75f7825f","sha256:ece4f9fdef598687f23d39643bacbf2c609201b087b93bbae81b931da72d2a64","sha256:987f533aa81134fa9c4516ff18a509d04ce3a0d1467710d0f3613ade0f3ed203"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:53b8ecb2f9809d94a5d3681731b417a6ce72e5f9e7df7a49f63e3ee7e029a9ab b/demo/v2/joxit/docker-registry-ui/blobs/sha256:53b8ecb2f9809d94a5d3681731b417a6ce72e5f9e7df7a49f63e3ee7e029a9ab deleted file mode 100644 index 3696b4f0..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:53b8ecb2f9809d94a5d3681731b417a6ce72e5f9e7df7a49f63e3ee7e029a9ab +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:c368f3f1b032804ccadbe8bc4c4b48b656ea88fa662a9b9c762dd602ab02b632","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"7f77a6dd07a90dcfd72ffa4ee0aaf31305ccb24b8636a94fdfea1925601e61b6","container_config":{"Hostname":"7f77a6dd07a9","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:c368f3f1b032804ccadbe8bc4c4b48b656ea88fa662a9b9c762dd602ab02b632","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:39:13.077055393Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:39:10.438703995Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:39:10.748626465Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:39:11.148920487Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-25T07:39:11.692770825Z","created_by":"/bin/sh -c #(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "},{"created":"2019-01-25T07:39:12.211048547Z","created_by":"/bin/sh -c #(nop) COPY file:99fca6151414f45a39caf9bbd450be23a814be53e83e0e578243525db2907a22 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-25T07:39:12.658747756Z","created_by":"/bin/sh -c #(nop) COPY file:b546b4025b6116af7fb2d074a691a88184c39de4b3e1b3b3a48e9128badbb67b in /bin "},{"created":"2019-01-25T07:39:13.077055393Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:d9429655f29378ac4a993b7665cf0ade46125edea121f152977ac2b949f9e008","sha256:f5121f78d3a902cd8ba322ec5eea0b3ecd0d2927f66b34e0806df259b522977e","sha256:3652ad65f2e5b7c279d9ef1e161f3753afb137e351876b978ca51680d5856416","sha256:06a20afd936403fa7c6c7a8fb9060b79e9eb1ee6288c12005240c5e33d63cc77"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:59752d8484e28e7cc78367e041dae9abf901e4a1463cecbe7c8da1d8b1b8bf1f b/demo/v2/joxit/docker-registry-ui/blobs/sha256:59752d8484e28e7cc78367e041dae9abf901e4a1463cecbe7c8da1d8b1b8bf1f deleted file mode 100644 index ab66bbda..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:59752d8484e28e7cc78367e041dae9abf901e4a1463cecbe7c8da1d8b1b8bf1f +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6-1~stretch","NJS_VERSION=1.15.6.0.2.5-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:7b4fdf6bd07709975eca321454522d9ced6fc910e1b232755859c85ff37bdba4","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6-1~stretch","NJS_VERSION=1.15.6.0.2.5-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:d44273c1a4bff72cf2a80ab8b25cde1fd45ed236611a1dd41ccc7b9fcf28399f in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:7b4fdf6bd07709975eca321454522d9ced6fc910e1b232755859c85ff37bdba4","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-11-20T22:24:29.061466983Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-11-15T22:45:06.938205528Z","created_by":"/bin/sh -c #(nop) ADD file:dab9baf938799c515ddce14c02f899da5992f0b76a432fa10a2338556a3cb04f in / "},{"created":"2018-11-15T22:45:07.243453424Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-11-16T13:31:11.175776557Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-16T13:31:11.487598267Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.6-1~stretch","empty_layer":true},{"created":"2018-11-16T13:31:11.783900832Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.6.0.2.5-1~stretch","empty_layer":true},{"created":"2018-11-16T13:32:07.382613887Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-11-16T13:32:08.778195069Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-16T13:32:09.22115772Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-16T13:32:09.696803649Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-16T13:32:10.147294787Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-11-20T22:24:28.275708466Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-11-20T22:24:28.639213302Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-11-20T22:24:29.061466983Z","created_by":"/bin/sh -c #(nop) COPY dir:d44273c1a4bff72cf2a80ab8b25cde1fd45ed236611a1dd41ccc7b9fcf28399f in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:ef68f6734aa485edf13a8509fe60e4272428deaf63f446a441b79d47fc5d17d3","sha256:876456b964239fb297770341ec7e4c2630e42b64b7bbad5112becb1bd2c72795","sha256:9a8f339aeebe1e8bcef322376e1274360653fb802abd4b94c69ea45a54f71a2b","sha256:f198daa7bf6cc01d285614c7ffec199afe532d6751f93cf129cf790c86dff2cc"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:69325d6c4509c9fbf7279965b6ba6fe97c0c4b371ca82a73e0438fa8227afee6 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:69325d6c4509c9fbf7279965b6ba6fe97c0c4b371ca82a73e0438fa8227afee6 deleted file mode 100644 index 7fe9c0d5..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:69325d6c4509c9fbf7279965b6ba6fe97c0c4b371ca82a73e0438fa8227afee6 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:26974d14a103dd5d4899475547655cba42f777e871a9ab9f46edcf03014f732a","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:26974d14a103dd5d4899475547655cba42f777e871a9ab9f46edcf03014f732a","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:28:34.54075789Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:28:33.469441045Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:28:33.942443368Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:28:34.54075789Z","created_by":"/bin/sh -c #(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:ba2be6b880d0125ef4a875e78c732806315447a9bf9e053a3e4c7ae447afb0f9"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:754e7e39c291e2100cc06c9e82ae2623a60baf691b89a32f8ed655a183da1cb8 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:754e7e39c291e2100cc06c9e82ae2623a60baf691b89a32f8ed655a183da1cb8 deleted file mode 100644 index 5c45acf6..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:754e7e39c291e2100cc06c9e82ae2623a60baf691b89a32f8ed655a183da1cb8 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","author":"Jones MAGLOIRE @Joxit","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.13.9-1~stretch","NJS_VERSION=1.13.9.0.1.15-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:666da915f64bda6de199babdf59f25301517773e6ce79a8b63e172c9b19bff5e","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"container":"0837c0a291d32a53e7e668499d5acb43d2d25412359197689daaef2b28d0f55a","container_config":{"Hostname":"0837c0a291d3","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.13.9-1~stretch","NJS_VERSION=1.13.9.0.1.15-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:666da915f64bda6de199babdf59f25301517773e6ce79a8b63e172c9b19bff5e","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"created":"2018-03-17T07:06:13.898330337Z","docker_version":"17.06.1-ce","history":[{"created":"2018-03-13T22:27:37.022366567Z","created_by":"/bin/sh -c #(nop) ADD file:e3250bb9848f956bdb43b205f1237df0d81a25088c95dbdeb20a1e2baf1d884f in / "},{"created":"2018-03-13T22:27:37.3121465Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-03-14T08:14:39.289492329Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-03-14T08:14:39.544466556Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.13.9-1~stretch","empty_layer":true},{"created":"2018-03-14T08:14:39.784940058Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.13.9.0.1.15-1~stretch","empty_layer":true},{"created":"2018-03-14T08:15:02.44789947Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-03-14T08:15:03.228375256Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-03-14T08:15:03.463842408Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-03-14T08:15:03.720658531Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-03-14T08:15:03.972596351Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-03-17T07:06:11.250908199Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) MAINTAINER Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-03-17T07:06:11.665482358Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-03-17T07:06:12.245791756Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) COPY dir:d0541c7e9868cd8b2bbf353e2b4da7ab408632f189c52efd8a21e2279b1005d3 in /usr/share/nginx/html/ "},{"created":"2018-03-17T07:06:12.697158617Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) COPY file:725679068f258126ea5f0ad1d326bb42e43313ac88d4c303803cd40725a46287 in /usr/share/nginx/html/scripts/script.js "},{"created":"2018-03-17T07:06:13.151137148Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) COPY file:5315c3cd8a9c116ab31514f3b02b34695b119956709885b00a883552a7e5c048 in /usr/share/nginx/html/scripts/tags.js "},{"created":"2018-03-17T07:06:13.623367093Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) COPY file:016d2fa3449e9ecb83a6655699e4ebf9a0252e3ee1234f0979b90055e58452d2 in /bin "},{"created":"2018-03-17T07:06:13.898330337Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:3358360aedad76edf49d0022818228d959d20a4cccc55d01c32f8b62e226e2c2","sha256:c632afbadb38def8ad11f58589996583eb205a7e7ab6b47c128597fa0375668e","sha256:180ab8f004dcb4c7d480edf49d534d13e516a2e1f00851e730df45dce168acc9","sha256:6774a2144dfc4e088e28d43b775605441e3aa62a52865e1be50165ef8d0e7a40","sha256:a66c909ecdf46ca098cb89c152b42c5cc93e79262434851107747acbba8b2882","sha256:aa88bac7b4677454c505280f1342bb19e070cb67c15b1347165a49fddd73d82a","sha256:d7d5fb345a19570aaa5b24b4b99b94d2a9ba1b06afd02972c01d23b09da933c8"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:7ce20c30831e04cafbb566ddad63b8131d46ed4ad89703e582892827dbf4e74b b/demo/v2/joxit/docker-registry-ui/blobs/sha256:7ce20c30831e04cafbb566ddad63b8131d46ed4ad89703e582892827dbf4e74b deleted file mode 100644 index 6996c9b5..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:7ce20c30831e04cafbb566ddad63b8131d46ed4ad89703e582892827dbf4e74b +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:e504103a937e4e16318be4f49395cb72577e15158174dee4a455c9d3991f725a","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"1aa6ae81d58acce7fbe87274c2fe45b016e674c03458774fb8c4aeb745b03222","container_config":{"Hostname":"1aa6ae81d58a","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:e504103a937e4e16318be4f49395cb72577e15158174dee4a455c9d3991f725a","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-12-20T06:36:21.642125123Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-09-11T22:19:50.165674013Z","created_by":"/bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1827ad0b0d2389c24df6d31430005ff4e9a2d84ea23ebd42 in / "},{"created":"2018-09-11T22:19:50.322783064Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-09-25T17:22:12.727145375Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-27T22:23:22.66249904Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.7","empty_layer":true},{"created":"2018-11-27T22:24:30.396372012Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-27T22:24:31.963481227Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-11-27T22:24:32.427844314Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-27T22:24:32.775711665Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-27T22:24:33.020054824Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-27T22:24:33.474122308Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-12-20T06:36:20.332204349Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-12-20T06:36:20.545364227Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-12-20T06:36:20.798349131Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-20T06:36:21.04724562Z","created_by":"/bin/sh -c #(nop) COPY dir:b891c589a710d9de4300e9df3da8ced75e586bc2b9bb85719baa2110f754c76d in /usr/share/nginx/html/ "},{"created":"2018-12-20T06:36:21.241945602Z","created_by":"/bin/sh -c #(nop) COPY file:e94793e4e38abb705e60ce161e82d89bb6b93df0e34b0e59ec96272591fbfe2d in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2018-12-20T06:36:21.440141853Z","created_by":"/bin/sh -c #(nop) COPY file:67c3e7d9b2268809de4f10353f5e6ca3df554bf34d5b424db18e2debc435e038 in /bin "},{"created":"2018-12-20T06:36:21.642125123Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:df64d3292fd6194b7865d7326af5255db6d81e9df29f48adde61a918fbd8c332","sha256:5f6acae4a5eb65335aa694adb587eceb243739d08c8688d5b2a6382182a80010","sha256:aa84c03b5202eb69a3f7fcab6a2ec0743d58babeb34db4d9a8fdee88627296ac","sha256:27c0b07c1b339ba7f251bff77b03a00854d996bbfb5377b11099b2375a075266","sha256:22e88d4ca5906f78c8a4aa3f165edf35f594320f23d287ac051dd9da02fd5ce9","sha256:ca6cf29751fa75812c3e46bcfba1c0e33574aed42ecaa168f124fa599616d446","sha256:c4a0cf4ab30b2ba7bee019829a324daaca17f2b231704a067ffd21b60c4f6919","sha256:f4b7522cbf5dd8ebe4424dab895dd69e618b87c65e0f8b207ddd55dcc5e31f67"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:7fa0b3bfaac3de30a8459bb0686a50ca641ebcc941bf22cca83dd5f3bf472634 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:7fa0b3bfaac3de30a8459bb0686a50ca641ebcc941bf22cca83dd5f3bf472634 deleted file mode 100644 index cbf49952..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:7fa0b3bfaac3de30a8459bb0686a50ca641ebcc941bf22cca83dd5f3bf472634 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:9c62c6c21fbb4f9d7066dbf41c04a3676f5a5f7486bdb5d37e6e350b3c863c61","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"16bea8c7ccb597c22f9ecb729bcf2474909bacb5353b9d10316b52898467d96a","container_config":{"Hostname":"16bea8c7ccb5","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:9c62c6c21fbb4f9d7066dbf41c04a3676f5a5f7486bdb5d37e6e350b3c863c61","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-06T04:38:48.800018961Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-28T23:30:06.334067203Z","created_by":"/bin/sh -c #(nop) ADD file:6d6f6f123e45697d3e73ea24621e4fd8da0ed5cf7504767f6b3120671fe6e7d1 in / "},{"created":"2018-12-28T23:30:06.533843185Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-12-29T03:30:50.538997723Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-29T03:30:50.755961691Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2018-12-29T03:30:51.031207885Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2018-12-29T03:31:29.815865791Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-12-29T03:31:30.6153791Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-29T03:31:30.774964043Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-29T03:31:31.002881033Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-29T03:31:31.255529383Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-06T04:38:46.04948738Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-06T04:38:46.346406663Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-06T04:38:46.887313726Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-06T04:38:47.442298955Z","created_by":"/bin/sh -c #(nop) COPY dir:68f7c6b5eb093c08a833d4b011745618789f49286b8d355bd3e8208f330ceaea in /usr/share/nginx/html/ "},{"created":"2019-01-06T04:38:47.91703718Z","created_by":"/bin/sh -c #(nop) COPY file:500e9359bc4fc217ba592a826df3aa949acf40074fccd93e5b5541b8c7728fca in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-06T04:38:48.365836504Z","created_by":"/bin/sh -c #(nop) COPY file:67c3e7d9b2268809de4f10353f5e6ca3df554bf34d5b424db18e2debc435e038 in /bin "},{"created":"2019-01-06T04:38:48.800018961Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7b4e562e58dcb7fbe1e27bb274f0ff8bfeb2fd965203380436e159df9f218900","sha256:c9c2a36960802924221f5b8fab90ed09b5900b346129979da9488810d8669e06","sha256:b7efe781401dfe8d05a9e4c920dd3cd430593a483c442831a14413e2738cd968","sha256:e99de6702c41c8fa30824a7aed6575c47f55132c587654effa3c50314f16fe04","sha256:32054570847257d810ea2fa025c5c2785e4b163e521463955a5973672c5db12f","sha256:f47da5e451b0311508b498aa9b9e566d2a1b2cd0d628abfa62285e38c7e347ee","sha256:d98f43b3bf4acbebd3f9b0677d7861256bf98ea9be317f7f6e1b4bb36a84baaf"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:84955175fe3ab1375d60676e1f5db6b0e0b87a28412587823c20ecc527e9b5a5 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:84955175fe3ab1375d60676e1f5db6b0e0b87a28412587823c20ecc527e9b5a5 deleted file mode 100644 index 83c9b300..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:84955175fe3ab1375d60676e1f5db6b0e0b87a28412587823c20ecc527e9b5a5 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7-1~stretch","NJS_VERSION=1.15.7.0.2.6-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:465ddb30541d5801c356618da5d6bd029b91f178bd1b63da7f51a59f93aade04","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"37397e39a4066c4f04080344ae1f4c577e4056a5750f3ad60a6db7e7650f5ced","container_config":{"Hostname":"37397e39a406","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.7-1~stretch","NJS_VERSION=1.15.7.0.2.6-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:465ddb30541d5801c356618da5d6bd029b91f178bd1b63da7f51a59f93aade04","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-12-20T06:41:54.15498579Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-11-15T22:45:06.938205528Z","created_by":"/bin/sh -c #(nop) ADD file:dab9baf938799c515ddce14c02f899da5992f0b76a432fa10a2338556a3cb04f in / "},{"created":"2018-11-15T22:45:07.243453424Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-11-16T13:31:11.175776557Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-27T22:20:57.546456579Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.7-1~stretch","empty_layer":true},{"created":"2018-11-27T22:20:57.759121256Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.7.0.2.6-1~stretch","empty_layer":true},{"created":"2018-11-27T22:21:27.331460489Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-11-27T22:21:30.675488815Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-27T22:21:30.910569815Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-27T22:21:31.155961492Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-27T22:21:45.207738888Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-12-20T06:41:52.853252785Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-12-20T06:41:53.047563506Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-12-20T06:41:53.282060341Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-20T06:41:53.537790567Z","created_by":"/bin/sh -c #(nop) COPY dir:b891c589a710d9de4300e9df3da8ced75e586bc2b9bb85719baa2110f754c76d in /usr/share/nginx/html/ "},{"created":"2018-12-20T06:41:53.734673498Z","created_by":"/bin/sh -c #(nop) COPY file:e94793e4e38abb705e60ce161e82d89bb6b93df0e34b0e59ec96272591fbfe2d in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2018-12-20T06:41:53.974938439Z","created_by":"/bin/sh -c #(nop) COPY file:67c3e7d9b2268809de4f10353f5e6ca3df554bf34d5b424db18e2debc435e038 in /bin "},{"created":"2018-12-20T06:41:54.15498579Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:ef68f6734aa485edf13a8509fe60e4272428deaf63f446a441b79d47fc5d17d3","sha256:ad5345cbb119f7c720123e3adf28b164143e4157ca6e46a629ca694e75f7825f","sha256:ece4f9fdef598687f23d39643bacbf2c609201b087b93bbae81b931da72d2a64","sha256:79da72bf2ae280630a288b0c99612a67f8e2533f8e23d37d30561ad9929cc0b3","sha256:135521d342945c987f8cf5827ad6972ae0f3e83d5282095ae08d85c523d365bc","sha256:b2cd09d7c4045131e82ea1915eca89ce344f074f0c2008a2f3e2f1fa069b15c0","sha256:7f60a593dbd9da681ea8bac24fe49cac5fce33bb30a3a15c0d40368c243d1fcf"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:945480c91d321706c01b9c7008416f0e6567e571748ff0322120587bb28a2011 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:945480c91d321706c01b9c7008416f0e6567e571748ff0322120587bb28a2011 deleted file mode 100644 index 474a8836..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:945480c91d321706c01b9c7008416f0e6567e571748ff0322120587bb28a2011 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:1c181515f7eb503263dd13d77743f1436f19f65c14145fa2dec3f3d8d6be14de","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"6001142150ef55a28ea14ce82295c1878458b374a495aa125ce9bcabfe645442","container_config":{"Hostname":"6001142150ef","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:1c181515f7eb503263dd13d77743f1436f19f65c14145fa2dec3f3d8d6be14de","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-11-20T22:29:38.851808265Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-09-11T22:19:50.165674013Z","created_by":"/bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1827ad0b0d2389c24df6d31430005ff4e9a2d84ea23ebd42 in / "},{"created":"2018-09-11T22:19:50.322783064Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-09-25T17:22:12.727145375Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-07T00:23:31.859612937Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.6","empty_layer":true},{"created":"2018-11-07T00:24:43.1747873Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-07T00:24:43.615112616Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-11-07T00:24:44.004795869Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-07T00:24:44.263608235Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-07T00:24:44.539217941Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-07T00:24:44.779139334Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-11-20T22:29:36.497758877Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-11-20T22:29:36.803529404Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-11-20T22:29:37.225256361Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-20T22:29:37.751983544Z","created_by":"/bin/sh -c #(nop) COPY dir:d44273c1a4bff72cf2a80ab8b25cde1fd45ed236611a1dd41ccc7b9fcf28399f in /usr/share/nginx/html/ "},{"created":"2018-11-20T22:29:38.147008392Z","created_by":"/bin/sh -c #(nop) COPY file:8a542a9173945eb6ff06bd24df9d405f9784d3feaffa88fdea26715686725eb8 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2018-11-20T22:29:38.564822713Z","created_by":"/bin/sh -c #(nop) COPY file:67c3e7d9b2268809de4f10353f5e6ca3df554bf34d5b424db18e2debc435e038 in /bin "},{"created":"2018-11-20T22:29:38.851808265Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:df64d3292fd6194b7865d7326af5255db6d81e9df29f48adde61a918fbd8c332","sha256:5abab21bd32ef831b87867414582b5cecc3fff62ceb9d1d7eabb63b1f72cc39f","sha256:42538a727f9ceabb81a8626583a920f1050e5da47969d2c6087e14e181a13f37","sha256:7f875a1274be2e154697c0fbb0efac51ebba929d0ddba68339f12ac6a75668f9","sha256:385d9035f2dbf3692d5568f4a401bf3e636e4df65ffbfcf5705ea17f9cd945ad","sha256:c532b8f412779da5bb6f9eba47cc51c360407765fb50e67377d0433a3d91983a","sha256:b84bf4e33f3ba13e50f621656ac2615e6f64fde84090f3cd6ce2087111be4b92","sha256:761299012908adf17b1e8f825a400faac27947d0b7b8210c01a340f33afde6db"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:9f812386d08a3a898429f4ff1b2e350c24a4fb46f4b038defb122c4739647bbc b/demo/v2/joxit/docker-registry-ui/blobs/sha256:9f812386d08a3a898429f4ff1b2e350c24a4fb46f4b038defb122c4739647bbc deleted file mode 100644 index 13b7e789..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:9f812386d08a3a898429f4ff1b2e350c24a4fb46f4b038defb122c4739647bbc +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:9cb8000f16aa05cccd66339f7f7929329f56a91956307d1c99a61d0828b21fe6","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:9cb8000f16aa05cccd66339f7f7929329f56a91956307d1c99a61d0828b21fe6","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T08:16:38.220305672Z","docker_version":"18.03.1-ee-3","history":[{"created":"2019-01-23T10:04:38.522302729Z","created_by":"/bin/sh -c #(nop) ADD file:64db5736cabe52ff81a1eb31101c1afa1e4a04374e84ae717532a88286d01784 in / "},{"created":"2019-01-23T10:04:39.339838959Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2019-01-25T03:23:51.6556861Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2019-01-25T03:23:54.604128443Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2019-01-25T03:23:59.95136253Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2019-01-25T03:42:56.265437132Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2019-01-25T03:43:13.370437999Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2019-01-25T03:43:39.327571275Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2019-01-25T03:44:06.522645054Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2019-01-25T03:44:45.884575391Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T08:16:37.335198525Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T08:16:37.661419805Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T08:16:38.220305672Z","created_by":"/bin/sh -c #(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:768c0eac2de9a08effe04365a33dceef8d2c28cb88cdff37f449541ecc76d764","sha256:e5c9118eb40d67db39663087e8966beba85157ab476667b486a16c02e99de303","sha256:a5272d2c25d1b35858b727a69fae557349affabe7399803de540092300c50865","sha256:39945cf600d25e609759dc4aaab1fd8c10b370e6db9045d59eb798ffce3c5e9d"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:a3e584d825fe8eeb54d05c3c2cb184136558a4301cdc4799c1a96aa05566e92b b/demo/v2/joxit/docker-registry-ui/blobs/sha256:a3e584d825fe8eeb54d05c3c2cb184136558a4301cdc4799c1a96aa05566e92b deleted file mode 100644 index 6c1d672c..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:a3e584d825fe8eeb54d05c3c2cb184136558a4301cdc4799c1a96aa05566e92b +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:21a4788ed7bfcfdb411dd39729df9a6e8f46a22184798bb35e58bee2e563f977","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:21a4788ed7bfcfdb411dd39729df9a6e8f46a22184798bb35e58bee2e563f977","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T08:09:05.94492225Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T08:09:05.01900066Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T08:09:05.3723126Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T08:09:05.94492225Z","created_by":"/bin/sh -c #(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:614ab75ca7af57dba2da3c165171783c80973480d1c14de88af70cdbd3782fc6"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:b819859c9b57b5b93dc1229ffe0e1e8aa9ec66470f04e97162a8009635f6e90c b/demo/v2/joxit/docker-registry-ui/blobs/sha256:b819859c9b57b5b93dc1229ffe0e1e8aa9ec66470f04e97162a8009635f6e90c deleted file mode 100644 index 096f537b..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:b819859c9b57b5b93dc1229ffe0e1e8aa9ec66470f04e97162a8009635f6e90c +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","author":"Jones MAGLOIRE @Joxit","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.13.9"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:a4249c5c4c3ad98a00ab92e3ca42dfe11a24d34a40045e68d03e3d946763a89e","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"container":"3aed46b3d3640d7836b18e7cb5ada101b13f770a4ab79a2ea88f4e4a1db8353b","container_config":{"Hostname":"3aed46b3d364","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.13.9"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:d0541c7e9868cd8b2bbf353e2b4da7ab408632f189c52efd8a21e2279b1005d3 in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:a4249c5c4c3ad98a00ab92e3ca42dfe11a24d34a40045e68d03e3d946763a89e","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"created":"2018-03-17T07:06:25.638157406Z","docker_version":"17.06.1-ce","history":[{"created":"2018-01-09T21:10:58.365737589Z","created_by":"/bin/sh -c #(nop) ADD file:093f0723fa46f6cdbd6f7bd146448bb70ecce54254c35701feeceb956414622f in / "},{"created":"2018-01-09T21:10:58.579708634Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-02-20T22:54:03.35482938Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-02-20T22:54:03.611511698Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.13.9","empty_layer":true},{"created":"2018-02-21T18:53:00.391519186Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -r \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-02-21T19:25:42.124835754Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-02-21T19:25:42.480165133Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-02-21T19:25:42.687416371Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-02-21T19:25:42.900252398Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-02-21T19:25:43.136716659Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-03-17T07:06:24.800472054Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) MAINTAINER Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-03-17T07:06:25.147429681Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-03-17T07:06:25.638157406Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) COPY dir:d0541c7e9868cd8b2bbf353e2b4da7ab408632f189c52efd8a21e2279b1005d3 in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215","sha256:fd8dbe3c801babf6de0f1c9a1c8ee312a5fd4eea6a142de749b828a12ff25e9d","sha256:b0efd61aab3d79bae6672c8523eed5b658809afb18ddbcaa373fe81db6e857da","sha256:5efc006b5ed6c5697e1d470bb2089f8d4cae257eed7e2548bd1c430c3a47a4d5","sha256:8e4f62693bce21041196d611ca7e268d38e1e5f5a2884932ce80bdceb753b9d9"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:c3cca97469edb8874197c306de569fd0b73aef8269fbd6847f0b6bb6e7992fbf b/demo/v2/joxit/docker-registry-ui/blobs/sha256:c3cca97469edb8874197c306de569fd0b73aef8269fbd6847f0b6bb6e7992fbf deleted file mode 100644 index 551ea1fe..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:c3cca97469edb8874197c306de569fd0b73aef8269fbd6847f0b6bb6e7992fbf +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:09adcf1618945ebcbd157bdb2a47e0d4f96bd1fe8abd594b49ecffd746d91647","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.6"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:d44273c1a4bff72cf2a80ab8b25cde1fd45ed236611a1dd41ccc7b9fcf28399f in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:09adcf1618945ebcbd157bdb2a47e0d4f96bd1fe8abd594b49ecffd746d91647","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-11-20T22:32:11.507614782Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-09-11T22:19:50.165674013Z","created_by":"/bin/sh -c #(nop) ADD file:25c10b1d1b41d46a1827ad0b0d2389c24df6d31430005ff4e9a2d84ea23ebd42 in / "},{"created":"2018-09-11T22:19:50.322783064Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-09-25T17:22:12.727145375Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-11-07T00:23:31.859612937Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.6","empty_layer":true},{"created":"2018-11-07T00:24:43.1747873Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-11-07T00:24:43.615112616Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-11-07T00:24:44.004795869Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-11-07T00:24:44.263608235Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-11-07T00:24:44.539217941Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-11-07T00:24:44.779139334Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-11-20T22:32:10.465453949Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-11-20T22:32:10.883741978Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-11-20T22:32:11.507614782Z","created_by":"/bin/sh -c #(nop) COPY dir:d44273c1a4bff72cf2a80ab8b25cde1fd45ed236611a1dd41ccc7b9fcf28399f in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:df64d3292fd6194b7865d7326af5255db6d81e9df29f48adde61a918fbd8c332","sha256:5abab21bd32ef831b87867414582b5cecc3fff62ceb9d1d7eabb63b1f72cc39f","sha256:42538a727f9ceabb81a8626583a920f1050e5da47969d2c6087e14e181a13f37","sha256:7f875a1274be2e154697c0fbb0efac51ebba929d0ddba68339f12ac6a75668f9","sha256:53a33743089c752ab80e354f4002f51633836eccdc7a39f46afb798100b5e45a"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:c9238341b29dcc3ca8924d61ce246e251c1e33583c60fe54727cc9362cc7e928 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:c9238341b29dcc3ca8924d61ce246e251c1e33583c60fe54727cc9362cc7e928 deleted file mode 100644 index 5fb477dc..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:c9238341b29dcc3ca8924d61ce246e251c1e33583c60fe54727cc9362cc7e928 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:3de7d28ab3ab4f62b2782e89f2d0533759e64ca6a7e9c6d07e769e40ad553cbf","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"eec0a51f776131012cbc84f300b248e8bd03d01524b614c00fb12862cb1153e2","container_config":{"Hostname":"eec0a51f7761","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:3de7d28ab3ab4f62b2782e89f2d0533759e64ca6a7e9c6d07e769e40ad553cbf","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:28:33.85236432Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:28:31.142849782Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:28:31.479032703Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:28:31.955697441Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-25T07:28:32.570873159Z","created_by":"/bin/sh -c #(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "},{"created":"2019-01-25T07:28:33.035572067Z","created_by":"/bin/sh -c #(nop) COPY file:99fca6151414f45a39caf9bbd450be23a814be53e83e0e578243525db2907a22 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-25T07:28:33.469186367Z","created_by":"/bin/sh -c #(nop) COPY file:b546b4025b6116af7fb2d074a691a88184c39de4b3e1b3b3a48e9128badbb67b in /bin "},{"created":"2019-01-25T07:28:33.85236432Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:a713e9ddb50d45f94c7620a35fa6fd4cbfee19a81875df588ae2d435a3bd8fe8","sha256:611178f691a8abef3741c000e7fbd0c23d45fead8beed2d8469604846b2265e9","sha256:73bc97dd4088af98dfcc2c15e87711203a7e9ef164cfc3800bbd2aea28971c39","sha256:72f1c0ec5c2d9d640cdba3472defc068b35f36ca8786249a619ef498897ed6c5"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:ce073450cb3197130310d433019f0ec24fc016a407ae4158b288bfff6aa3946c b/demo/v2/joxit/docker-registry-ui/blobs/sha256:ce073450cb3197130310d433019f0ec24fc016a407ae4158b288bfff6aa3946c deleted file mode 100644 index 74c97881..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:ce073450cb3197130310d433019f0ec24fc016a407ae4158b288bfff6aa3946c +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.0"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:ce3a89dd0d6c73d22fc4af39b1497375236cc32041b7edc1a83d5eec325a4070","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"73278e15edd02d591a6d844d77dcf15e40479a2607640d273230630169f69605","container_config":{"Hostname":"73278e15edd0","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.0"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:596b0281007255c094bb523a4c96a27288cbac02d6c1edd699e21bcafafc58ab in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:ce3a89dd0d6c73d22fc4af39b1497375236cc32041b7edc1a83d5eec325a4070","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-06-14T19:36:01.7039609Z","docker_version":"17.06.2-ee-6","history":[{"created":"2018-01-09T21:10:58.365737589Z","created_by":"/bin/sh -c #(nop) ADD file:093f0723fa46f6cdbd6f7bd146448bb70ecce54254c35701feeceb956414622f in / "},{"created":"2018-01-09T21:10:58.579708634Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-02-20T22:54:03.35482938Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-06-05T18:20:51.809283587Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.0","empty_layer":true},{"created":"2018-06-05T18:21:43.011308152Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-06-05T18:21:43.365007944Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-06-05T18:21:43.732728958Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-06-05T18:21:43.952879352Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-06-05T18:21:44.156306149Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-06-05T18:21:44.363684253Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-06-14T19:36:00.660711579Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-06-14T19:36:01.109269916Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-06-14T19:36:01.7039609Z","created_by":"/bin/sh -c #(nop) COPY dir:596b0281007255c094bb523a4c96a27288cbac02d6c1edd699e21bcafafc58ab in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215","sha256:423678709065a4811988b9d489de2c40641e7ec4af6c58df6749808425bd9b4f","sha256:91295ee173373b42c6aabb02d924c791c286c0a3177a89e3f523942bb7face5b","sha256:951c1d7bace73c6a08701ddf6e4a4bfdc58d8d12e21da4d4ad9a95fa1317599d","sha256:dd88707d8009cb249e62d7d3f77551c9a5537527f581256e07029e350a7229fd"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:cf0be3e61be825c41365df2c3352164d3b040a1da28751366eab290c6bba317f b/demo/v2/joxit/docker-registry-ui/blobs/sha256:cf0be3e61be825c41365df2c3352164d3b040a1da28751366eab290c6bba317f deleted file mode 100644 index cb1d7f71..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:cf0be3e61be825c41365df2c3352164d3b040a1da28751366eab290c6bba317f +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:14e0af7b36a156a1b5a86f163ffb7302470abc224fc94ad8969c31162a0c3751","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:14e0af7b36a156a1b5a86f163ffb7302470abc224fc94ad8969c31162a0c3751","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T08:23:17.202031436Z","docker_version":"18.03.1-ee-3","history":[{"created":"2019-01-22T19:30:32.303100792Z","created_by":"/bin/sh -c #(nop) ADD file:a65337a57a064a79ad8a3f42e8282b3e01710cb4684ccd880463cc8d2e051fa5 in / "},{"created":"2019-01-22T19:30:32.505483836Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2019-01-22T23:27:00.078718612Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2019-01-22T23:27:00.659702199Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2019-01-22T23:27:01.226958052Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2019-01-22T23:27:29.236917835Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2019-01-22T23:27:31.175900846Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2019-01-22T23:27:31.63913019Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2019-01-22T23:27:32.155686901Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2019-01-22T23:27:32.707341021Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T08:23:16.376265356Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T08:23:16.759353746Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T08:23:17.202031436Z","created_by":"/bin/sh -c #(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:3c816b4ead84066ec2cadec2b943993aaacc3fe35fcd77ada3d09dc4f3937313","sha256:787822cf1b17268c7ad2114a7f58fb2743387a5e183815f3f0f1a8a109d33e07","sha256:89decbdf7fb7815678e6f46c9035cdc5c04aeaa1ef63469403d777d5fd14abb8","sha256:cdcb883023dcc1b1f8f1021a34fb5e11e0e2d866411ded4d88542bd7b0cb23c2"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:d2ba0ddfa5d17c4777e4057fae98c085a5d5b2e1a74c0e2c3ae4fd55996a872c b/demo/v2/joxit/docker-registry-ui/blobs/sha256:d2ba0ddfa5d17c4777e4057fae98c085a5d5b2e1a74c0e2c3ae4fd55996a872c deleted file mode 100644 index 7f5e1413..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:d2ba0ddfa5d17c4777e4057fae98c085a5d5b2e1a74c0e2c3ae4fd55996a872c +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:73c968281ed11d364f5a742b59066c781b32aee41b89840baea43437034e73ff","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:73c968281ed11d364f5a742b59066c781b32aee41b89840baea43437034e73ff","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T08:20:45.034731443Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T08:20:44.115544006Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T08:20:44.457974653Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T08:20:45.034731443Z","created_by":"/bin/sh -c #(nop) COPY dir:1300f6bd1b325a3893c9c47a135ef380e48d2310d97a18877f4f75d58968491c in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:0f2605079d68ac038b28a932d690b4dd671ab45ce819bfb8cfff0d327b2d1201"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:de14ee479e35115c64364936038c81c1d808f2e205a9d0f42c326124e281442f b/demo/v2/joxit/docker-registry-ui/blobs/sha256:de14ee479e35115c64364936038c81c1d808f2e205a9d0f42c326124e281442f deleted file mode 100644 index 8961d2fd..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:de14ee479e35115c64364936038c81c1d808f2e205a9d0f42c326124e281442f +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:a05c75bcf9f6b6fc0390e16c349962caa32e8b7c35ccb74076479f46f5b4cc3f","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"e44eb4471b04d0b4c4ec4c766deec68908192e36fdf6597cf39106cddd263a01","container_config":{"Hostname":"e44eb4471b04","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:a05c75bcf9f6b6fc0390e16c349962caa32e8b7c35ccb74076479f46f5b4cc3f","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-25T07:58:40.306825211Z","docker_version":"18.03.1-ee-3","history":[{"created":"2019-01-23T13:04:55.295123497Z","created_by":"/bin/sh -c #(nop) ADD file:c712096b02de85275a955c0292b6e143730d8506009ecc32436b1bd44789dcd1 in / "},{"created":"2019-01-23T13:04:56.243467845Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2019-01-23T14:10:17.6608908Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2019-01-23T14:10:18.152695475Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2019-01-23T14:10:18.668974989Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2019-01-23T14:15:33.406109859Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2019-01-23T14:15:36.510122532Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2019-01-23T14:15:36.949046612Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2019-01-23T14:15:37.397336811Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2019-01-23T14:15:38.20543993Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-25T07:58:37.794288432Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-25T07:58:38.199028537Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-25T07:58:38.64910273Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2019-01-25T07:58:39.098429459Z","created_by":"/bin/sh -c #(nop) COPY dir:eb29fb79a84289ade8fec4ac0a440711036e6265cb4960cf9854f0a474b44924 in /usr/share/nginx/html/ "},{"created":"2019-01-25T07:58:39.541426976Z","created_by":"/bin/sh -c #(nop) COPY file:fe335fa620bbf40ef63235e389a28f7fd50065a4cf533f62551a2ca6f8cf3e08 in /usr/share/nginx/html/scripts/docker-registry-ui.js "},{"created":"2019-01-25T07:58:40.018165439Z","created_by":"/bin/sh -c #(nop) COPY file:b546b4025b6116af7fb2d074a691a88184c39de4b3e1b3b3a48e9128badbb67b in /bin "},{"created":"2019-01-25T07:58:40.306825211Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:1afd0b745c69ae90db9cfbf446c4a201c915075d77e014bbdae238f4bcace562","sha256:1650d37249347dfc4cf4ca58af2d3d92bbf19ddc3cf38aa842bc841f219511ca","sha256:6da126364cb43c8245a26c85d8e4c621d1102f6f2bba97df628de408e3497aa9","sha256:543db1545aa12a4eb4437374b699312e7f2e266bbfa6906741cf664a528c58c3","sha256:01b0ab0c8bb11f6849fbd23ee371ca144785eb206c920a9cfbe02324d3635df1","sha256:f4bdcdd9e7e3b6c13b7761594a41d0004550ff2a1350c2787cad038900048b9c","sha256:ba4cbe149fda61441eb32c8e6fdb6d5978e015955209ef9ee3db41416c06d6b7"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:eeff01f7246318a77165269b13a96f3f75c125c731c41345d53945ab93e52566 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:eeff01f7246318a77165269b13a96f3f75c125c731c41345d53945ab93e52566 deleted file mode 100644 index 8edbea58..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:eeff01f7246318a77165269b13a96f3f75c125c731c41345d53945ab93e52566 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:360d8fd2f0fa005a3022ea5d74969ffddf961ec955fc8b1d2124267f66b5767d","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:12702fc8c5ae14df82a02e0d30e6b7e17ba48fea239dd633234168ed2fb2a456 in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:360d8fd2f0fa005a3022ea5d74969ffddf961ec955fc8b1d2124267f66b5767d","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2019-01-06T04:47:11.251766138Z","docker_version":"18.03.1-ee-3","history":[{"created":"2018-12-21T00:21:29.97055571Z","created_by":"/bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in / "},{"created":"2018-12-21T00:21:30.122610396Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-12-21T01:17:37.685667284Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-26T23:20:54.4074061Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8","empty_layer":true},{"created":"2018-12-26T23:21:51.163859408Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg1 \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-26T23:21:51.38455873Z","created_by":"/bin/sh -c #(nop) COPY file:4c82b9f10b84c5676e254bca55dc60405505b9f8036491860c7bd61ea3eb9047 in /etc/nginx/nginx.conf "},{"created":"2018-12-26T23:21:51.566711197Z","created_by":"/bin/sh -c #(nop) COPY file:ebf4f0eb33621cc016414b2aa2bad4d497b7c5d59ee6bc8f0592625c2134e7ca in /etc/nginx/conf.d/default.conf "},{"created":"2018-12-26T23:21:51.714693317Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-26T23:21:51.894675379Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-26T23:21:52.070954362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2019-01-06T04:47:10.117464339Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2019-01-06T04:47:10.658152766Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2019-01-06T04:47:11.251766138Z","created_by":"/bin/sh -c #(nop) COPY dir:12702fc8c5ae14df82a02e0d30e6b7e17ba48fea239dd633234168ed2fb2a456 in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8","sha256:9108db4b6ca34235ada64b6ca77b21a5a0446ffda859bf0fa1f61b6967ab7afe","sha256:974e2a9f749c92db82a2a1cf69f8b5ff1ef87e0324c53035e8dc7cef4ce5aa23","sha256:a14c6c26f6ba4917dc0ea5763f4ed38ebc07823b2ddc5cf14bf424bfde192f95","sha256:0e9e2513e936985319d2451a4163bfe74be5dd62912db7c328b65200be909c68"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:ef410ecc797305dca1b53549b3a312c004383aa07f8940010186e80f73512cbe b/demo/v2/joxit/docker-registry-ui/blobs/sha256:ef410ecc797305dca1b53549b3a312c004383aa07f8940010186e80f73512cbe deleted file mode 100644 index 50666660..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:ef410ecc797305dca1b53549b3a312c004383aa07f8940010186e80f73512cbe +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.1-1~stretch","NJS_VERSION=1.15.1.0.2.2-1~stretch"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:b5a090ad7703d123b9d2bedb7dfeac29516d24b10267ab3ed9f78c06fae44ac2","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"186a903dee3ec5b5fc0b093b6b399efe7e7ce7849d68628ff999473d47e4c7fe","container_config":{"Hostname":"186a903dee3e","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.1-1~stretch","NJS_VERSION=1.15.1.0.2.2-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:b5a090ad7703d123b9d2bedb7dfeac29516d24b10267ab3ed9f78c06fae44ac2","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-07-23T18:50:19.494631797Z","docker_version":"18.03.1-ee-1-tp5","history":[{"created":"2018-07-17T00:28:04.351838344Z","created_by":"/bin/sh -c #(nop) ADD file:919939fa022472751b717443eea9f1d7ab5c0723f1f3a6b776d3b83d22bde818 in / "},{"created":"2018-07-17T00:28:04.679637846Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-07-17T04:21:11.96281791Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-07-17T04:21:12.209713911Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.1-1~stretch","empty_layer":true},{"created":"2018-07-17T04:21:12.420975454Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.1.0.2.2-1~stretch","empty_layer":true},{"created":"2018-07-17T04:21:53.666306342Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-07-17T04:21:54.609540799Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-07-17T04:21:54.908198842Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-07-17T04:21:55.155267457Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-07-17T04:21:55.441361362Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-07-23T18:50:16.653506033Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-07-23T18:50:16.99358422Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-07-23T18:50:17.475943064Z","created_by":"/bin/sh -c #(nop) COPY file:00c89c90a99653fef2201b5f18d7b40556068ef3ef787045cce688a3086a0152 in /etc/nginx/conf.d/default.conf "},{"created":"2018-07-23T18:50:17.906149701Z","created_by":"/bin/sh -c #(nop) COPY dir:41490bb193b8db51bb73d26c4d8a8200a7c0cdb548574a62bf106d7cf7eae80f in /usr/share/nginx/html/ "},{"created":"2018-07-23T18:50:18.282288698Z","created_by":"/bin/sh -c #(nop) COPY file:30fda60d918802e740bf603d9bdc180fe86957aeda21e2450d00d4adac11035f in /usr/share/nginx/html/scripts/script.js "},{"created":"2018-07-23T18:50:18.707535847Z","created_by":"/bin/sh -c #(nop) COPY file:89523b250820b35ae373459b6e46a7f8e6be305d357aebff4948dffb8b30e821 in /usr/share/nginx/html/scripts/tags.js "},{"created":"2018-07-23T18:50:19.199269589Z","created_by":"/bin/sh -c #(nop) COPY file:edab35006bca827124d0e8c16873906f60f81befa9f9b51bc4cf9e748d5ce499 in /bin "},{"created":"2018-07-23T18:50:19.494631797Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cdb3f9544e4c61d45da1ea44f7d92386639a052c620d1550376f22f5b46981af","sha256:190f3188c8aacc4f8c2859855eed3f9040737e48496fd1a93abf3f54a43a8891","sha256:d1bade4185feadb0cb4e357a6f0af8436c3a1cbdb76a5583247e2edb0633facd","sha256:18d36a87ff3906d5ed8b27d4ffc3c90de6fe9e0e2c237ca4d0d30803fe450938","sha256:4e778803769920e4f4c936b5c35bf8f95790df89c612e08cebd1701f221ec918","sha256:d0ff9073a64b9b6a9bb20a8f011fa813d18b551ec43dc97674f19a65a718c601","sha256:1cd3d8056d0576b5e6954f5b4904a37141ee9280a0abb5956b6e80415c20e064","sha256:dd0992c591f73b64cf5f881b9e21182eef10ff83ddf00c384466c169c5b93538"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/blobs/sha256:f2877265a11b58f17667b21decee7620b61e71ca49c84ebc1e83903488de10a1 b/demo/v2/joxit/docker-registry-ui/blobs/sha256:f2877265a11b58f17667b21decee7620b61e71ca49c84ebc1e83903488de10a1 deleted file mode 100644 index a769f122..00000000 --- a/demo/v2/joxit/docker-registry-ui/blobs/sha256:f2877265a11b58f17667b21decee7620b61e71ca49c84ebc1e83903488de10a1 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.0"],"Cmd":null,"ArgsEscaped":true,"Image":"sha256:adc5e01c43d7890c5f95e7274642f6494bcfac0f6af649eea9d07a4f8dabfaa9","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"container":"b67f6dd5cf0b267865a95bd64f58a60c8314dbd73b54ef69bdc38cc412c1a748","container_config":{"Hostname":"b67f6dd5cf0b","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.0"],"Cmd":["/bin/sh","-c","#(nop) ","ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]"],"ArgsEscaped":true,"Image":"sha256:adc5e01c43d7890c5f95e7274642f6494bcfac0f6af649eea9d07a4f8dabfaa9","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":["/bin/sh","-c","entrypoint"],"OnBuild":[],"Labels":{"maintainer":"Jones MAGLOIRE @Joxit"},"StopSignal":"SIGTERM"},"created":"2018-06-14T19:36:02.797258338Z","docker_version":"17.06.2-ee-6","history":[{"created":"2018-01-09T21:10:58.365737589Z","created_by":"/bin/sh -c #(nop) ADD file:093f0723fa46f6cdbd6f7bd146448bb70ecce54254c35701feeceb956414622f in / "},{"created":"2018-01-09T21:10:58.579708634Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-02-20T22:54:03.35482938Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-06-05T18:20:51.809283587Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.0","empty_layer":true},{"created":"2018-06-05T18:21:43.011308152Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-06-05T18:21:43.365007944Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-06-05T18:21:43.732728958Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-06-05T18:21:43.952879352Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-06-05T18:21:44.156306149Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-06-05T18:21:44.363684253Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-06-14T19:35:59.299689989Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-06-14T19:35:59.742374658Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-06-14T19:36:00.176517761Z","created_by":"/bin/sh -c #(nop) COPY file:be080cc1fe3573c464a72ce14ede87449d1f52ab55335bcf3befbb990097984e in /etc/nginx/conf.d/default.conf "},{"created":"2018-06-14T19:36:00.741389365Z","created_by":"/bin/sh -c #(nop) COPY dir:596b0281007255c094bb523a4c96a27288cbac02d6c1edd699e21bcafafc58ab in /usr/share/nginx/html/ "},{"created":"2018-06-14T19:36:01.242411931Z","created_by":"/bin/sh -c #(nop) COPY file:4e0c5b3122c41ec2f57a57f95690aa73a6ae1d544fc3b9f0882f9ff0578745a0 in /usr/share/nginx/html/scripts/script.js "},{"created":"2018-06-14T19:36:01.874804324Z","created_by":"/bin/sh -c #(nop) COPY file:80defa943bb6a774cf7e9a639e25d68c750461ed8684ac1f29f8f5299c2096fa in /usr/share/nginx/html/scripts/tags.js "},{"created":"2018-06-14T19:36:02.381897308Z","created_by":"/bin/sh -c #(nop) COPY file:292877e3e84fc0fb466170ad0666a48f63ef150dc58d44c2c7bba91c130c8a80 in /bin "},{"created":"2018-06-14T19:36:02.797258338Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/sh\" \"-c\" \"entrypoint\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215","sha256:423678709065a4811988b9d489de2c40641e7ec4af6c58df6749808425bd9b4f","sha256:91295ee173373b42c6aabb02d924c791c286c0a3177a89e3f523942bb7face5b","sha256:951c1d7bace73c6a08701ddf6e4a4bfdc58d8d12e21da4d4ad9a95fa1317599d","sha256:a55fd24b114ed45371d35f1318274e842d1abace3e69d1270da954fd55906ff2","sha256:c8053222029df296ab3183377f5326e04868f8fe8a8ad41e82e1a50a776b5371","sha256:8142760c13b16d0d64d4774289324e9a4bbd568c4ca00640e949b606ab8b8812","sha256:3bcdb60102d6e8f54daad585cee6e9f750d922e5b3cbc39a8919a5d3730ba76e","sha256:b52702eecd3428f2e5ef6a2ec90927ffb8ce57cd344bbc90f1d3870abc8a580e"]}} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.2 b/demo/v2/joxit/docker-registry-ui/manifests/0.2 deleted file mode 100644 index 4fdbd461..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.2 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9149,"digest":"sha256:b819859c9b57b5b93dc1229ffe0e1e8aa9ec66470f04e97162a8009635f6e90c"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2065537,"digest":"sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5793952,"digest":"sha256:b4f3ef22ce5b66e7231a887f75949353361d0af7b53ebcdc32eaaf77cbb2e2aa"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":487,"digest":"sha256:8a6541d11dc3512a4db5c2d5e0e5b7542775b7e14c088ce6fb993262715748ae"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:7e869e2dcf68e1ed911813a96254fde3ff58cbf1e0641ffb68c36275f8c68c40"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":367435,"digest":"sha256:070e88cc35da784dd4a109fd1d142c662047a5bfeaa1ae506faf0ba9846488ff"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.2-static b/demo/v2/joxit/docker-registry-ui/manifests/0.2-static deleted file mode 100644 index c8ad7b4d..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.2-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7797,"digest":"sha256:754e7e39c291e2100cc06c9e82ae2623a60baf691b89a32f8ed655a183da1cb8"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22488979,"digest":"sha256:2a72cbf407d67c7a7a76dd48e432091678e297140dce050ad5eccad918a9f8d6"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":21993443,"digest":"sha256:eccc107d7abd0e70046b82b73d5e5d53ec33fd6a0bef8231c52be2f3486ca32f"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:76aa3935d77c8c436652580479edcefd91e627507a356e957583dd12215a56e7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":367436,"digest":"sha256:48ec57ac365e0f96a48f1735a24d3a5bcf413f95608afab68ca829557dba735b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1152,"digest":"sha256:dd56f3a8b1e5ee2fe325315f1d917ee68dbc1307d31de97fd43483200fd7228c"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2658,"digest":"sha256:edf9db7a138d7bfad8daaab3fd1b8e6a9388a52296e994c15407726a724be28c"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":324,"digest":"sha256:3f836ed58dd9893c844659695dde107b6da293ae3d2597f45ae04b07d9557d14"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.3 b/demo/v2/joxit/docker-registry-ui/manifests/0.3 deleted file mode 100644 index edf9ce41..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.3 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8946,"digest":"sha256:ce073450cb3197130310d433019f0ec24fc016a407ae4158b288bfff6aa3946c"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2065537,"digest":"sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5833353,"digest":"sha256:d81b148fab7c3ce295657d0f8b621824e7afc19a8edd4abbf20b9dbafb2f62c7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":490,"digest":"sha256:f9fe12447daf15e667ba4c67d66c585ac07273748d5ccf78af1544e67324953b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:ad017fd52da2cac5b962bc191e9d40397b93e73027d21240477274d154784222"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":336683,"digest":"sha256:c451cab73ccbd177e68a2e3a9583fa52e5542f049602ed4a4645de5afa6dc51b"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.3-debian b/demo/v2/joxit/docker-registry-ui/manifests/0.3-debian deleted file mode 100644 index 703f3ce7..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.3-debian +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6480,"digest":"sha256:0132a9e0699727a863cdddaae3ffe1bfb312267f0df732ce06d623ca2f1afd4a"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22485906,"digest":"sha256:be8881be8156e4068e611fe956aba2b9593ebd953be14fb7feea6d0659aa3abe"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22136082,"digest":"sha256:f2f27ed9664fca45cca0897d7a818800b7d32e1a9c0bdc4a1e604702235280b7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":204,"digest":"sha256:54ff137eb1b2178cb9419bd77a59b6a4504633b35552853f98ff4043d3c2dbdc"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":337679,"digest":"sha256:e7492ce1c3ddb80ab146f812402e72f59870a985f58c941b2ee83c62ad991a28"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.3-debian-static b/demo/v2/joxit/docker-registry-ui/manifests/0.3-debian-static deleted file mode 100644 index 3baddfdb..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.3-debian-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7729,"digest":"sha256:ef410ecc797305dca1b53549b3a312c004383aa07f8940010186e80f73512cbe"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22485906,"digest":"sha256:be8881be8156e4068e611fe956aba2b9593ebd953be14fb7feea6d0659aa3abe"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22136082,"digest":"sha256:f2f27ed9664fca45cca0897d7a818800b7d32e1a9c0bdc4a1e604702235280b7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":204,"digest":"sha256:54ff137eb1b2178cb9419bd77a59b6a4504633b35552853f98ff4043d3c2dbdc"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":849,"digest":"sha256:85edb5c9337e21b3304835b12303939765a072a76c843b2bf6ba44d4aa5e94e1"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":337678,"digest":"sha256:931efc7de8127dac6dbeec134a0aafc60c6e5bc7f2ad65b4ede8a64bbabb0d5b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1559,"digest":"sha256:d8a17ffe5e89a81a91ff07fbf122f8b7a2f506e90290c9a2b9832978cbb44d60"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":3478,"digest":"sha256:5cbcf112f2890dfc7de50f2b88bd0034086df622f9897520a138b16de641da81"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":396,"digest":"sha256:b56928aad9e6208a2dcdbbdf888426b01f45951023fbf36e5a68935e69881e72"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.3-static b/demo/v2/joxit/docker-registry-ui/manifests/0.3-static deleted file mode 100644 index 3db4ec94..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.3-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":10108,"digest":"sha256:f2877265a11b58f17667b21decee7620b61e71ca49c84ebc1e83903488de10a1"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2065537,"digest":"sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5833353,"digest":"sha256:d81b148fab7c3ce295657d0f8b621824e7afc19a8edd4abbf20b9dbafb2f62c7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":490,"digest":"sha256:f9fe12447daf15e667ba4c67d66c585ac07273748d5ccf78af1544e67324953b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:ad017fd52da2cac5b962bc191e9d40397b93e73027d21240477274d154784222"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":837,"digest":"sha256:16ddc778553afbb993045d7715fd5a9b5aad5072d800e2697399c603c68c3cb4"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":336681,"digest":"sha256:2dfdd1d29d5ef4542da752163bba25fdf013f81c5d484b08048bf394f6c5f18f"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1391,"digest":"sha256:8fc6f767674523231f11387c8f7922f8aba2fc8fa29dcbf81aefeee58481bfa8"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2831,"digest":"sha256:0734f165b9fb13d0a84a9d8d1855ddf62ac48059ab36ba1057c164004afb4703"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":398,"digest":"sha256:061c54bddde125bfea18a9963885a5d4fe50117c906e51767da143132a3c460a"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.3.0 b/demo/v2/joxit/docker-registry-ui/manifests/0.3.0 deleted file mode 100644 index aa96db64..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.3.0 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":10105,"digest":"sha256:34754f5270032ae9cad70c6e58c53c5f07e7d7db4c407725d96d8743f98dfd7d"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2065537,"digest":"sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5833353,"digest":"sha256:d81b148fab7c3ce295657d0f8b621824e7afc19a8edd4abbf20b9dbafb2f62c7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":490,"digest":"sha256:f9fe12447daf15e667ba4c67d66c585ac07273748d5ccf78af1544e67324953b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:ad017fd52da2cac5b962bc191e9d40397b93e73027d21240477274d154784222"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":849,"digest":"sha256:facc1257cc264ce12d5795c28e6ac649a7dfc1934bd9588840eba2253862cace"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":337516,"digest":"sha256:ab8f1df833c2ca3c50cb6b451cc389996189711dfe1b92003a3d728b81801c84"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1405,"digest":"sha256:e1c71178faffa529cd4c3184a838bef49b0aaaa37961192ae5106d0cac6ec1cb"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":3475,"digest":"sha256:25e24a94b69c21099696902824a2c9b5b2702142daf2ceff7b7503df497c6ce0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":403,"digest":"sha256:13c745ae3f2db9ef4ab95f74227d9d17b7ad57d359936402cd1b15bd118cc091"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.3.0-static b/demo/v2/joxit/docker-registry-ui/manifests/0.3.0-static deleted file mode 100644 index aa96db64..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.3.0-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":10105,"digest":"sha256:34754f5270032ae9cad70c6e58c53c5f07e7d7db4c407725d96d8743f98dfd7d"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2065537,"digest":"sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5833353,"digest":"sha256:d81b148fab7c3ce295657d0f8b621824e7afc19a8edd4abbf20b9dbafb2f62c7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":490,"digest":"sha256:f9fe12447daf15e667ba4c67d66c585ac07273748d5ccf78af1544e67324953b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:ad017fd52da2cac5b962bc191e9d40397b93e73027d21240477274d154784222"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":849,"digest":"sha256:facc1257cc264ce12d5795c28e6ac649a7dfc1934bd9588840eba2253862cace"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":337516,"digest":"sha256:ab8f1df833c2ca3c50cb6b451cc389996189711dfe1b92003a3d728b81801c84"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1405,"digest":"sha256:e1c71178faffa529cd4c3184a838bef49b0aaaa37961192ae5106d0cac6ec1cb"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":3475,"digest":"sha256:25e24a94b69c21099696902824a2c9b5b2702142daf2ceff7b7503df497c6ce0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":403,"digest":"sha256:13c745ae3f2db9ef4ab95f74227d9d17b7ad57d359936402cd1b15bd118cc091"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.4 b/demo/v2/joxit/docker-registry-ui/manifests/0.4 deleted file mode 100644 index 90fe8a2e..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.4 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8860,"digest":"sha256:c3cca97469edb8874197c306de569fd0b73aef8269fbd6847f0b6bb6e7992fbf"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2206931,"digest":"sha256:4fe2ade4980c2dda4fc95858ebb981489baec8c1e4bd282ab1c3560be8ff9bde"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5530797,"digest":"sha256:e11b023b07a0c222dd4ef40e7e270c629d028264dfe1f538f9f831d13a8991c0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":492,"digest":"sha256:aaf7d5908de55e0233f57e802d18f47b9d869fb801c9125760cc61ae90fccc46"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:8ae3a5ca453fd6da9b2a361117bd3d39eb01c46c85b368a2f2ef30f4ecdf984b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338157,"digest":"sha256:02155856a84cf21280e5ed8b806d1447b00105df3161a8d793fbcb7fe9f0360e"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.4-debian b/demo/v2/joxit/docker-registry-ui/manifests/0.4-debian deleted file mode 100644 index 62060dc3..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.4-debian +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6478,"digest":"sha256:59752d8484e28e7cc78367e041dae9abf901e4a1463cecbe7c8da1d8b1b8bf1f"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22486277,"digest":"sha256:a5a6f2f73cd8abbdc55d0df0d8834f7262713e87d6c8800ea3851f103025e0f0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22204196,"digest":"sha256:67da5fbcb7a04397eda35dccb073d8569d28de13172fbd569fbb7a3e30b5886b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:e82455fa5628738170735528c8db36567b5423ec59802a1e2c084ed42b082527"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338162,"digest":"sha256:2979df83f4504ccb29308f0f8fea2e56951e922a9b34a1169e4e76a22560d176"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.4-debian-static b/demo/v2/joxit/docker-registry-ui/manifests/0.4-debian-static deleted file mode 100644 index 8b11b019..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.4-debian-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7467,"digest":"sha256:462e63a3ccc5313f27bd7645fa9724bd285f079fa7eddd85ba216b7533d15dde"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22486277,"digest":"sha256:a5a6f2f73cd8abbdc55d0df0d8834f7262713e87d6c8800ea3851f103025e0f0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22204196,"digest":"sha256:67da5fbcb7a04397eda35dccb073d8569d28de13172fbd569fbb7a3e30b5886b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:e82455fa5628738170735528c8db36567b5423ec59802a1e2c084ed42b082527"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":850,"digest":"sha256:a102fc4519113b2ad5ac7d964d20745a482654bb7a3c8a3b36fde6092106ff86"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338163,"digest":"sha256:5c28bbe963b7cc7f9d97628af365f72ae51358f532c9ca42f684e931d15a7b4c"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":4365,"digest":"sha256:32bc94f83df4c411010dd99a05f45417c21fb7617a26d50cf57649d69e33f868"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":404,"digest":"sha256:55de73db13412a14ce428b178e2ff2bcb42999e72637af8fccfe9fd1b69410a0"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.4-static b/demo/v2/joxit/docker-registry-ui/manifests/0.4-static deleted file mode 100644 index b63ea0d0..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.4-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9851,"digest":"sha256:945480c91d321706c01b9c7008416f0e6567e571748ff0322120587bb28a2011"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2206931,"digest":"sha256:4fe2ade4980c2dda4fc95858ebb981489baec8c1e4bd282ab1c3560be8ff9bde"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5530797,"digest":"sha256:e11b023b07a0c222dd4ef40e7e270c629d028264dfe1f538f9f831d13a8991c0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":492,"digest":"sha256:aaf7d5908de55e0233f57e802d18f47b9d869fb801c9125760cc61ae90fccc46"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:8ae3a5ca453fd6da9b2a361117bd3d39eb01c46c85b368a2f2ef30f4ecdf984b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":844,"digest":"sha256:37aead32428f258f5900860894cd830f000c23d399a80542c749424120686dc9"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338152,"digest":"sha256:a119cc63d3799c5ae645ebe394f873398f9ad9d71210d5ab9a1c21f44f2bce10"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":4354,"digest":"sha256:eee0c92191cf651ee872239596d12b459887e7df2411effab2638781deb92369"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":406,"digest":"sha256:867bd0ae6cb9d27d0ab562e993bf20a37bb07c791ba563f8bae4a3cf29a45147"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.5 b/demo/v2/joxit/docker-registry-ui/manifests/0.5 deleted file mode 100644 index 77090d20..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.5 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8861,"digest":"sha256:2f5177a4cf41c3f737b5b1bd6b4adcaf311d323dcbb742c662ba5c769083ed21"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2206931,"digest":"sha256:4fe2ade4980c2dda4fc95858ebb981489baec8c1e4bd282ab1c3560be8ff9bde"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535581,"digest":"sha256:2963b79251cbc43763339016369cd0d6b2dbe2a6f799e9936259cfa407bf93e4"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":492,"digest":"sha256:8ce2a7ad052e8e390c30ff41a6faa0ce5de42cb8b2082ef78f8695cbb43d7bf7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":630,"digest":"sha256:8571e73c6abf7d274f5feb87bf7cc9d0b7a0d63ee4e89b7368ee46a69ac644df"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338327,"digest":"sha256:7388f741e300450dfe68076f0fa57ac2e68601edf6369972cef9c8c4f1b0e3c6"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.5-debian b/demo/v2/joxit/docker-registry-ui/manifests/0.5-debian deleted file mode 100644 index 28c07dde..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.5-debian +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6479,"digest":"sha256:4d7df6f655fbb4e47f0103a39daf2e54944d66c28e3199aa92a924c8d95ad963"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22486277,"digest":"sha256:a5a6f2f73cd8abbdc55d0df0d8834f7262713e87d6c8800ea3851f103025e0f0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22205174,"digest":"sha256:1ba02017c4b278fe664e669af5e2eff59f92259df6c2f15261f150ae66599dff"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:33b176c904dea23b745303a0a69511750d009ac04fd9957520975a0546a67799"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338334,"digest":"sha256:210740d9628021157f51c55d4510546827ec64d5ee4b5105f85f0b0b5168c110"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.5-debian-static b/demo/v2/joxit/docker-registry-ui/manifests/0.5-debian-static deleted file mode 100644 index 4df4c761..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.5-debian-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7468,"digest":"sha256:84955175fe3ab1375d60676e1f5db6b0e0b87a28412587823c20ecc527e9b5a5"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22486277,"digest":"sha256:a5a6f2f73cd8abbdc55d0df0d8834f7262713e87d6c8800ea3851f103025e0f0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22205174,"digest":"sha256:1ba02017c4b278fe664e669af5e2eff59f92259df6c2f15261f150ae66599dff"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:33b176c904dea23b745303a0a69511750d009ac04fd9957520975a0546a67799"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":848,"digest":"sha256:89b978a407e7a40b978a660beda40732992205c08783d6d82a36c9d853c32eb7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338334,"digest":"sha256:d22dba22a2a1cadba0d64dae0c20af3d526889be63cf21d9ac3370ff686da9ad"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":4496,"digest":"sha256:667e5eef933b5ef05fa18ecc2460fb54d3848b45afc5bc54cdfa9f8815926231"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":407,"digest":"sha256:3212b1bf2d6fd71145d96cd58f97f5c969990f0fb13b26c858c0ed394593ade8"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.5-static b/demo/v2/joxit/docker-registry-ui/manifests/0.5-static deleted file mode 100644 index 00c3e320..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.5-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9851,"digest":"sha256:7ce20c30831e04cafbb566ddad63b8131d46ed4ad89703e582892827dbf4e74b"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2206931,"digest":"sha256:4fe2ade4980c2dda4fc95858ebb981489baec8c1e4bd282ab1c3560be8ff9bde"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535581,"digest":"sha256:2963b79251cbc43763339016369cd0d6b2dbe2a6f799e9936259cfa407bf93e4"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":492,"digest":"sha256:8ce2a7ad052e8e390c30ff41a6faa0ce5de42cb8b2082ef78f8695cbb43d7bf7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":630,"digest":"sha256:8571e73c6abf7d274f5feb87bf7cc9d0b7a0d63ee4e89b7368ee46a69ac644df"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":851,"digest":"sha256:ff6934e8e0afdd8ee4b488caead0c14481f04400b0360e35b3245696a2b5ed01"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":338325,"digest":"sha256:a65364be63290b59c6f8260562a37aad9d34e8d512ffba348288bbbda86b63a4"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":4490,"digest":"sha256:3b427d5d88172713b95a9df65f52147d64aa017a4d9025ce84cfd3ddf97a6942"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":406,"digest":"sha256:4310e646fa174dbb3d370f64f0e166c1b3b3d8cc1b5e377b1b899f69e2e01f09"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.6 b/demo/v2/joxit/docker-registry-ui/manifests/0.6 deleted file mode 100644 index 00c1d575..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.6 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8856,"digest":"sha256:eeff01f7246318a77165269b13a96f3f75c125c731c41345d53945ab93e52566"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":375645,"digest":"sha256:793d043bf13fca331b3ba849e4c11e6a98a2551a8f59e1493d18541c232d1144"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.6-debian b/demo/v2/joxit/docker-registry-ui/manifests/0.6-debian deleted file mode 100644 index 5bfd9127..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.6-debian +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6475,"digest":"sha256:2d6b75e8020ef2000d6a838fbd82a91baf63b43810d42ff34e75c0a837235b7a"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22492916,"digest":"sha256:177e7ef0df6987e0c5738a1fb5aba98b6b6e7a5fef992e481977dbb5ba3f91be"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229779,"digest":"sha256:ea57c53235dfe1ae1db219ca7cda6210c8f875367bcb892fdc6d86c047174f3d"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":204,"digest":"sha256:bbdb1fbd4a86c36dbc219ff18eba7a332d7a41a4101731874da06a708d4db2f9"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":375627,"digest":"sha256:9ce61e0bb14ec7df51569f5e55eb087112ea553e0a3b2fb1be80bc3e724f60fd"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.6-debian-static b/demo/v2/joxit/docker-registry-ui/manifests/0.6-debian-static deleted file mode 100644 index 4d36e1aa..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.6-debian-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7464,"digest":"sha256:7fa0b3bfaac3de30a8459bb0686a50ca641ebcc941bf22cca83dd5f3bf472634"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22492916,"digest":"sha256:177e7ef0df6987e0c5738a1fb5aba98b6b6e7a5fef992e481977dbb5ba3f91be"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229779,"digest":"sha256:ea57c53235dfe1ae1db219ca7cda6210c8f875367bcb892fdc6d86c047174f3d"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":204,"digest":"sha256:bbdb1fbd4a86c36dbc219ff18eba7a332d7a41a4101731874da06a708d4db2f9"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":848,"digest":"sha256:45179b79be5c6fbf3f1176de20d772bd694d90ca8dd52471eb139fe02eb04194"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":375629,"digest":"sha256:a12ff02db17ad323cf329c843dd5e67d4a9f44e508a57a2c72ee28cc291132cb"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6007,"digest":"sha256:7984baab26ca42eeb16e0525b7b826bec1a076affbd4b2dc9a163e6b9cb12f73"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":406,"digest":"sha256:28fa86d77aaa757604367a399848b8fb2b5f2522dbf93362f98b90a862bf6d47"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/0.6-static b/demo/v2/joxit/docker-registry-ui/manifests/0.6-static deleted file mode 100644 index 39cc8b9a..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/0.6-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9846,"digest":"sha256:4c9dddf8f39953b1860e83b94ef4c0d452d10a550c1e285feca965cc579d2535"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":847,"digest":"sha256:9b1b1f04343aa8ac9b80d2639e15059f4020416c7b903a8f23bf67020cf7e269"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":375642,"digest":"sha256:69adc4ca8736ed24567022546eb0860d83a0f870e0f1e602aa1df47f8b90aa74"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6000,"digest":"sha256:79cfc386aadc6a2656903749ce209ab371ab023c3b8d7d4d6349b02f20787ef2"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":407,"digest":"sha256:e460318f7cf41f40ad0103a8495bf1cb8588717324ac1939cc901341432e2dcd"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/1.0 b/demo/v2/joxit/docker-registry-ui/manifests/1.0 deleted file mode 100644 index 15270960..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/1.0 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8851,"digest":"sha256:a3e584d825fe8eeb54d05c3c2cb184136558a4301cdc4799c1a96aa05566e92b"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377015,"digest":"sha256:a3a156b14fd56dbf9ba045bf6cb8c31e31b318fefc8933ff5274ead99cb2b834"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/1.0-debian b/demo/v2/joxit/docker-registry-ui/manifests/1.0-debian deleted file mode 100644 index b0e0b787..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/1.0-debian +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6476,"digest":"sha256:cf0be3e61be825c41365df2c3352164d3b040a1da28751366eab290c6bba317f"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22500707,"digest":"sha256:5e6ec7f28fb77f84f64b8c29fcb0a746260563f5858315e3e9fcc4aee2844840"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229795,"digest":"sha256:ab804f9bbcbe56bd453382373757c73b0d02efb6beadca0e45a4558911a87594"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:052b395f16bcb36d7f7781a596a831139187760b6cbadf61b5b731bbc41d2690"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377005,"digest":"sha256:865c1ca206935a9f8fb2bd9ccb2b519f203e6e20c2eb41646d523ba2a0d1f2f9"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/1.0-debian-static b/demo/v2/joxit/docker-registry-ui/manifests/1.0-debian-static deleted file mode 100644 index 49946170..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/1.0-debian-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7465,"digest":"sha256:2a5c152cf2a21986771311045ca67caf98f14c3e913a27582f8db1dd840e02f1"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22500707,"digest":"sha256:5e6ec7f28fb77f84f64b8c29fcb0a746260563f5858315e3e9fcc4aee2844840"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229795,"digest":"sha256:ab804f9bbcbe56bd453382373757c73b0d02efb6beadca0e45a4558911a87594"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:052b395f16bcb36d7f7781a596a831139187760b6cbadf61b5b731bbc41d2690"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":849,"digest":"sha256:cb43f84713f5e841dcd7f312b2f988ae02702dd0c990000afc678fab248101be"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377006,"digest":"sha256:a9494c5d0b2dba4920c780143506a3027927083e5916ddd0c0847f8dd7b60812"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6392,"digest":"sha256:70538cb8711ad9edb0527210b6121cb68516d525dabecee93a445c77b80d8cfc"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":407,"digest":"sha256:31a64bf1f1cf5d50ebbfebffc095a62f1c93c06383f4d9380ccfcd8de79a0bb6"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/1.0-static b/demo/v2/joxit/docker-registry-ui/manifests/1.0-static deleted file mode 100644 index 4815e47c..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/1.0-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8853,"digest":"sha256:2fa0503f7f85b8983aba5f3a9dcec6b81f8acd38ce90fa419ca0ea0c8cd1d8b5"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2206931,"digest":"sha256:4fe2ade4980c2dda4fc95858ebb981489baec8c1e4bd282ab1c3560be8ff9bde"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5530797,"digest":"sha256:e11b023b07a0c222dd4ef40e7e270c629d028264dfe1f538f9f831d13a8991c0"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":492,"digest":"sha256:aaf7d5908de55e0233f57e802d18f47b9d869fb801c9125760cc61ae90fccc46"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":625,"digest":"sha256:8ae3a5ca453fd6da9b2a361117bd3d39eb01c46c85b368a2f2ef30f4ecdf984b"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377030,"digest":"sha256:ec6cd7a681db3e146e84b6f55ebb9bb65b239bf136eb9e1fe2f34535d7403f65"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/arm32v7 b/demo/v2/joxit/docker-registry-ui/manifests/arm32v7 deleted file mode 100644 index 058e9a6e..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/arm32v7 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6474,"digest":"sha256:4672df90c399a1bf61e08f122bff303fd3059febd8c4dfdfdd68a016037122bb"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":19290286,"digest":"sha256:433444f4a04d4a68d83dfe1e90ccfe3d02ce163939e9b79dd87136d956b49408"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":20866281,"digest":"sha256:e49a2ddf3ab62320cdd67133efc4f6dc118cc2850342dd59b6d0696b27f36219"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:08ac71c06960d1eaaadee6cefc2b407d73efecb8f0226389a6848fa0f0066fd7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377003,"digest":"sha256:bc5b4c34ddd8cf4ec5bf41bb7f2694e6318942514d845d215cab5606bfb91b99"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/arm32v7-static b/demo/v2/joxit/docker-registry-ui/manifests/arm32v7-static deleted file mode 100644 index 51f9a774..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/arm32v7-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7464,"digest":"sha256:de14ee479e35115c64364936038c81c1d808f2e205a9d0f42c326124e281442f"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":19290286,"digest":"sha256:433444f4a04d4a68d83dfe1e90ccfe3d02ce163939e9b79dd87136d956b49408"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":20866281,"digest":"sha256:e49a2ddf3ab62320cdd67133efc4f6dc118cc2850342dd59b6d0696b27f36219"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:08ac71c06960d1eaaadee6cefc2b407d73efecb8f0226389a6848fa0f0066fd7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":849,"digest":"sha256:249b013a881e3bccbd19c94e697d13c1a2637d8142d71e515526cc83f6fc56f9"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377004,"digest":"sha256:67a91d1b3f91d8473b77079f8967d72ff1fcbc96140c385d6759a04097546802"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6396,"digest":"sha256:83276734f51d9516703b7c68e3a4e9ae5e6980baf98a444f2dadda587f21575e"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":404,"digest":"sha256:065858ce5f6e323493ef6023e6ceba4ecbf4c2d4a42b23d3a8a5f61a31435f58"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/arm64v8 b/demo/v2/joxit/docker-registry-ui/manifests/arm64v8 deleted file mode 100644 index afed3091..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/arm64v8 +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6474,"digest":"sha256:9f812386d08a3a898429f4ff1b2e350c24a4fb46f4b038defb122c4739647bbc"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":20350180,"digest":"sha256:711c3a2baeda87a6b9816cb812388d62d17396034e595a68d8ee5f938f9d77b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":21575316,"digest":"sha256:09af038856219494746875334915109e7d1ce0957e692851dd05f75ed79c1818"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:3584b4893c02d9e62f192640c94bc29cd4ece947e5c6ba49c4e37f68a932b643"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377005,"digest":"sha256:5ea25953dbeb169cd709bb22a91f4b7bc679c68eb46538952efa32561bf7c0a1"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/arm64v8-static b/demo/v2/joxit/docker-registry-ui/manifests/arm64v8-static deleted file mode 100644 index f0cbc5d0..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/arm64v8-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7464,"digest":"sha256:3598d6b8ab493a927c29106bfc54a61bef9b9dfc0ce3703f815678b7ede10133"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":20350180,"digest":"sha256:711c3a2baeda87a6b9816cb812388d62d17396034e595a68d8ee5f938f9d77b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":21575316,"digest":"sha256:09af038856219494746875334915109e7d1ce0957e692851dd05f75ed79c1818"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:3584b4893c02d9e62f192640c94bc29cd4ece947e5c6ba49c4e37f68a932b643"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":847,"digest":"sha256:97a13a3d30dfed6b13f3a95d304b07733cd2a78482ebfead6c5a19edc9f946da"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377005,"digest":"sha256:9d9b865d96a7d6385f87b1a957e9c8057ffe75cedc10c1919a2a76d5c8c4dd5c"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6392,"digest":"sha256:029a6d5a3fd0bf6e0e9f5bd7fa47fdc6cb82eaf25223865e0e5743b8eb5b4c0e"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":407,"digest":"sha256:3d2317202ec33cfbf1a72cf82f8396f645294a514a6d2a77c33ff9f056996f54"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/debian b/demo/v2/joxit/docker-registry-ui/manifests/debian deleted file mode 100644 index b0e0b787..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/debian +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6476,"digest":"sha256:cf0be3e61be825c41365df2c3352164d3b040a1da28751366eab290c6bba317f"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22500707,"digest":"sha256:5e6ec7f28fb77f84f64b8c29fcb0a746260563f5858315e3e9fcc4aee2844840"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229795,"digest":"sha256:ab804f9bbcbe56bd453382373757c73b0d02efb6beadca0e45a4558911a87594"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:052b395f16bcb36d7f7781a596a831139187760b6cbadf61b5b731bbc41d2690"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377005,"digest":"sha256:865c1ca206935a9f8fb2bd9ccb2b519f203e6e20c2eb41646d523ba2a0d1f2f9"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/debian-static b/demo/v2/joxit/docker-registry-ui/manifests/debian-static deleted file mode 100644 index 49946170..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/debian-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7465,"digest":"sha256:2a5c152cf2a21986771311045ca67caf98f14c3e913a27582f8db1dd840e02f1"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22500707,"digest":"sha256:5e6ec7f28fb77f84f64b8c29fcb0a746260563f5858315e3e9fcc4aee2844840"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229795,"digest":"sha256:ab804f9bbcbe56bd453382373757c73b0d02efb6beadca0e45a4558911a87594"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":203,"digest":"sha256:052b395f16bcb36d7f7781a596a831139187760b6cbadf61b5b731bbc41d2690"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":849,"digest":"sha256:cb43f84713f5e841dcd7f312b2f988ae02702dd0c990000afc678fab248101be"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377006,"digest":"sha256:a9494c5d0b2dba4920c780143506a3027927083e5916ddd0c0847f8dd7b60812"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6392,"digest":"sha256:70538cb8711ad9edb0527210b6121cb68516d525dabecee93a445c77b80d8cfc"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":407,"digest":"sha256:31a64bf1f1cf5d50ebbfebffc095a62f1c93c06383f4d9380ccfcd8de79a0bb6"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/latest b/demo/v2/joxit/docker-registry-ui/manifests/latest deleted file mode 100644 index c847da2d..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8856,"digest":"sha256:d2ba0ddfa5d17c4777e4057fae98c085a5d5b2e1a74c0e2c3ae4fd55996a872c"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377020,"digest":"sha256:52bf7307852b121160c90a435d9979989e7e12a36db08bbd423bca1f2f07c3c0"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/master b/demo/v2/joxit/docker-registry-ui/manifests/master deleted file mode 100644 index bfc99300..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/master +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":8854,"digest":"sha256:69325d6c4509c9fbf7279965b6ba6fe97c0c4b371ca82a73e0438fa8227afee6"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377018,"digest":"sha256:831d7b86d96a23273da38e5357e1cc6f21228ca8346f7ef13ec00e13557a25c8"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/master-static b/demo/v2/joxit/docker-registry-ui/manifests/master-static deleted file mode 100644 index 069cb1c8..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/master-static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9845,"digest":"sha256:c9238341b29dcc3ca8924d61ce246e251c1e33583c60fe54727cc9362cc7e928"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":848,"digest":"sha256:c667303b7ebb40481726afdd94e883fd4827426fd7f5b68ad1a9cca860098d46"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377016,"digest":"sha256:d8e57ff00837975f28cc6d5bed70ba62da382170c91abfb2b40865f5d7d779c2"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6383,"digest":"sha256:b242155a0a71f5dee5535934f8abee2594c59c19aa8a6bced9fe5909b160971e"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":406,"digest":"sha256:4de0ee1235c7c460cf1a0037a5f19365b3114dacdc9028549d37a5be43d4ebd8"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/manifests/static b/demo/v2/joxit/docker-registry-ui/manifests/static deleted file mode 100644 index 1b3e459a..00000000 --- a/demo/v2/joxit/docker-registry-ui/manifests/static +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9847,"digest":"sha256:53b8ecb2f9809d94a5d3681731b417a6ce72e5f9e7df7a49f63e3ee7e029a9ab"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2207025,"digest":"sha256:cd784148e3483c2c86c50a48e535302ab0288bebd587accf40b714fffd0646b3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5535735,"digest":"sha256:6e3058b2db8a6014d1395fbf478446e8af611c39df514978c66f23394871b006"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":494,"digest":"sha256:7ca4d29669c121345b3ecaddc9f6908c05b6de3c6ef9773f677fecb7d0f895d7"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:a14cf6997716d72a070dca609539a16e09938e066f18bb9a69f5d0c2ac2a28ac"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":848,"digest":"sha256:6b6951ba6764258b604ebd61171fe7f6621d70f3981a9c7348460cbe59307555"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":377013,"digest":"sha256:1a490b3551e2ee7e28b53208acbf3a81735f26de66b8da7735e392c51614a81f"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":6386,"digest":"sha256:22fb3fcdc6538ffbc6b5cd7ca30ca8c913db05144ac6fbb44955e54f379e55f3"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":407,"digest":"sha256:8ad6ae8c22ec97b5f5c6071846158197cba85e3c39645ba5e616dca3b2ecb287"}]} \ No newline at end of file diff --git a/demo/v2/joxit/docker-registry-ui/tags/list b/demo/v2/joxit/docker-registry-ui/tags/list deleted file mode 100644 index 907c26c7..00000000 --- a/demo/v2/joxit/docker-registry-ui/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"joxit/docker-registry-ui","tags":["1.0","debian-static","0.4-debian-static","0.3.0-static","0.2","0.4-debian","0.5-debian-static","0.6","1.0-debian","0.3","0.2-static","0.6-static","0.5-static","arm64v8-static","1.0-static","1.0-debian-static","arm64v8","latest","arm32v7-static","arm32v7","master","0.6-debian","0.5","master-static","0.3-debian","0.6-debian-static","debian","0.5-debian","0.3-static","0.3-debian-static","0.3.0","0.4-static","static","0.4"]} diff --git a/demo/v2/joxit/kosmtik/blobs/sha256:d6d8588a8fe6397622ce275398f337d5a3b2584de9da166f2c6ed0b67083ca93 b/demo/v2/joxit/kosmtik/blobs/sha256:d6d8588a8fe6397622ce275398f337d5a3b2584de9da166f2c6ed0b67083ca93 deleted file mode 100644 index 98e702bb..00000000 --- a/demo/v2/joxit/kosmtik/blobs/sha256:d6d8588a8fe6397622ce275398f337d5a3b2584de9da166f2c6ed0b67083ca93 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"6789/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NPM_CONFIG_LOGLEVEL=warn","USER_ID=0","NODE_PATH=/usr/lib/node_modules/"],"Cmd":["kosmtik","serve"],"ArgsEscaped":true,"Image":"sha256:126998402a11a3e9df5c3449d62b2f7bc6177ee1ca2bcb0aa8315f50a8364dc3","Volumes":null,"WorkingDir":"/opt/project","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones Magloire @Joxit"}},"container":"eafee657ebbb8e0cbfb6cb7cc95e6c530bf37a3fe135084c050a44822db5922e","container_config":{"Hostname":"eafee657ebbb","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"6789/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NPM_CONFIG_LOGLEVEL=warn","USER_ID=0","NODE_PATH=/usr/lib/node_modules/"],"Cmd":["/bin/sh","-c","#(nop) ","CMD [\"kosmtik\" \"serve\"]"],"ArgsEscaped":true,"Image":"sha256:126998402a11a3e9df5c3449d62b2f7bc6177ee1ca2bcb0aa8315f50a8364dc3","Volumes":null,"WorkingDir":"/opt/project","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones Magloire @Joxit"}},"created":"2018-04-22T07:10:46.610033985Z","docker_version":"17.06.1-ce","history":[{"created":"2018-03-13T22:27:37.022366567Z","created_by":"/bin/sh -c #(nop) ADD file:e3250bb9848f956bdb43b205f1237df0d81a25088c95dbdeb20a1e2baf1d884f in / "},{"created":"2018-03-13T22:27:37.3121465Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-04-22T06:59:43.015381485Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones Magloire @Joxit","empty_layer":true},{"created":"2018-04-22T06:59:43.488979295Z","created_by":"/bin/sh -c #(nop) ENV NPM_CONFIG_LOGLEVEL=warn","empty_layer":true},{"created":"2018-04-22T06:59:43.731038037Z","created_by":"/bin/sh -c #(nop) ENV USER_ID=0","empty_layer":true},{"created":"2018-04-22T06:59:44.146847045Z","created_by":"/bin/sh -c #(nop) ENV NODE_PATH=/usr/lib/node_modules/","empty_layer":true},{"created":"2018-04-22T06:59:44.516663481Z","created_by":"/bin/sh -c #(nop) WORKDIR /opt/kosmtik"},{"created":"2018-04-22T07:10:45.700110786Z","created_by":"/bin/sh -c apt-get update \u0026\u0026 apt-get install -y --no-install-recommends curl ca-certificates gpg \u0026\u0026 curl -sL https://deb.nodesource.com/setup_6.x | bash - \u0026\u0026 apt-get install -y nodejs \u0026\u0026 curl -sL https://github.com/kosmtik/kosmtik/archive/master.tar.gz | tar xz --strip-components=1 \u0026\u0026 npm install --production \u0026\u0026 node index.js plugins --install kosmtik-tiles-export \u0026\u0026 node index.js plugins --install kosmtik-fetch-remote \u0026\u0026 node index.js plugins --install kosmtik-overlay \u0026\u0026 node index.js plugins --install kosmtik-deploy \u0026\u0026 node index.js plugins --install kosmtik-overpass-layer \u0026\u0026 node index.js plugins --install kosmtik-map-compare \u0026\u0026 node index.js plugins --install kosmtik-mapnik-reference \u0026\u0026 node index.js plugins --install kosmtik-osm-data-overlay \u0026\u0026 node index.js plugins --install kosmtik-mbtiles-export \u0026\u0026 node index.js plugins --install kosmtik-overpass-layer \u0026\u0026 node index.js plugins --install kosmtik-place-search \u0026\u0026 node index.js plugins --install kosmtik-geojson-overlay \u0026\u0026 node index.js plugins --install kosmtik-open-in-josm \u0026\u0026 npm uninstall npm \u0026\u0026 npm cache clean \u0026\u0026 apt-get autoremove -y --purge curl gpg \u0026\u0026 rm -rf /var/lib/apt/lists/*"},{"created":"2018-04-22T07:10:45.934434683Z","created_by":"/bin/sh -c #(nop) COPY file:e8a1a6bcbd6331a04ca6c56b49e1dd61fd12a8794d0cacd4673a4714aefa7316 in /bin/kosmtik "},{"created":"2018-04-22T07:10:46.113467981Z","created_by":"/bin/sh -c #(nop) WORKDIR /opt/project"},{"created":"2018-04-22T07:10:46.419460747Z","created_by":"/bin/sh -c #(nop) EXPOSE 6789/tcp","empty_layer":true},{"created":"2018-04-22T07:10:46.610033985Z","created_by":"/bin/sh -c #(nop) CMD [\"kosmtik\" \"serve\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:3358360aedad76edf49d0022818228d959d20a4cccc55d01c32f8b62e226e2c2","sha256:54556e545e47f38be2796425e0f5d0a2b65e4753c41ea7818c1af54e18cf7f6e","sha256:3c494a45e7e3a32463e77f1c9596e6ff1148531c2a963c21c72c54f183c4957c","sha256:80c9530552443771b56a60d6e987c0e0ae4088ef8ac4d8f213bd7658ad0ce2c5","sha256:a2a09416fc54613ac0f6a6a2f514e4c45bf50b20c5806ea61e968410cb219e84"]}} \ No newline at end of file diff --git a/demo/v2/joxit/kosmtik/manifests/latest b/demo/v2/joxit/kosmtik/manifests/latest deleted file mode 100644 index 8a236b43..00000000 --- a/demo/v2/joxit/kosmtik/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":4765,"digest":"sha256:d6d8588a8fe6397622ce275398f337d5a3b2584de9da166f2c6ed0b67083ca93"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22488979,"digest":"sha256:2a72cbf407d67c7a7a76dd48e432091678e297140dce050ad5eccad918a9f8d6"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":115,"digest":"sha256:01a12542a7912405cab1f8ef28b67763a9f09b537032ad3be24d81ae56dc2b05"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":89917756,"digest":"sha256:f37ddff9a29bcbcf6705771d6f74c587b91efac86fe4d82d2f840d3a48fac113"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":271,"digest":"sha256:3b802ba7d2a2b83b8f4b96dc26d7c6d0aae1543503c7c5db214040d99e57eaed"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":115,"digest":"sha256:881c61607a3acb08897ab7b554a89aabcd83759ea2091b454b1f59a1841a3c21"}]} \ No newline at end of file diff --git a/demo/v2/joxit/kosmtik/tags/list b/demo/v2/joxit/kosmtik/tags/list deleted file mode 100644 index f6d53352..00000000 --- a/demo/v2/joxit/kosmtik/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"joxit/kosmtik","tags":["latest"]} diff --git a/demo/v2/joxit/node/blobs/sha256:3e3d75a476f5185ffac049eb6912d3743cd65d0eaf060950a18dc0f88d372eb8 b/demo/v2/joxit/node/blobs/sha256:3e3d75a476f5185ffac049eb6912d3743cd65d0eaf060950a18dc0f88d372eb8 deleted file mode 100644 index 6f4b3b0a..00000000 --- a/demo/v2/joxit/node/blobs/sha256:3e3d75a476f5185ffac049eb6912d3743cd65d0eaf060950a18dc0f88d372eb8 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NODE_VERSION=9.11.1","YARN_VERSION=1.5.1","WORKDIR=/usr/src/app","USER_ID=0","NODE_PATH=:./node_libraries:./lib/node"],"Cmd":["node"],"ArgsEscaped":true,"Image":"sha256:3c3076195de335335dacc9c806d9908560c9b096ba058fdd3c3070dc693f776b","Volumes":null,"WorkingDir":"/usr/src/app","Entrypoint":["entrypoint"],"OnBuild":[],"Labels":null},"container":"7193de4dbaf5fa56eab9c5dfd60b9d4717d8a05a13633053e81687cc6dcc4740","container_config":{"Hostname":"7193de4dbaf5","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NODE_VERSION=9.11.1","YARN_VERSION=1.5.1","WORKDIR=/usr/src/app","USER_ID=0","NODE_PATH=:./node_libraries:./lib/node"],"Cmd":["/bin/sh","-c","#(nop) ","CMD [\"node\"]"],"ArgsEscaped":true,"Image":"sha256:3c3076195de335335dacc9c806d9908560c9b096ba058fdd3c3070dc693f776b","Volumes":null,"WorkingDir":"/usr/src/app","Entrypoint":["entrypoint"],"OnBuild":[],"Labels":{}},"created":"2018-04-22T07:19:44.697296524Z","docker_version":"17.06.1-ce","history":[{"created":"2018-03-13T21:57:21.878934737Z","created_by":"/bin/sh -c #(nop) ADD file:bc844c4763367b5f0ac7b9aebf7d43900d98f2aca101b886f185347b24973dbe in / "},{"created":"2018-03-13T21:57:22.263785594Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-03-13T23:39:20.874181783Z","created_by":"/bin/sh -c apt-get update \u0026\u0026 apt-get install -y --no-install-recommends \t\tca-certificates \t\tcurl \t\twget \t\u0026\u0026 rm -rf /var/lib/apt/lists/*"},{"created":"2018-03-13T23:39:21.569591098Z","created_by":"/bin/sh -c set -ex; \tif ! command -v gpg \u003e /dev/null; then \t\tapt-get update; \t\tapt-get install -y --no-install-recommends \t\t\tgnupg \t\t\tdirmngr \t\t; \t\trm -rf /var/lib/apt/lists/*; \tfi","empty_layer":true},{"created":"2018-03-15T05:03:47.28039601Z","created_by":"/bin/sh -c groupadd --gid 1000 node \u0026\u0026 useradd --uid 1000 --gid node --shell /bin/bash --create-home node"},{"created":"2018-03-15T05:03:53.064204823Z","created_by":"/bin/sh -c set -ex \u0026\u0026 for key in 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 FD3A5288F042B6850C66B31F09FE44734EB7990E 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 DD8F2338BAE7501E3DD5AC78C273792F7D83545D C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 B9AE9905FFD7803F25714661B63B535A4C206CA9 56730D5401028683275BD23C23EFEFE93C4CFFFE 77984A986EBC2AA786BC0F66B01FBB92821C587A ; do gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys \"$key\" || gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys \"$key\" || gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys \"$key\" ; done"},{"created":"2018-04-06T18:55:25.044450383Z","created_by":"/bin/sh -c #(nop) ENV NODE_VERSION=9.11.1","empty_layer":true},{"created":"2018-04-06T18:55:49.547640405Z","created_by":"/bin/sh -c buildDeps='xz-utils' \u0026\u0026 ARCH= \u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \u0026\u0026 case \"${dpkgArch##*-}\" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86';; *) echo \"unsupported architecture\"; exit 1 ;; esac \u0026\u0026 set -x \u0026\u0026 apt-get update \u0026\u0026 apt-get install -y $buildDeps --no-install-recommends \u0026\u0026 rm -rf /var/lib/apt/lists/* \u0026\u0026 curl -SLO \"https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz\" \u0026\u0026 curl -SLO --compressed \"https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc\" \u0026\u0026 gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \u0026\u0026 grep \" node-v$NODE_VERSION-linux-$ARCH.tar.xz\\$\" SHASUMS256.txt | sha256sum -c - \u0026\u0026 tar -xJf \"node-v$NODE_VERSION-linux-$ARCH.tar.xz\" -C /usr/local --strip-components=1 --no-same-owner \u0026\u0026 rm \"node-v$NODE_VERSION-linux-$ARCH.tar.xz\" SHASUMS256.txt.asc SHASUMS256.txt \u0026\u0026 apt-get purge -y --auto-remove $buildDeps \u0026\u0026 ln -s /usr/local/bin/node /usr/local/bin/nodejs"},{"created":"2018-04-06T18:55:49.915781018Z","created_by":"/bin/sh -c #(nop) ENV YARN_VERSION=1.5.1","empty_layer":true},{"created":"2018-04-06T18:55:52.991775395Z","created_by":"/bin/sh -c set -ex \u0026\u0026 for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys \"$key\" || gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys \"$key\" || gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys \"$key\" ; done \u0026\u0026 curl -fSLO --compressed \"https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz\" \u0026\u0026 curl -fSLO --compressed \"https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc\" \u0026\u0026 gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \u0026\u0026 mkdir -p /opt \u0026\u0026 tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \u0026\u0026 ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \u0026\u0026 ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \u0026\u0026 rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz"},{"created":"2018-04-06T18:55:53.3044404Z","created_by":"/bin/sh -c #(nop) CMD [\"node\"]","empty_layer":true},{"created":"2018-04-22T07:18:18.020567198Z","created_by":"/bin/sh -c #(nop) WORKDIR /usr/src/app"},{"created":"2018-04-22T07:18:18.368559221Z","created_by":"/bin/sh -c #(nop) ENV WORKDIR=/usr/src/app USER_ID=0 NODE_PATH=:./node_libraries:./lib/node","empty_layer":true},{"created":"2018-04-22T07:19:43.023986629Z","created_by":"/bin/sh -c apt-get update \u0026\u0026 apt-get install --no-install-recommends -y git"},{"created":"2018-04-22T07:19:44.034630994Z","created_by":"/bin/sh -c #(nop) COPY file:8e0c5dcaf9afe9e05709656ffab12efabce84379ced99e609b12c6377579fd4e in /bin/ "},{"created":"2018-04-22T07:19:44.342873708Z","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"entrypoint\"]","empty_layer":true},{"created":"2018-04-22T07:19:44.697296524Z","created_by":"/bin/sh -c #(nop) CMD [\"node\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:8fad67424c4e7098f255513e160caa00852bcff347bc9f920a82ddf3f60229de","sha256:86985c679800f423275a0ea3ad540e9b7f522dcdcd65ec2b20f407996162f2e0","sha256:18523e587478b4463b5392847ebe579d2bd441ccc5495d487cfa38fe5f1dd596","sha256:35c70c66c3d931d9071759a9218fab6b642c5c74596b35d0bac74cb61c63d256","sha256:189dddf572516eccbad1adf3d1ff6b5ee5a24efc8295b2f61ba48250ba466218","sha256:e33ba6068200f0ed7e8f8c97ef21fbea6a940b2d23bac0cf3ccb3e0d77fa9004","sha256:60b28fa4579003bff13e2b59461506a99d8b01515bd7acdadf9bf267aaea45d3","sha256:10f4544369fc97613af60437a8a969e08759b46741fc313bb6c43e4044560ab5","sha256:79b23348db75171d2e5a64a713d8f561e4082529c409b052ba284e222ae8f087"]}} \ No newline at end of file diff --git a/demo/v2/joxit/node/manifests/latest b/demo/v2/joxit/node/manifests/latest deleted file mode 100644 index 66cf7bdf..00000000 --- a/demo/v2/joxit/node/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":7318,"digest":"sha256:3e3d75a476f5185ffac049eb6912d3743cd65d0eaf060950a18dc0f88d372eb8"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":52608519,"digest":"sha256:f2b6b4884fc8b2f1fcef843f92f7c82c9c149df85ac77e5f0de7a342ae442412"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":19266189,"digest":"sha256:4fb899b4df216ab398fb05547f86dc371db944cf53dea7913d2f4261ed09e2be"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":4406,"digest":"sha256:c669d5da499dfc3f959bff647d84aa109d42bd9dc4a84cd1736607a9a193931e"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":117624,"digest":"sha256:03e8ff4c87216eb5e2bdc5aeab7d50e312312df3b9358eac4f84cd10c0db8d7c"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":18852414,"digest":"sha256:45cea6895e80bf8c8c5d132c993207bb86f1c7082521136bd44ce938ee895987"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1061041,"digest":"sha256:9eabd4fe2d386b4496d5f45478c484eab6f9d3c7933f18760580ddf1e506df29"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":126,"digest":"sha256:3f2dc43d01950905ce9091ad1ac463e334313b3644dade6fbd176c91350cc13d"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":32716103,"digest":"sha256:39ce2d4955b7bf8369a4530c203df6554ca08f36e2d5a32fb5dde978ce346222"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":210,"digest":"sha256:9c9ab56df3b3ae9c3a6762a320b23019d7a421c61133bbe9dc473b6ce76c0604"}]} \ No newline at end of file diff --git a/demo/v2/joxit/node/tags/list b/demo/v2/joxit/node/tags/list deleted file mode 100644 index 36c0401f..00000000 --- a/demo/v2/joxit/node/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"joxit/node","tags":["latest"]} diff --git a/demo/v2/joxit/rust-openssl/blobs/sha256:76f6485f9c4367c7d2e097107ef30a609ab3fe6f9ec5e0cd493836788ea5f744 b/demo/v2/joxit/rust-openssl/blobs/sha256:76f6485f9c4367c7d2e097107ef30a609ab3fe6f9ec5e0cd493836788ea5f744 deleted file mode 100644 index c1cf1e21..00000000 --- a/demo/v2/joxit/rust-openssl/blobs/sha256:76f6485f9c4367c7d2e097107ef30a609ab3fe6f9ec5e0cd493836788ea5f744 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","RUST_ARCHIVE=rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz","RUST_DOWNLOAD_URL=https://static.rust-lang.org/dist/rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz"],"Cmd":["bash"],"ArgsEscaped":true,"Image":"sha256:edea13cac76c9b119b9d351b54eae056adeeac45c8fe222f997c0d4da39ea7e9","Volumes":null,"WorkingDir":"/opt/rust","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones Magloire @Joxit"}},"container":"b51118cc9a633171331bb8cb5dcf311d2a4df6c2e94919097f78ec14d9a87047","container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","RUST_ARCHIVE=rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz","RUST_DOWNLOAD_URL=https://static.rust-lang.org/dist/rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz"],"Cmd":["/bin/sh","-c","apt-get update \u0026\u0026 apt-get install -y --no-install-recommends ca-certificates wget gcc libssl-dev libc6-dev \u0026\u0026 mkdir build \u0026\u0026 cd build \u0026\u0026 wget -q $RUST_DOWNLOAD_URL \u0026\u0026 wget -q -O - $RUST_DOWNLOAD_URL.sha256 | sha256sum -c - \u0026\u0026 tar -xzf $RUST_ARCHIVE --strip-components=1 \u0026\u0026 ./install.sh --without=rust-docs \u0026\u0026 cd /opt/rust \u0026\u0026 rm -r build \u0026\u0026 apt-get autoremove --purge -y wget ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/*"],"ArgsEscaped":true,"Image":"sha256:edea13cac76c9b119b9d351b54eae056adeeac45c8fe222f997c0d4da39ea7e9","Volumes":null,"WorkingDir":"/opt/rust","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"Jones Magloire @Joxit"}},"created":"2018-04-23T19:31:20.063343503Z","docker_version":"17.06.1-ce","history":[{"created":"2018-03-13T21:58:13.06934669Z","created_by":"/bin/sh -c #(nop) ADD file:080bac9a2cdcc70ad61e50045a26172f0e1acfd3a26360cb86b6e26a3307b2e1 in / "},{"created":"2018-03-13T21:58:13.410390285Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-04-23T19:27:56.610576104Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=Jones Magloire @Joxit","empty_layer":true},{"created":"2018-04-23T19:27:56.889529507Z","created_by":"/bin/sh -c #(nop) WORKDIR /opt/rust"},{"created":"2018-04-23T19:27:57.075066211Z","created_by":"/bin/sh -c #(nop) ENV RUST_ARCHIVE=rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz","empty_layer":true},{"created":"2018-04-23T19:27:57.267817734Z","created_by":"/bin/sh -c #(nop) ENV RUST_DOWNLOAD_URL=https://static.rust-lang.org/dist/rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz","empty_layer":true},{"created":"2018-04-23T19:31:20.063343503Z","created_by":"/bin/sh -c apt-get update \u0026\u0026 apt-get install -y --no-install-recommends ca-certificates wget gcc libssl-dev libc6-dev \u0026\u0026 mkdir build \u0026\u0026 cd build \u0026\u0026 wget -q $RUST_DOWNLOAD_URL \u0026\u0026 wget -q -O - $RUST_DOWNLOAD_URL.sha256 | sha256sum -c - \u0026\u0026 tar -xzf $RUST_ARCHIVE --strip-components=1 \u0026\u0026 ./install.sh --without=rust-docs \u0026\u0026 cd /opt/rust \u0026\u0026 rm -r build \u0026\u0026 apt-get autoremove --purge -y wget ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/*"}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:43efe85a991cac5894f91ee8f45b328bbacd14966d89a8a00b0d06060c64b5ad","sha256:6134cbe4aa8215e5127b9a7f78a5932e872208ac50a83d7cc5a8c0c24df7f5ed","sha256:1f50ce63f366a8fcc45bb2bed24faeb08dfe21a103ae601615f70a2d6da70e6b"]}} \ No newline at end of file diff --git a/demo/v2/joxit/rust-openssl/manifests/latest b/demo/v2/joxit/rust-openssl/manifests/latest deleted file mode 100644 index 94d030d3..00000000 --- a/demo/v2/joxit/rust-openssl/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":3824,"digest":"sha256:76f6485f9c4367c7d2e097107ef30a609ab3fe6f9ec5e0cd493836788ea5f744"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":30122402,"digest":"sha256:b0568b191983bc2844b2fdb48aeefa72452931bfead0a87e0515bfc602ea3b0c"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":110,"digest":"sha256:2b0951d2bd3ee93660e0ae7a2275bfe5e6a7888d55cf02711324eea55f603626"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":192542535,"digest":"sha256:468da4244b9657b5052c3fead6e9ba4cbf676fe74299e45e34a10d2f661ca8f0"}]} \ No newline at end of file diff --git a/demo/v2/joxit/rust-openssl/tags/list b/demo/v2/joxit/rust-openssl/tags/list deleted file mode 100644 index 0f4c7702..00000000 --- a/demo/v2/joxit/rust-openssl/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"joxit/rust-openssl","tags":["latest"]} diff --git a/demo/v2/joxit/tile-server-ui/blobs/sha256:7920601b3d805caa96ead6165a33f0735b3b66d91096f2c7584e3a8e9ba558e5 b/demo/v2/joxit/tile-server-ui/blobs/sha256:7920601b3d805caa96ead6165a33f0735b3b66d91096f2c7584e3a8e9ba558e5 deleted file mode 100644 index 351ebc75..00000000 --- a/demo/v2/joxit/tile-server-ui/blobs/sha256:7920601b3d805caa96ead6165a33f0735b3b66d91096f2c7584e3a8e9ba558e5 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","author":"Jones MAGLOIRE @Joxit","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.13.12"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:24a60758f8a88982b4d7a05c4cd09ce60adb47ee5dbc53bc5127ada80222b013","Volumes":null,"WorkingDir":"/usr/share/nginx/html/","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"container":"18b8a17e3fe9791d75cc33e6b77fac12bf5abffdf124eb303b088c6097cdf72e","container_config":{"Hostname":"18b8a17e3fe9","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.13.12"],"Cmd":["/bin/sh","-c","#(nop) COPY dir:091c99540f9c9e0e0a00384f7b1f15fda5dfe5be736a9070a94ec5f1a7e94a8c in /usr/share/nginx/html/ "],"ArgsEscaped":true,"Image":"sha256:24a60758f8a88982b4d7a05c4cd09ce60adb47ee5dbc53bc5127ada80222b013","Volumes":null,"WorkingDir":"/usr/share/nginx/html","Entrypoint":null,"OnBuild":[],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"created":"2018-04-21T19:13:09.702000481Z","docker_version":"17.06.1-ce","history":[{"created":"2018-01-09T21:10:58.365737589Z","created_by":"/bin/sh -c #(nop) ADD file:093f0723fa46f6cdbd6f7bd146448bb70ecce54254c35701feeceb956414622f in / "},{"created":"2018-01-09T21:10:58.579708634Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2018-02-20T22:54:03.35482938Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-04-10T18:27:27.451937599Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.13.12","empty_layer":true},{"created":"2018-04-10T18:28:27.360274017Z","created_by":"/bin/sh -c GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \t\u0026\u0026 CONFIG=\"\t\t--prefix=/etc/nginx \t\t--sbin-path=/usr/sbin/nginx \t\t--modules-path=/usr/lib/nginx/modules \t\t--conf-path=/etc/nginx/nginx.conf \t\t--error-log-path=/var/log/nginx/error.log \t\t--http-log-path=/var/log/nginx/access.log \t\t--pid-path=/var/run/nginx.pid \t\t--lock-path=/var/run/nginx.lock \t\t--http-client-body-temp-path=/var/cache/nginx/client_temp \t\t--http-proxy-temp-path=/var/cache/nginx/proxy_temp \t\t--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \t\t--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \t\t--http-scgi-temp-path=/var/cache/nginx/scgi_temp \t\t--user=nginx \t\t--group=nginx \t\t--with-http_ssl_module \t\t--with-http_realip_module \t\t--with-http_addition_module \t\t--with-http_sub_module \t\t--with-http_dav_module \t\t--with-http_flv_module \t\t--with-http_mp4_module \t\t--with-http_gunzip_module \t\t--with-http_gzip_static_module \t\t--with-http_random_index_module \t\t--with-http_secure_link_module \t\t--with-http_stub_status_module \t\t--with-http_auth_request_module \t\t--with-http_xslt_module=dynamic \t\t--with-http_image_filter_module=dynamic \t\t--with-http_geoip_module=dynamic \t\t--with-threads \t\t--with-stream \t\t--with-stream_ssl_module \t\t--with-stream_ssl_preread_module \t\t--with-stream_realip_module \t\t--with-stream_geoip_module=dynamic \t\t--with-http_slice_module \t\t--with-mail \t\t--with-mail_ssl_module \t\t--with-compat \t\t--with-file-aio \t\t--with-http_v2_module \t\" \t\u0026\u0026 addgroup -S nginx \t\u0026\u0026 adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \t\u0026\u0026 apk add --no-cache --virtual .build-deps \t\tgcc \t\tlibc-dev \t\tmake \t\topenssl-dev \t\tpcre-dev \t\tzlib-dev \t\tlinux-headers \t\tcurl \t\tgnupg \t\tlibxslt-dev \t\tgd-dev \t\tgeoip-dev \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \t\u0026\u0026 curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc -o nginx.tar.gz.asc \t\u0026\u0026 export GNUPGHOME=\"$(mktemp -d)\" \t\u0026\u0026 found=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $GPG_KEYS from $server\"; \t\tgpg --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$GPG_KEYS\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $GPG_KEYS\" \u0026\u0026 exit 1; \tgpg --batch --verify nginx.tar.gz.asc nginx.tar.gz \t\u0026\u0026 rm -rf \"$GNUPGHOME\" nginx.tar.gz.asc \t\u0026\u0026 mkdir -p /usr/src \t\u0026\u0026 tar -zxC /usr/src -f nginx.tar.gz \t\u0026\u0026 rm nginx.tar.gz \t\u0026\u0026 cd /usr/src/nginx-$NGINX_VERSION \t\u0026\u0026 ./configure $CONFIG --with-debug \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 mv objs/nginx objs/nginx-debug \t\u0026\u0026 mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so \t\u0026\u0026 mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \t\u0026\u0026 mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ./configure $CONFIG \t\u0026\u0026 make -j$(getconf _NPROCESSORS_ONLN) \t\u0026\u0026 make install \t\u0026\u0026 rm -rf /etc/nginx/html/ \t\u0026\u0026 mkdir /etc/nginx/conf.d/ \t\u0026\u0026 mkdir -p /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/index.html /usr/share/nginx/html/ \t\u0026\u0026 install -m644 html/50x.html /usr/share/nginx/html/ \t\u0026\u0026 install -m755 objs/nginx-debug /usr/sbin/nginx-debug \t\u0026\u0026 install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_image_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \t\u0026\u0026 install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \t\u0026\u0026 ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \t\u0026\u0026 strip /usr/sbin/nginx* \t\u0026\u0026 strip /usr/lib/nginx/modules/*.so \t\u0026\u0026 rm -rf /usr/src/nginx-$NGINX_VERSION \t\t\u0026\u0026 apk add --no-cache --virtual .gettext gettext \t\u0026\u0026 mv /usr/bin/envsubst /tmp/ \t\t\u0026\u0026 runDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' /usr/sbin/nginx /usr/lib/nginx/modules/*.so /tmp/envsubst \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\" \t\u0026\u0026 apk add --no-cache --virtual .nginx-rundeps $runDeps \t\u0026\u0026 apk del .build-deps \t\u0026\u0026 apk del .gettext \t\u0026\u0026 mv /tmp/envsubst /usr/local/bin/ \t\t\u0026\u0026 apk add --no-cache tzdata \t\t\u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-04-10T18:28:27.84388069Z","created_by":"/bin/sh -c #(nop) COPY file:af94db45bb7e4b8ff4e699f1ff6f41c348f9876073ad91d6e803070415f8d9ce in /etc/nginx/nginx.conf "},{"created":"2018-04-10T18:28:28.260335605Z","created_by":"/bin/sh -c #(nop) COPY file:1d1ac3b9a14c94a709efa20da1c4268a931f1a234e782801ce5912fdcf53a7af in /etc/nginx/conf.d/default.conf "},{"created":"2018-04-10T18:28:28.536568621Z","created_by":"/bin/sh -c #(nop) EXPOSE 80/tcp","empty_layer":true},{"created":"2018-04-10T18:28:28.80753809Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL [SIGTERM]","empty_layer":true},{"created":"2018-04-10T18:28:29.068030039Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2018-04-21T19:13:08.866371243Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) MAINTAINER Jones MAGLOIRE @Joxit","empty_layer":true},{"created":"2018-04-21T19:13:09.233073931Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) WORKDIR /usr/share/nginx/html/","empty_layer":true},{"created":"2018-04-21T19:13:09.702000481Z","author":"Jones MAGLOIRE @Joxit","created_by":"/bin/sh -c #(nop) COPY dir:091c99540f9c9e0e0a00384f7b1f15fda5dfe5be736a9070a94ec5f1a7e94a8c in /usr/share/nginx/html/ "}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215","sha256:90c4db1d5ef5c1e76f8122c304e136efe277b4a26aaa6e7c8c8f32033291b2a4","sha256:87deea50885081d233ed23b5aa1644a0cea0c35d37cee1e37b2f318b7e697a74","sha256:a79fe6dff0725f35c095b5ecf898566df5f57f17ea28e25d9a980fcdc271eb7e","sha256:3bbe975ddcc9abeb240ae07d5e818140ab7c82c73904a385103930a4ee206f6b"]}} \ No newline at end of file diff --git a/demo/v2/joxit/tile-server-ui/manifests/latest b/demo/v2/joxit/tile-server-ui/manifests/latest deleted file mode 100644 index 54396d09..00000000 --- a/demo/v2/joxit/tile-server-ui/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":9151,"digest":"sha256:7920601b3d805caa96ead6165a33f0735b3b66d91096f2c7584e3a8e9ba558e5"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2065537,"digest":"sha256:ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5821123,"digest":"sha256:b430473be128c1302a75e8381dfbaa45182fec81db4f75b749e4896d7816c2ea"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":490,"digest":"sha256:7d4e05a01906143afc15671a53151ea9755dac230db376a8b8364b21ca774dbc"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":628,"digest":"sha256:8aeac9a3205fce5e21ab65ccce330fe389a9aaf47e4b682970b1772ae25a1d73"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":379205,"digest":"sha256:8f27415487442154b621f8c1bc066a5088d7bb001738d43626808b1a9543fc01"}]} \ No newline at end of file diff --git a/demo/v2/joxit/tile-server-ui/tags/list b/demo/v2/joxit/tile-server-ui/tags/list deleted file mode 100644 index 0f560ddc..00000000 --- a/demo/v2/joxit/tile-server-ui/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"joxit/tile-server-ui","tags":["latest"]} diff --git a/demo/v2/nginx/blobs/sha256:7042885a156a01cc99e5a531f41ff47ea2facf655d4fc605aa80b216489586a4 b/demo/v2/nginx/blobs/sha256:7042885a156a01cc99e5a531f41ff47ea2facf655d4fc605aa80b216489586a4 deleted file mode 100644 index 3ffdd329..00000000 --- a/demo/v2/nginx/blobs/sha256:7042885a156a01cc99e5a531f41ff47ea2facf655d4fc605aa80b216489586a4 +++ /dev/null @@ -1 +0,0 @@ -{"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["nginx","-g","daemon off;"],"ArgsEscaped":true,"Image":"sha256:59dff693d956d36c13a1dadec0514ef1f62968cb19ffb0d795addad38dfc10d3","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"container":"6d43036a59e9e40ae167cde76a9ce35627ff4f4f224403ae6b0d73a2dfdfe90a","container_config":{"Hostname":"6d43036a59e9","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"80/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.15.8-1~stretch","NJS_VERSION=1.15.8.0.2.7-1~stretch"],"Cmd":["/bin/sh","-c","#(nop) ","CMD [\"nginx\" \"-g\" \"daemon off;\"]"],"ArgsEscaped":true,"Image":"sha256:59dff693d956d36c13a1dadec0514ef1f62968cb19ffb0d795addad38dfc10d3","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"created":"2018-12-29T03:31:31.255529383Z","docker_version":"18.06.1-ce","history":[{"created":"2018-12-28T23:30:06.334067203Z","created_by":"/bin/sh -c #(nop) ADD file:6d6f6f123e45697d3e73ea24621e4fd8da0ed5cf7504767f6b3120671fe6e7d1 in / "},{"created":"2018-12-28T23:30:06.533843185Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2018-12-29T03:30:50.538997723Z","created_by":"/bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2018-12-29T03:30:50.755961691Z","created_by":"/bin/sh -c #(nop) ENV NGINX_VERSION=1.15.8-1~stretch","empty_layer":true},{"created":"2018-12-29T03:30:51.031207885Z","created_by":"/bin/sh -c #(nop) ENV NJS_VERSION=1.15.8.0.2.7-1~stretch","empty_layer":true},{"created":"2018-12-29T03:31:29.815865791Z","created_by":"/bin/sh -c set -x \t\u0026\u0026 apt-get update \t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates \t\u0026\u0026 \tNGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \tfound=''; \tfor server in \t\tha.pool.sks-keyservers.net \t\thkp://keyserver.ubuntu.com:80 \t\thkp://p80.pool.sks-keyservers.net:80 \t\tpgp.mit.edu \t; do \t\techo \"Fetching GPG key $NGINX_GPGKEY from $server\"; \t\tapt-key adv --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; \tdone; \ttest -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; \tapt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \t\u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \t\u0026\u0026 nginxPackages=\" \t\tnginx=${NGINX_VERSION} \t\tnginx-module-xslt=${NGINX_VERSION} \t\tnginx-module-geoip=${NGINX_VERSION} \t\tnginx-module-image-filter=${NGINX_VERSION} \t\tnginx-module-njs=${NJS_VERSION} \t\" \t\u0026\u0026 case \"$dpkgArch\" in \t\tamd64|i386) \t\t\techo \"deb https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\u0026\u0026 apt-get update \t\t\t;; \t\t*) \t\t\techo \"deb-src https://nginx.org/packages/mainline/debian/ stretch nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \t\t\t\t\t\t\u0026\u0026 tempDir=\"$(mktemp -d)\" \t\t\t\u0026\u0026 chmod 777 \"$tempDir\" \t\t\t\t\t\t\u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \t\t\t\t\t\t\u0026\u0026 apt-get update \t\t\t\u0026\u0026 apt-get build-dep -y $nginxPackages \t\t\t\u0026\u0026 ( \t\t\t\tcd \"$tempDir\" \t\t\t\t\u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" \t\t\t\t\tapt-get source --compile $nginxPackages \t\t\t) \t\t\t\t\t\t\u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \t\t\t\u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \t\t\t\t\t\t\u0026\u0026 ls -lAFh \"$tempDir\" \t\t\t\u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \t\t\t\u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \t\t\t\u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \t\t\t\u0026\u0026 apt-get -o Acquire::GzipIndexes=false update \t\t\t;; \tesac \t\t\u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y \t\t\t\t\t\t$nginxPackages \t\t\t\t\t\tgettext-base \t\u0026\u0026 apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \t\t\u0026\u0026 if [ -n \"$tempDir\" ]; then \t\tapt-get purge -y --auto-remove \t\t\u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; \tfi"},{"created":"2018-12-29T03:31:30.6153791Z","created_by":"/bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log \t\u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log"},{"created":"2018-12-29T03:31:30.774964043Z","created_by":"/bin/sh -c #(nop) EXPOSE 80","empty_layer":true},{"created":"2018-12-29T03:31:31.002881033Z","created_by":"/bin/sh -c #(nop) STOPSIGNAL SIGTERM","empty_layer":true},{"created":"2018-12-29T03:31:31.255529383Z","created_by":"/bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:7b4e562e58dcb7fbe1e27bb274f0ff8bfeb2fd965203380436e159df9f218900","sha256:c9c2a36960802924221f5b8fab90ed09b5900b346129979da9488810d8669e06","sha256:b7efe781401dfe8d05a9e4c920dd3cd430593a483c442831a14413e2738cd968"]}} \ No newline at end of file diff --git a/demo/v2/nginx/manifests/latest b/demo/v2/nginx/manifests/latest deleted file mode 100644 index c941a11b..00000000 --- a/demo/v2/nginx/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","size":6019,"digest":"sha256:7042885a156a01cc99e5a531f41ff47ea2facf655d4fc605aa80b216489586a4"},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22492916,"digest":"sha256:177e7ef0df6987e0c5738a1fb5aba98b6b6e7a5fef992e481977dbb5ba3f91be"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":22229779,"digest":"sha256:ea57c53235dfe1ae1db219ca7cda6210c8f875367bcb892fdc6d86c047174f3d"},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":204,"digest":"sha256:bbdb1fbd4a86c36dbc219ff18eba7a332d7a41a4101731874da06a708d4db2f9"}]} \ No newline at end of file diff --git a/demo/v2/nginx/tags/list b/demo/v2/nginx/tags/list deleted file mode 100644 index b64535ff..00000000 --- a/demo/v2/nginx/tags/list +++ /dev/null @@ -1 +0,0 @@ -{"name":"nginx","tags":["latest"]} diff --git a/dist/docker-registry-ui.js b/dist/docker-registry-ui.js index 148d8479..24da5833 100644 --- a/dist/docker-registry-ui.js +++ b/dist/docker-registry-ui.js @@ -17,4 +17,4 @@ * @license AGPL */ !function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n]+)>/g,(function(e,t){return"$"+n[t]})))}if("function"==typeof t){var i=this;return r[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!=typeof e[e.length-1]&&e.push(o(e,i)),t.apply(this,e)}))}return r[Symbol.replace].call(this,e,t)},E.apply(this,arguments)}var A,w,C,N; -/* Riot v5.3.1, @license MIT */function I(e){return e.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))}function R(e,t){e.firstChild&&(t.appendChild(e.firstChild),R(e,t))}function k(e){Array.from(e).forEach(U)}var U=function(e){return e&&e.parentNode&&e.parentNode.removeChild(e)},O=function(e,t){return t&&t.parentNode&&t.parentNode.insertBefore(e,t)},S=new Map,B=Symbol("riot-component"),L=new Set,D="is",j="mount",_="update",M="unmount",P="shouldUpdate",G="onBeforeMount",V="onMounted",z="onBeforeUpdate",H="onUpdated",$="onBeforeUnmount",F="onUnmounted",q="props",K="state",W="slots",X="root",Y=Symbol("pure"),Q=Symbol("is_updating"),J=Symbol("parent"),Z=Symbol("attributes"),ee=Symbol("template"),te=Object.freeze({__proto__:null,COMPONENTS_IMPLEMENTATION_MAP:S,DOM_COMPONENT_INSTANCE_PROPERTY:B,PLUGINS_SET:L,IS_DIRECTIVE:D,VALUE_ATTRIBUTE:"value",MOUNT_METHOD_KEY:j,UPDATE_METHOD_KEY:_,UNMOUNT_METHOD_KEY:M,SHOULD_UPDATE_KEY:P,ON_BEFORE_MOUNT_KEY:G,ON_MOUNTED_KEY:V,ON_BEFORE_UPDATE_KEY:z,ON_UPDATED_KEY:H,ON_BEFORE_UNMOUNT_KEY:$,ON_UNMOUNTED_KEY:F,PROPS_KEY:q,STATE_KEY:K,SLOTS_KEY:W,ROOT_KEY:X,IS_PURE_SYMBOL:Y,IS_COMPONENT_UPDATING:Q,PARENT_KEY_SYMBOL:J,ATTRIBUTES_KEY_SYMBOL:Z,TEMPLATE_KEY_SYMBOL:ee}),ne={EACH:0,IF:1,SIMPLE:2,TAG:3,SLOT:4},re={ATTRIBUTE:0,EVENT:1,TEXT:2,VALUE:3},ae=Symbol("head"),ie=Symbol("tail");function oe(e){var t=e.dom.cloneNode(!0),n=function(){var e=document.createComment("fragment head"),t=document.createComment("fragment tail");return e[ae]=!0,t[ie]=!0,{head:e,tail:t}}(),r=n.head,a=n.tail;return{avoidDOMInjection:!0,fragment:t,head:r,tail:a,children:[r].concat(g(Array.from(t.childNodes)),[a])}}function se(e){var t=e.head,n=e.tail,r=ue([t],t.nextSibling,(function(e){return e===n}),!1);return r.push(n),r}function ue(e,t,n,r){var a=t.nextSibling;return r||t[ae]||t[ie]||e.push(t),!a||n(t)?e:ue(e,a,n,r&&!t[ie]||a[ae])}function le(t,n){return e(t)===n}function ce(e){var t=e.ownerSVGElement;return!!t||null===t}function pe(e){return!me(e.content)}function de(e){return le(e,"function")}function fe(e){return!me(e)&&e.constructor===Object}function me(e){return null==e}var he=Symbol("unmount"),ge={nodes:[],mount:function(e,t){return this.update(e,t)},update:function(e,t){var n=this.placeholder,r=this.nodes,a=this.childrenMap,i=e===he?null:this.evaluate(e),o=function(e,t,n,r){var a=r.condition,i=r.template,o=r.childrenMap,s=r.itemName,u=r.getKey,l=r.indexName,c=r.root,p=r.isTemplateTag,d=new Map,f=[],m=[];return e.forEach((function(e,r){var h=function(e,t){var n=t.itemName,r=t.indexName,a=t.index,i=t.item;e[n]=i,r&&(e[r]=a);return e}(Object.create(t),{itemName:s,indexName:l,index:r,item:e}),v=u?u(h):r,y=o.get(v),x=[];if(!function(e,t){return!!e&&!1===Boolean(e(t))}(a,h)){var b=!y,T=y?y.template:i.clone(),E=T.el||c.cloneNode(),A=p&&b?oe(T):T.meta;b?f.push((function(){return T.mount(E,h,n,A)})):f.push((function(){return T.update(h,n)})),p?x.push.apply(x,g(b?A.children:se(A))):x.push(E),o.delete(v),m.push.apply(m,x),d.set(v,{nodes:x,template:T,context:h,index:r})}})),{newChildrenMap:d,batches:f,futureNodes:m}}(i?Array.from(i):[],e,t,this),s=o.newChildrenMap,u=o.batches,l=o.futureNodes;return function(e,t,n,r){for(var a,i,o=t.length,s=e.length,u=o,l=0,c=0,p=null;lh-c)for(var y=n(e[l],0);c'.concat(e,""),"application/xml").documentElement,!0)}(t,e):function(e,t){var n=pe(t)?t:document.createElement("template");return n.innerHTML=e,n.content}(t,e)}function He(e,t){switch(!0){case ce(e):R(t,e);break;case pe(e):e.parentNode.replaceChild(t,e);break;default:e.appendChild(t)}}var $e=Object.freeze({createDOM:function(e){return this.dom=this.dom||function(e,t){return t&&("string"==typeof t?ze(e,t):t)}(e,this.html),this},mount:function(e,t,n,r){var a=this;if(void 0===r&&(r={}),!e)throw new Error("Please provide DOM node to mount properly your template");this.el&&this.unmount(t);var i=r,o=i.fragment,s=i.children,u=i.avoidDOMInjection,l=(s?s[0]:e).parentNode,c=pe(e),p=c?Math.max(Array.from(l.childNodes).indexOf(e),0):null;return this.isTemplateTag=c,this.createDOM(e),this.dom&&(this.fragment=o||this.dom.cloneNode(!0)),this.el=this.isTemplateTag?l:e,this.children=this.isTemplateTag?s||Array.from(this.fragment.childNodes):null,!u&&this.fragment&&He(e,this.fragment),this.bindings=this.bindingsData.map((function(e){return Ve(a.el,e,p)})),this.bindings.forEach((function(e){return e.mount(t,n)})),this.meta=r,this},update:function(e,t){return this.bindings.forEach((function(n){return n.update(e,t)})),this},unmount:function(e,t,n){if(this.el){switch(this.bindings.forEach((function(r){return r.unmount(e,t,n)})),!0){case this.el[Y]:break;case this.children&&null!==n:k(this.children);break;case!0===n:U(this.el);break;case null!==n:k(this.el.childNodes)}this.el=null}return this},clone:function(){return Object.assign({},this,{meta:{},el:null})}});function Fe(e,t){return void 0===t&&(t=[]),Object.assign({},$e,{html:e,bindingsData:t})}var qe=Object.freeze({__proto__:null,template:Fe,createBinding:Ve,createExpression:Le,bindingTypes:ne,expressionTypes:re});function Ke(){return this}function We(e){return de(e)?e.prototype&&e.prototype.constructor?new e:e():e}function Xe(e,t,n,r){return void 0===r&&(r={}),Object.defineProperty(e,t,Object.assign({value:n,enumerable:!1,writable:!1,configurable:!0},r)),e}function Ye(e,t,n){return Object.entries(t).forEach((function(t){var r=m(t,2),a=r[0],i=r[1];Xe(e,a,i,n)})),e}function Qe(e,t){return Object.entries(t).forEach((function(t){var n=m(t,2),r=n[0],a=n[1];e[r]||(e[r]=a)})),e}function Je(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function Ze(e,t){return Je("string"==typeof e?(t||document).querySelectorAll(e):e)}var et=function(e){return 1===e.length?e[0]:e};function tt(t,n,r){var i="object"===e(n)?n:a({},n,r),o=Object.keys(i);return Je(t).forEach((function(e){o.forEach((function(t){return e.setAttribute(t,i[t])}))})),t}function nt(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return et(Je(e).map((function(e){return et(r.map((function(t){return e[n](t)})))})))}(e,t,"getAttribute")}var rt,at=new Map,it=function(){return rt||(tt(rt=Ze("style[riot]")[0]||document.createElement("style"),"type","text/css"),rt.parentNode||document.head.appendChild(rt),rt)},ot={CSS_BY_NAME:at,add:function(e,t){return at.has(e)||(at.set(e,t),this.inject()),this},inject:function(){return it().innerHTML=g(at.values()).join("\n"),this},remove:function(e){return at.has(e)&&(at.delete(e),this.inject()),this}};function st(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{this.props.link&&(window.location.href=this.props.link),"function"==typeof e&&e(t)}},onWaveStart(e){"function"==typeof this.props.onWaveStart&&this.props.onWaveStart(e)},onWaveEnd(e){"function"==typeof this.props.onWaveEnd&&this.props.onWaveEnd(e)}},template:function(e,t,n,r){return e('
',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"rounded",evaluate:function(e){return e.props.rounded}},{type:t.ATTRIBUTE,name:"opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"color",evaluate:function(e){return e.props.wavesColor}},{type:t.ATTRIBUTE,name:"duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.EVENT,name:"onWaveStart",evaluate:function(e){return e.onWaveStart}},{type:t.EVENT,name:"onWaveEnd",evaluate:function(e){return e.onWaveEnd}}],redundantAttribute:"expr95",selector:"[expr95]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr96",selector:"[expr96]"}])},name:"material-button"},Nt={css:null,exports:{state:{titleExist:!0},onMounted(e,t){const n=this.$(".title");n.children&&0!==n.children.length||this.update({titleExist:!1})}},template:function(e,t,n,r){return e('
',[{type:n.IF,evaluate:function(e){return e.state.titleExist},redundantAttribute:"expr92",selector:"[expr92]",template:e('',[{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr93",selector:"[expr93]"}])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr94",selector:"[expr94]"}])},name:"material-card"},It={css:null,exports:{onBeforeMount(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onBeforeUpdate(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onChange(e){"function"==typeof this.props.onChange&&this.props.onChange(!this.state.checked,e),this.update({checked:!this.state.checked})}},template:function(e,t,n,r){return e('
',[{redundantAttribute:"expr97",selector:"[expr97]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["checkbox ",e.state.checked?"checked":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{redundantAttribute:"expr98",selector:"[expr98]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr99",selector:"[expr99]"},{redundantAttribute:"expr100",selector:"[expr100]",expressions:[{type:t.VALUE,evaluate:function(e){return e.state.checked}}]}])},name:"material-checkbox"},Rt={css:null,exports:{state:{opening:!1,opened:!1},onMounted(){this.state.opened=this.props.opened||!1,this.props.selected&&this.update({selected:props.selected})},onBeforeUpdate(e,t){e.opened!==t.opened&&(t.opening=!0)},onUpdated(e,t){t.opening&&setTimeout((()=>{this.update({opening:!1,opened:e.opened})}),e.opened?0:200)},select({item:e,key:t}){return this.update({selected:t}),"function"==typeof this.props.onSelect&&this.props.onSelect(t,e),!0}},template:function(e,t,n,r){return e('
    ',[{type:n.IF,evaluate:function(e){return e.state.opening||e.state.opened},redundantAttribute:"expr105",selector:"[expr105]",template:e('
  • ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["dropdown-content ",e.state.opening?"opening":""].join("")}}]},{type:n.EACH,getKey:null,condition:null,template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.selected==e.key?"selected":""}}]},{type:n.IF,evaluate:function(e){return!e.item.link},redundantAttribute:"expr107",selector:"[expr107]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select.bind(null,{item:e.item,key:e.key})}}]}])},{type:n.IF,evaluate:function(e){return e.item.link},redundantAttribute:"expr108",selector:"[expr108]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.ATTRIBUTE,name:"href",evaluate:function(e){return e.item.link}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select(e.item)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.item.title}}]}])}]),redundantAttribute:"expr106",selector:"[expr106]",itemName:"item",indexName:"key",evaluate:function(e){return e.props.items}}])}])},name:"material-dropdown-list"},kt={css:null,exports:{onMounted(e,t){this.updateClasses()},onUpdated(e,t){this.updateClasses()},updateClasses(){const e=this.$(".mini-footer");for(let e=0;e0&&e.classList.add(`material-footer-${e.slot}`)}},template:function(e,t,n,r){return e('',[{type:n.SLOT,attributes:[],name:"sections",redundantAttribute:"expr101",selector:"[expr101]"},{type:n.SLOT,attributes:[],name:"logo",redundantAttribute:"expr102",selector:"[expr102]"},{type:n.SLOT,attributes:[],name:"link-list",redundantAttribute:"expr103",selector:"[expr103]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr104",selector:"[expr104]"}])},name:"material-footer"},Ut=function(){function e(n){if(t(this,e),n||console.debug("Sorry, but for using validate mixin you should add an opts argument"),this.type=n.type,n.valid){if(this.validationType="function"==typeof this[n.valid]?"Function":"Regexp","Regexp"===this.validationType)try{this.validationRegexp=new RegExp(n.valid)}catch(e){throw new Error("Something wrong with your regular expression!. Checkout --- ".concat(e))}"Function"===this.validationType&&(this.validationFunction=this[n.valid]||!1)}else n&&-1!=Object.keys(this.base).indexOf(this.type)&&(this.validationType="Type")}return r(e,[{key:"base",get:function(){return{email:/^(([\w\.\-_]+)@[\w\-\_]+(\.\w+){1,}|)$/i,number:/^(\d+|)$/i,tel:/^((\+|\d)?([\d\-\(\)\#])|)+$/i,url:/([--:\w?@%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?/i}}},{key:"validate",value:function(e){return!this.validationType||this["validateBy"+this.validationType](e)}},{key:"validateByFunction",value:function(e){if(this.validationFunction)return this.validationFunction(e)}},{key:"validateByRegexp",value:function(e){if(this.validationRegexp)return this.validationRegexp.test(e)}},{key:"validateByType",value:function(e){return this.base[this.type].test(e)}}]),e}(),Ot={css:null,exports:{state:{focused:!1,showIcon:!1,value:"",disabled:!1,required:!1,error:!1},onMounted(){if(this.required="",this.notSupportedTypes=["date","color","datetime","month","range","time"],-1!=this.notSupportedTypes.indexOf(this.props.type))throw new Error(`Sorry but we do not support ${this.props.type} type yet!`);this.validator=new Ut(this.props),this.update({showIcon:!1,value:this.props.value||"",disabled:""===this.props.disabled||this.props.disabled||!1,required:""===this.props.required||this.props.required||!1}),this.$("input").addEventListener("focus",this.changeFocus),this.$("input").addEventListener("blur",this.changeFocus)},onBeforeUpdate(e,t){this.state.error=0!==t.value.length&&!this.validator.validate(t.value)},changeFocus(e){if(this.disabled)return!1;this.update({focused:this.$("input")==document.activeElement}),this.props.focuschanged&&"function"==typeof this.props.focuschanged&&this.props.focuschanged(this.focused,e)},changeValue(e){this.update({value:this.$("input").value}),this.props.valuechanged&&"function"==typeof this.props.valuechanged&&this.props.valuechanged(this.$("input").value,e)},iconClickHandler(e){this.props.iconclicked&&"function"==typeof this.props.iconclicked&&this.props.iconclicked.call(this,e)}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr111",selector:"[expr111]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["input-content ",e.state.value?"not-empty":null," ",e.state.error?"error":null].join("")}}]},{type:n.IF,evaluate:function(e){return e.props.label},redundantAttribute:"expr112",selector:"[expr112]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.label}}]}])},{redundantAttribute:"expr113",selector:"[expr113]",expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:function(e){return e.props.type||"text"}},{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return e.state.disabled}},{type:t.ATTRIBUTE,name:"placeholder",evaluate:function(e){return e.props.placeholder}},{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.changeValue}},{type:t.VALUE,evaluate:function(e){return e.state.value}},{type:t.ATTRIBUTE,name:"required",evaluate:function(e){return e.state.required}}]},{type:n.IF,evaluate:function(e){return e.props.icon},redundantAttribute:"expr114",selector:"[expr114]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'',bindings:[{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr116",selector:"[expr116]"}]}],attributes:[{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props["waves-color"]||"#fff"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.iconClickHandler}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props["waves-opacity"]||"0.6"}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props["waves-duration"]||"600"}}],redundantAttribute:"expr115",selector:"[expr115]"}])},{redundantAttribute:"expr117",selector:"[expr117]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["underline ",e.state.focused?"focused":null," ",e.state.error?"error":null].join("")}}]}])},name:"material-input"},St={css:null,exports:{state:{transition:!1,opened:!1},onMounted(e,t){},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>{this.update({opened:e.opened,transition:!1})}),e.opened?0:200))},onUpdated(e,t){const n=this.$(".content");if(n)for(let e=0;e',[{type:n.IF,evaluate:function(e){return e.props.opened||e.state.opened},redundantAttribute:"expr126",selector:"[expr126]",template:e('
    ',[{redundantAttribute:"expr127",selector:"[expr127]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]},{redundantAttribute:"expr128",selector:"[expr128]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["popup ",e.state.transition?"opening":""," ",e.props.animation||"top"].join("")}}]},{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr129",selector:"[expr129]"},{type:n.SLOT,attributes:[],name:"content",redundantAttribute:"expr130",selector:"[expr130]"},{type:n.SLOT,attributes:[],name:"action",redundantAttribute:"expr131",selector:"[expr131]"}])}])},name:"material-popup"},Bt={css:null,exports:{state:{toasts:{}},onBeforeUpdate(e,t){e.message&&!t.internal&&this.addToast({message:e.message,isError:e.isError},e.duration),t.internal=!1},addToast(e,t){var n=this.toastID=Math.random().toString(36).substring(7);this.state.toasts[n]=Object.assign(e,{opening:!0}),setTimeout((()=>{this.state.toasts[n].opening=!1,this.update({toasts:this.state.toasts,internal:!0})}),50),this.state.toasts[n].interval=setTimeout((()=>{this.removeToast(n)}),t||5e3)},removeToastByClick(e){return()=>{clearInterval(this.state.toasts[e].interval),this.removeToast(e)}},removeToast(e){this.state.toasts[e]&&(this.state.toasts[e].opening=!0,this.update({toasts:this.state.toasts,internal:!0}),setTimeout((()=>{delete this.state.toasts[e],this.update({toasts:this.state.toasts,internal:!0})}),200))}},template:function(e,t,n,r){return e('
    ',[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.toasts[e.toastID].message].join("")}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["toast ",e.state.toasts[e.toastID].isError?"error":""," ",e.state.toasts[e.toastID].opening?"opening":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.removeToastByClick(e.toastID)}}]}]),redundantAttribute:"expr119",selector:"[expr119]",itemName:"toastID",indexName:null,evaluate:function(e){return Object.keys(e.state.toasts)}}])},name:"material-snackbar"},Lt={css:null,exports:{state:{selected:0},onMounted(e,t){const n=this.$(".line");this.$$("material-button").forEach((e=>{e.style.width=(100/this.props.tabs.length).toFixed(2)+"%",n&&(n.style.width=e.style.width)})),this.setLinePosition()},onTabChanged(e,t){this.update({selected:t}),this.setLinePosition(),"function"==typeof this.props.onTabChanged&&this.props.onTabChanged(this.props.tabs[t],t)},setLinePosition(){const e=this.$(".line");e&&(e.style.left=(100/this.props.tabs.length).toFixed(2)*this.state.selected+"%")},cut:e=>e.length>props.cut?e.substr(0,props.cut)+"...":e},template:function(e,t,n,r){return e('
    ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
    ',bindings:[{redundantAttribute:"expr134",selector:"[expr134]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.cut?e.cut(e.tab.title):e.tab.title}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.tab.title}}]}]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return t=>e.onTabChanged(t,e.k)}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.selected==e.k?"selected":""}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.ATTRIBUTE,name:"waves-center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props.wavesColor}}]}]),redundantAttribute:"expr133",selector:"[expr133]",itemName:"tab",indexName:"k",evaluate:function(e){return e.props.tabs}},{type:n.IF,evaluate:function(e){return e.props.useLine},redundantAttribute:"expr135",selector:"[expr135]",template:e('
    ',[])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr136",selector:"[expr136]"}])},name:"material-tabs"},Dt=function(e){s(o,e);var n,a,i=(n=o,a=c(),function(){var e,t=u(n);if(a){var r=u(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return f(this,e)});function o(e,n,r){var a;return t(this,o),a=i.call(this),e||console.error("You should set container to the wave!"),a.container=e,a.maxOpacity=n.opacity||.6,a.duration=n.duration||750,a.color=n.color||"#fff",a.center=n.center||!1,a.event=r,a.containerBound=a.receiveBound(),a.maxScale=a.containerBound.size/100*10,a.created=Date.now(),a.start={},a.createNode(),a.waveIn(),a}return r(o,[{key:"createNode",value:function(){this.wave=document.createElement("div"),this.wave.classList.add("wave"),this.container.appendChild(this.wave)}},{key:"waveIn",value:function(){var e=this;this.center&&!this.event&&console.error("Setup at least mouse event... Or just set center attribute"),this.start.x=this.center?this.containerBound.height/2:this.event.pageY-this.containerBound.offsetTop,this.start.y=this.center?this.containerBound.width/2:this.event.pageX-this.containerBound.offsetLeft;var t=-1!==window.navigator.userAgent.indexOf("Trident");setTimeout((function(){return e.setStyles(e.maxOpacity)}),t?50:0)}},{key:"waveOut",value:function(e){var t=this,n=Date.now()-this.created,r=Math.round(this.duration/2)-n;setTimeout((function(){t.setStyles(0),setTimeout((function(){t.wave.parentNode===t.container&&(t.container.removeChild(t.wave),e())}),t.duration)}),r>0?r:0)}},{key:"setStyles",value:function(e){this.wave.setAttribute("style",this.convertStyle({top:"".concat(this.start.x,"px"),left:"".concat(this.start.y,"px"),transform:"scale(".concat(this.maxScale,")"),"transition-duration":"".concat(this.duration,"ms"),"transition-timing-function":"cubic-bezier(0.250, 0.460, 0.450, 0.940)",background:this.color,opacity:e}))}},{key:"convertStyle",value:function(e){var t="";return Object.keys(e).forEach((function(n){e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";")})),t}}]),o}(function(){function n(){t(this,n)}return r(n,[{key:"receiveBound",value:function(){var t;this.container||console.error("Yor class must contain a container. It is DOM Element. Define please this.container property.");var n=this.container&&this.container.ownerDocument,r=n.documentElement;"undefined"!==e(this.container.getBoundingClientRect)&&(t=this.container.getBoundingClientRect());var a=this.getWindow(n);return this.mix(t,{size:Math.max(t.width,t.height),offsetTop:t.top+a.pageYOffset-r.clientTop,offsetLeft:t.left+a.pageXOffset-r.clientLeft})}},{key:"isWindow",value:function(e){return null!==e&&e===e.window}},{key:"getWindow",value:function(e){return this.isWindow(e)?e:9===e.nodeType&&e.defaultView}},{key:"mix",value:function(e,t){for(var n in e)n in t||(t[n]=e[n]);return t}}]),n}()),jt={css:null,exports:{onMounted(){this._waves=[],this._events=[]},launch(e){var t=new Dt(this.$("#waves"),this.props,e);this._waves.push(t),this.props.onWaveStart&&this.props.onWaveStart(t),this._events.length||(this._events.push(e.target.addEventListener("mouseup",(()=>this.hold()))),this._events.push(e.target.addEventListener("mouseleave",(()=>this.hold()))))},hold(){this._waves[this._waves.length-1]&&this._waves[this._waves.length-1].waveOut(this.waveOut),this._waves[this._waves.length-1]&&this._waves.slice(this._waves.length-1,1)},waveOut(){this.props.onWaveEnd&&this.props.onWaveEnd()}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr137",selector:"[expr137]",expressions:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.launch}}]}])},name:"material-waves"};function _t(e){var t={exports:{}};return e(t,t.exports),t.exports}function Mt(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;o+=e[s++]}if(!o)throw new TypeError("Missing parameter name at "+n);t.push({type:"NAME",index:n,value:o}),n=s}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,a=void 0===r?"./":r,i="[^"+Pt(t.delimiter||"/#?")+"]+?",o=[],s=0,u=0,l="",c=function(e){if(u-1:void 0===b;a||(f+="(?:"+d+"(?="+p+"))?"),T||(f+="(?="+d+"|"+p+")")}return new RegExp(f,Gt(n))}(Mt(e,n),t,n)}function zt(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),l=a.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;R(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:U(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),g}},t}(t.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}));var Ht=Symbol();function $t(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),a=1;a',[{type:n.IF,evaluate:function(e){return e.state.route},redundantAttribute:"expr0",selector:"[expr0]",template:e('',[{type:n.SLOT,attributes:[{type:t.ATTRIBUTE,name:"route",evaluate:function(e){return e.state.route}}],name:"default",redundantAttribute:"expr1",selector:"[expr1]"}])}])},name:"route-hoc"},hn="popstate",gn="click",vn="/",yn=/^.+?\/\/+[^/]+/,xn=function(){return"undefined"==typeof window?null:window},bn=function(){return"undefined"==typeof document?null:document},Tn=function(){var e=xn();return e?e.location:{}},En=function(e){return e[e.length-1]===vn?e.substr(0,e.length-1):e},An=function(e){var t,n=xn().location,r=n?"".concat(n.protocol,"//").concat(n.host):"",a=(n||{}).pathname;switch(!0){case!1===Boolean(e):return En("".concat(r).concat(a||""));case/(www|http(s)?:)/.test(e):return e;case"#"===e[0]:return"".concat(r).concat(a&&a!==vn?a:"").concat(e);case e===vn:return En(r);default:return En("".concat(r).concat((t=e)[0]===vn?t:"".concat(vn).concat(t)))}};function wn(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function Cn(e,t,n,r,a){var i;e=wn(e),(i=t,i.split(/\s/)).forEach((function(t){e.forEach((function(e){return e[r](t,n,a||!1)}))}))}function Nn(e,t,n,r){return Cn(e,t,n,"addEventListener",r),e}function In(e,t,n,r){return Cn(e,t,n,"removeEventListener",r),e}var Rn=function(e){return 1===e.length?e[0]:e};function kn(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return Rn(wn(e).map((function(e){return Rn(r.map((function(t){return e[n](t)})))})))}(e,t,"hasAttribute")}var Un=function(){return tn.push(Dn(String(Tn().href)))},On=function(e){var t=e.includes(nn.base)?e:nn.base+e,n=Tn(),r="undefined"==typeof history?null:history,a=bn();r&&t!==n.href&&r.pushState(null,a.title,t)},Sn=function e(t){return t&&!Bn(t)?e(t.parentNode):t},Bn=function(e){return"A"===e.nodeName},Ln=function(e){return!e||!Bn(e)||kn(e,"download")||!kn(e,"href")||function(e){return e.target&&"_self"!==e.target}(e)||-1===e.href.indexOf(Tn().href.match(yn)[0])},Dn=function(e){return e.replace(nn.base,"")},jn=function(e){if(!function(e){return e.which&&1!==e.which||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented}(e)){var t=Sn(e.target);if(!Ln(t)&&!function(e){return e.split("#").length>1}(t.href)&&function(e){return!nn.base||e.includes(nn.base)}(t.href)){var n=Dn(t.href);tn.push(n),e.preventDefault()}}};var _n,Mn=wt.DOMBindings,Pn=Mn.template,Gn=Mn.bindingTypes,Vn=window.requestAnimationFrame||window.setTimeout,zn=window.cancelAnimationFrame||window.clearTimeout,Hn=!1,$n={css:null,exports:(_n=function(e){var t=e.slots,n=e.attributes,r=e.props;Hn&&function(e){throw new Error(e)}("Multiple components are not supported");var a=function(e){return n&&n.find((function(t){return t.name.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))===e}))};return{slot:null,el:null,teardown:null,mount:function(e,t){var n,r,i,o=this,s=a("initialRoute"),u=s?s.evaluate(t):null,l=pn();Hn=!0,this.el=e,this.teardown=(n=this.root,r=xn(),i=n||bn(),r&&(Nn(r,hn,Un),Nn(i,gn,jn)),tn.on.value(On),function(){r&&(In(r,hn,Un),In(i,gn,jn)),tn.off.value(On)}),this.setBase(t),l&&!u?this.createSlot(t):(tn.on.value((function e(){o.createSlot(t),tn.off.value(e)})),tn.push(u||window.location.href))},createSlot:function(e){if(t&&t.length){var n=a("onStarted");this.slot=Pn(null,[{type:Gn.SLOT,name:"default"}]),this.slot.mount(this.el,{slots:t},e),n&&n.evaluate(e)(pn())}},update:function(e){var t=this;this.setBase(e),this.slot&&(zn(this.deferred),this.deferred=Vn((function(){t.slot.update({},e)})))},unmount:function(){var e;this.teardown(),Hn=!1,this.slot&&(e=this.slot).unmount.apply(e,arguments)},getBase:function(e){var t=a("base");return t?t.evaluate(e):"/"},setBase:function(e){var t;t=r?r.base:this.getBase(e),nn.base=An(t)}}},de(_n)||ye('riot.pure accepts only arguments of type "function"'),_n[Y]=!0,_n),template:null,name:"router-hoc"};function Fn(e){if(null==e||isNaN(e))return"?";if(0==e)return"0 Byte";var t=parseInt(Math.floor(Math.log(e)/Math.log(1024)));return Math.ceil(e/Math.pow(1024,t))+" "+["Bytes","KB","MB","GB","TB"][t]}function qn(e,t,n){return n||(n=100),e?e.slice((t-1)*n,n*t):[]}function Kn(e,t){return t||(t=100),e?Math.trunc(e.length/t)+1:0}function Wn(e){return e?e.replace(/^https?:\/\//,""):""}function Xn(e){return e>="0"&&e<="9"}var Yn={message:"Access on registry response was blocked. Try adding the header `Access-Control-Expose-Headers: Docker-Content-Digest` to your proxy or registry: https://docs.docker.com/registry/configuration/#http",isError:!0};function Qn(e){try{var t=JSON.parse(localStorage.getItem("registryServer"));if(t instanceof Array)return isNaN(e)?t.map((function(e){return e.trim().replace(/\/*$/,"")})):t[e]}catch(e){}return isNaN(e)?[]:""}function Jn(e){if(e)return e.indexOf("&")<0?window.encodeURIComponent(e):btoa(e)}function Zn(){var e={};return window.location.search.slice(1).split("&").forEach((function(t){var n=t.indexOf("=");e[t.slice(0,n)]=n<0?"":t.slice(n+1)})),e}function er(e){var t=Zn();for(var n in e)null===e[n]?delete t[n]:t[n]=e[n];return t}function tr(e){var t=[];for(var n in e)n&&void 0!==e[n]&&t.push("".concat(n,"=").concat(e[n]));return 0===t.length?"":"?".concat(t.join("&"))}function nr(e){var t=window.location,n=er(e);return t.origin+t.pathname+tr(n)}var rr={home:function(){tn.push(nr({page:null}))},taglist:function(e){tn.push("".concat(nr({page:null}),"#!/taglist/").concat(e))},getTagListImage:function(){return pn().replace(/^.*(#!)?\/?taglist\//,"")},history:function(e,t){tn.push("".concat(nr({page:null}),"#!/taghistory/image/").concat(e,"/tag/").concat(t))},getTagHistoryImage:function(){return pn().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$2")},getTagHistoryTag:function(){return pn().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$3")},updateQueryString:function(e){var t=tr(er(e));history.pushState(null,"",t+window.location.hash)},updateUrlQueryParam:function(e){this.updateQueryString({url:Jn(e)})},getUrlQueryParam:function(){var e=Zn().url;if(e)try{return function(e){if(e)return e.startsWith("http")?window.decodeURIComponent(e):atob(e)}(e)}catch(t){console.error("Can't decode query parameter URL: ".concat(e),t)}},updatePageQueryParam:function(e){this.updateQueryString({page:e})},getPageQueryParam:function(){return Zn().page}};function ar(e,t){return!e||t&&t.toLowerCase().indexOf(e)>=0}var ir={css:'search-bar material-input,[is="search-bar"] material-input{ position: absolute; top: 0em; right: 64px; max-width: 20%; } @media screen and (max-width: 400px) { search-bar material-input,[is="search-bar"] material-input{ display: none; } } search-bar material-input input,[is="search-bar"] material-input input{ color: #fff; }',exports:{onMounted(e,t){const n=this.$("input");let r="";const a=()=>{r!==n.value&&e.onSearch(n.value.toLowerCase()),r=n.value};n.addEventListener("keyup",a),tn.on.value((()=>{n.value="",a()}))}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[],redundantAttribute:"expr14",selector:"[expr14]"}])},name:"search-bar"},or={css:null,exports:{onBeforeMount(e,t){e.item.images&&1===e.item.images.length?t.image=e.item.images[0]:"string"==typeof e.item?t.image=e.item:e.item.images&&e.item.repo&&(t.images=e.item.images,t.repo=e.item.repo,t.nImages=e.item.images.length)},onBeforeUpdate(e,t){e.filterResults&&t.images?t.nImages=t.images.filter((t=>ar(e.filterResults,t))).length:t.nImages=t.images&&t.images.length},onClick(){const e=this.state;e.repo?(this.update({expanded:!this.state.expanded,expanding:!0}),setTimeout((()=>{this.update({expanding:!1})}),50)):rr.taglist(e.image)},setLaunchListener(e){this.triggerLaunch=e},matchSearch:ar},template:function(e,t,n,r){return e('
    ',[{type:n.IF,evaluate:function(e){return!e.props.filterResults||e.state.nImages>0||e.matchSearch(e.props.filterResults,e.state.image)},redundantAttribute:"expr45",selector:"[expr45]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'send
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.triggerLaunch}},{type:t.ATTRIBUTE,name:"setLaunchListener",evaluate:function(e){return e.setLaunchListener}}],redundantAttribute:"expr47",selector:"[expr47]"},{redundantAttribute:"expr48",selector:"[expr48]",expressions:[{type:t.TEXT,childNodeIndex:1,evaluate:function(e){return[e.state.image||e.state.repo].join("")}}]},{type:n.IF,evaluate:function(e){return e.state.images},redundantAttribute:"expr49",selector:"[expr49]",template:e(' expand_more',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images"].join("")}}]},{redundantAttribute:"expr50",selector:"[expr50]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["material-icons animated ",e.state.expanded?"expanded":""].join("")}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"expanded",evaluate:function(e){return e.state.expanded}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr46",selector:"[expr46]"},{type:n.EACH,getKey:null,condition:function(e){return e.state.images},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["animated ",e.state.expanded||e.props.filterResults?"":"hide"," ",e.state.expanding?"expanding":""].join("")}},{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}}]}]),redundantAttribute:"expr51",selector:"[expr51]",itemName:"item",indexName:null,evaluate:function(e){return e.state.images}}])}])},name:"catalog-element"},sr=function(){function e(n){t(this,e),this.oReq=new XMLHttpRequest,this.oReq.hasHeader=ur,this.oReq.getErrorMessage=lr,this._events={},this._headers={},this.onAuthentication=n&&n.onAuthentication,this.withCredentials=n&&n.withCredentials}return r(e,[{key:"getContentDigest",value:function(e){this.oReq.hasHeader("Docker-Content-Digest")?e(this.oReq.getResponseHeader("Docker-Content-Digest")):window.crypto&&window.TextEncoder&&crypto.subtle.digest("SHA-256",(new TextEncoder).encode(this.oReq.responseText)).then((function(t){e("sha256:"+Array.from(new Uint8Array(t)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""))}))}},{key:"addEventListener",value:function(t,n){this._events[t]=n;var r=this;switch(t){case"loadend":r.oReq.addEventListener("loadend",(function(){if(401!=this.status||this.withCredentials)n.bind(this)();else{var t=pr(this.getResponseHeader("www-authenticate"));r.onAuthentication(t,(function(t){var n=new XMLHttpRequest;for(var a in n._url=r._url,n.open(r._method,r._url),r._events)n.addEventListener(a,r._events[a]);for(var i in r._headers)n.setRequestHeader(i,r._headers[i]);t&&t.token?n.setRequestHeader("Authorization","Bearer ".concat(t.token)):n.withCredentials=!0,n.hasHeader=ur,n.getErrorMessage=e.getErrorMessage,r.oReq=n,n.send()}))}}));break;case"load":r.oReq.addEventListener("load",(function(){401!==this.status&&n.bind(this)()}));break;default:r.oReq.addEventListener(t,(function(){n.bind(this)()}))}}},{key:"setRequestHeader",value:function(e,t){this.oReq.setRequestHeader(e,t),this._headers[e]=t}},{key:"open",value:function(e,t){this._method=e,this._url=t,this.oReq._url=t,this.withCredentials&&(this.oReq.withCredentials=!0),this.oReq.open(e,t)}},{key:"send",value:function(){this.oReq.send()}}]),e}(),ur=function(e){return this.getAllResponseHeaders().split("\n").some((function(t){return new RegExp("^"+e+":","i").test(t)}))},lr=function(){return this._url.match("^http://")&&"https:"===window.location.protocol?"Mixed Content: The page at `"+window.location.origin+"` was loaded over HTTPS, but requested an insecure server endpoint `"+new URL(this._url).origin+"`. This request has been blocked; the content must be served over HTTPS.":this._url&&this._url.match("^http")?this.withCredentials&&!this.hasHeader("Access-Control-Allow-Credentials")?"The `Access-Control-Allow-Credentials` header in the response is missing and must be set to `true` when the request's credentials mode is on. Origin `"+new URL(this._url).origin+"` is therefore not allowed access.":"An error occured: Check your connection and your registry must have `Access-Control-Allow-Origin` header set to `"+window.location.origin+"`":"Incorrect server endpoint."},cr=E(/Bearer realm="((?:(?!")[\s\S])+)",service="((?:(?!")[\s\S])+)",scope="((?:(?!")[\s\S])+)"/,{realm:1,service:2,scope:3}),pr=function(e){var t=cr.exec(e);return t&&t.groups},dr={css:null,exports:{components:{CatalogElement:or},state:{registryName:"",length:0,loadend:!1,repositories:[]},onBeforeMount(e){this.state.registryName=e.registryName,this.state.catalogElementsLimit=e.catalogElementsLimit},onMounted(e){this.display(e,this.state)},display(e,t){let n=[];const r=this,a=new sr({onAuthentication:this.props.onAuthentication});a.addEventListener("load",(function(){200==this.status?(n=JSON.parse(this.responseText).repositories||[],n.sort(),n=n.reduce((function(e,t){const n=t.indexOf("/");if(n>0){const r=t.substring(0,n)+"/";return 0!=e.length&&e[e.length-1].repo==r||e.push({repo:r,images:[]}),e[e.length-1].images.push(t),e}return e.push(t),e}),[])):404==this.status?r.props.onNotify("Server not found",!0):r.props.onNotify(this.responseText)})),a.addEventListener("error",(function(){r.props.onNotify(this.getErrorMessage(),!0)})),a.addEventListener("loadend",(function(){r.update({repositories:n,nRepositories:n.length,nImages:n.reduce(((e,t)=>e+(t.images&&t.images.length||1)),0),loadend:!0})})),a.open("GET",`${e.registryUrl}/v2/_catalog?n=${t.catalogElementsLimit}`),a.send()}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

    ',bindings:[{redundantAttribute:"expr16",selector:"[expr16]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Repositories of ",e.state.registryName].join("")}}]},{redundantAttribute:"expr17",selector:"[expr17]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images in ",e.state.nRepositories," repositories"].join("")}}]}]}],attributes:[],redundantAttribute:"expr15",selector:"[expr15]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr18",selector:"[expr18]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr19",selector:"[expr19]"}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}}]}]),redundantAttribute:"expr20",selector:"[expr20]",itemName:"item",indexName:null,evaluate:function(e){return e.state.repositories}}])},name:"catalog"},fr=_t((function(e,t){var n,r,a,i,o,s,u;n="*",r=Object.defineProperties,a=Object.entries,i=function(e,t){return function(n,r){return e.has(n)?e.get(n).add(r):e.set(n,(new Set).add(r)),t}},o=function(e,t){return function(r,a){if(r!==n||a)if(a){var i=e.get(r);i&&(i.delete(a),0===i.size&&e.delete(r))}else e.delete(r);else e.clear();return t}},s=function(e,t){return function(e,n){return t.on(e,(function r(){t.off(e,r);for(var a=arguments.length,i=new Array(a),o=0;o1?a-1:0),o=1;o0&&Xn(e[e.length-1].charAt(0))==Xn(t)?e[e.length-1]+=t:e.push(t),e};function hr(e,t){for(var n=e.tag.match(/./g).reduce(mr,[]),r=t.tag.match(/./g).reduce(mr,[]),a=0;a{this.update({digest:e})}))},onMounted(e,t){e.image.trigger("get-content-digest")},onBeforeUpdate(e,t){t.checked=e.checked},deleteImage(){this.props.handleCheckboxChange(br,this.props.image)},handleCheckboxChange(e){const t=e?yr:xr;this.props.handleCheckboxChange(t,this.props.image)}},template:function(e,t,n,r){return e('',[{type:n.IF,evaluate:function(e){return!e.props.multiDelete},redundantAttribute:"expr145",selector:"[expr145]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImage}}]}])},{type:n.IF,evaluate:function(e){return e.props.multiDelete},redundantAttribute:"expr146",selector:"[expr146]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.handleCheckboxChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.checked}}]}])}])},name:"remove-image"};const yr="CHECK",xr="UNCHECK",br="DELETE";const Tr=function(e){switch(e){case"created":return 1;case"created_by":return 2;case"size":return 3;case"os":return 4;case"architecture":return 5;case"id":return 6;case"linux":return 7;case"docker_version":return 8;default:return 10}},Er=function(e,t){return Tr(e.key)-Tr(t.key)},Ar=function(e,t){switch(e){case"created":return new Date(t).toLocaleString();case"created_by":const e=t.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+)/);return e&&e[1]||"RUN";case"size":return Fn(t);case"Entrypoint":case"Cmd":return(t||[]).join(" ");case"Labels":return Object.keys(t||{}).map((function(e){return t[e]?e+"="+t[e]:""}));case"Volumes":case"ExposedPorts":return Object.keys(t)}return t||""};var wr={css:null,exports:{components:{Catalog:dr,TagList:{css:null,exports:{components:{Pagination:{css:null,exports:null,template:function(e,t,n,r){return e('
    ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
    ',bindings:[{type:n.IF,evaluate:function(e){return e.p.icon},redundantAttribute:"expr57",selector:"[expr57]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.icon}}]}])},{type:n.IF,evaluate:function(e){return!e.p.icon},redundantAttribute:"expr58",selector:"[expr58]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.page}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return[e.p.current?"current":""," ",e.p["space-left"]?"space-left":""," ",e.p["space-right"]?"space-right":""].join("")}},{type:t.EVENT,name:"onClick",evaluate:function(e){return()=>e.props.onPageUpdate(e.p.page)}}]}]),redundantAttribute:"expr56",selector:"[expr56]",itemName:"p",indexName:null,evaluate:function(e){return e.props.pages}}])},name:"pagination"},TagTable:{css:null,exports:{components:{ImageDate:{css:null,exports:{onMounted(e){e.image.one("creation-date",(e=>{this.update({date:e,localDate:e.toLocaleString()})})),e.image.trigger("get-date")},getDate:e=>function(e){if(void 0===e)return"";for(var t=["a second","seconds","a minute","minutes","an hour","hours","a day","days","a month","months","a year","years"],n=[1,60,3600,86400,2592e3,31104e3,1/0],r=(new Date-e)/1e3,a=0;a=r)return t[2*a];if(n[a+1]>r)return Math.floor(r/n[a])+" "+t[2*a+1]}}(e.creationDate),getLocalDate:e=>e.creationDate&&e.creationDate.toLocaleString()||"unknown"},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr138",selector:"[expr138]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.getDate(e.props.image)," ago"].join("")}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return["Creation date ",e.getLocalDate(e.props.image)].join("")}}]}])},name:"image-date"},ImageSize:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){"number"!=typeof e.image.size&&(e.image.on("size",(e=>{this.update({size:e})})),e.image.trigger("get-size"))},getImageSize:e=>Fn(e.size)},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr139",selector:"[expr139]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.getImageSize(e.props.image)}}]}])},name:"image-size"},ImageTag:{css:null,exports:{onMounted(e){e.image.on("sha256",(e=>{this.update({sha256:e.substring(0,19)})})),e.image.trigger("get-sha256")}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr140",selector:"[expr140]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.image.tag}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.state.sha256}}]}])},name:"image-tag"},ImageContentDigest:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){e.image.digest||(t.chars=-1,e.image.one("content-digest",(t=>{this.digest=t,e.image.on("content-digest-chars",this.onResize),e.image.trigger("get-content-digest-chars")})),e.image.trigger("get-content-digest"))},onResize(e){e!==this.state.chars&&this.update({chars:e})},getTitle:(e,t)=>t>=70?"":e.digest||"",getDigest:(e,t)=>t>=70?e.digest||"":t<=0?"":e.digest&&e.digest.slice(0,t)+"..."},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr141",selector:"[expr141]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.getDigest(e.props.image,e.state.chars)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.getTitle(e.props.image,e.state.chars)}}]}])},name:"image-content-digest"},CopyToClipboard:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},getDockerCmd:e=>"tag"===e.target?`docker pull ${e.pullUrl}/${e.image.name}:${e.image.tag}`:`docker pull ${e.pullUrl}/${e.image.name}@${e.image.digest}`,load(e,t){"tag"===e.target||e.image.digest||(e.image.one("content-digest",(e=>{this.update()})),e.image.trigger("get-content-digest"))},copy(){const e=this.$("input");e.value?(e.style.display="block",e.select(),document.execCommand("copy"),e.style.display="none",this.props.onNotify("`"+e.value+"` has been copied to clipboard.")):this.props.onNotify(Yn)}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr142",selector:"[expr142]",expressions:[{type:t.VALUE,evaluate:function(e){return e.getDockerCmd(e.props)}}]},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'content_copy',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.copy}}],redundantAttribute:"expr143",selector:"[expr143]"}])},name:"copy-to-clipboard"},RemoveImage:vr,TagHistoryButton:{css:null,exports:{routeToHistory(){rr.history(this.props.image.name,this.props.image.tag)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'history',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.routeToHistory}}],redundantAttribute:"expr144",selector:"[expr144]"}])},name:"tag-history-button"},ConfirmDeleteImage:{css:'confirm-delete-image,[is="confirm-delete-image"]{ color: #000; list-style-type: disc; margin-block-start: 0.7em; } confirm-delete-image material-popup .content .material-popup-content,[is="confirm-delete-image"] material-popup .content .material-popup-content{ overflow-y: auto; max-height: 250px; }',exports:{displayImagesToDelete(e,t){const n=new Set;return e.forEach((e=>{e.digest&&n.add(e.digest)})),t.filter((e=>n.has(e.digest)))},deleteImages(){this.props.toDelete.forEach((e=>this.deleteImage(e,this.props)))},deleteImage(e,t){const{registryUrl:n,ignoreError:r,onNotify:a,onAuthentication:i,onClick:o}=t;if(!e.digest)return void a(`Information for ${s}:${u} are not yet loaded.`);const s=e.name,u=e.tag,l=new sr({onAuthentication:i});l.addEventListener("loadend",(function(){200==this.status||202==this.status?(rr.taglist(s),a(`Deleting ${s}:${u} image. Run \`registry garbage-collect config.yml\` on your registry`)):404==this.status?r||a({message:"Digest not found for this image in your registry.",isError:!0}):a(this.responseText),o()})),l.open("DELETE",`${n}/v2/${s}/manifests/${e.digest}`),l.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json"),l.addEventListener("error",(function(){a({message:"An error occurred when deleting image. Check if your server accept DELETE methods Access-Control-Allow-Methods: ['DELETE'].",isError:!0})})),l.send()}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    These images will be deleted
    ',bindings:[]},{id:"content",html:'
    ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.image.name,":",e.image.tag].join("")}}]}]),redundantAttribute:"expr148",selector:"[expr148]",itemName:"image",indexName:null,evaluate:function(e){return e.displayImagesToDelete(e.props.toDelete,e.props.tags)}}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Delete\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImages}}],redundantAttribute:"expr149",selector:"[expr149]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr150",selector:"[expr150]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr147",selector:"[expr147]"}])},name:"confirm-delete-image"}},onBeforeMount(e){this.state={toDelete:new Set,multiDelete:!1,page:e.page}},onBeforeUpdate(e,t){t.page!==e.page&&t.toDelete.clear(),t.page=e.page},deleteImages(){this.update({confirmDeleteImage:!0})},onConfirmDeleteImageClick(){this.state.singleDeleteAction&&this.state.toDelete.clear(),this.update({singleDeleteAction:!1,confirmDeleteImage:!1})},onRemoveImageHeaderChange(e,t){if(!0===t.altKey){qn(this.props.tags,this.props.page).filter((e=>ar(this.props.filterResults,e.tag))).forEach((e=>this.state.toDelete.add(e))),this.update({multiDelete:!0,toDelete:this.state.toDelete})}else this.update({multiDelete:e})},onRemoveImageChange(e,t){let n=!1,r=!1;switch(e){case yr:this.state.toDelete.add(t);break;case xr:this.state.toDelete.delete(t);break;case br:this.state.toDelete.clear(),this.state.toDelete.add(t),n=!0,r=!0}this.update({toDelete:this.state.toDelete,confirmDeleteImage:n,singleDeleteAction:r})},onReverseOrder(){this.state.orderType=null,this.state.desc=!1,this.props.onReverseOrder()},onPageReorder(e){this.update({orderType:e,desc:this.state.orderType&&this.state.orderType!==e||!this.state.desc})},getPage(e,t){const n=qn(e,t);return"date"===this.state.orderType?n.sort(((e,t)=>this.state.desc?e.creationDate.getTime()-t.creationDate.getTime():t.creationDate.getTime()-e.creationDate.getTime())):"size"===this.state.orderType&&n.sort(((e,t)=>this.state.desc?e.size-t.size:t.size-e.size)),n},matchSearch:ar},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"confirm-delete-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.confirmDeleteImage}},{type:t.EVENT,name:"on-click",evaluate:function(e){return e.onConfirmDeleteImageClick}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}},{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.props.tags}},{type:t.ATTRIBUTE,name:"to-delete",evaluate:function(e){return e.state.toDelete}}],redundantAttribute:"expr59",selector:"[expr59]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'
    \n Creation date\n \n Size\n Tag\n History
    ',bindings:[{redundantAttribute:"expr61",selector:"[expr61]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["creation-date ",e.state.desc&&"date"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.onPageReorder("date")}}]},{redundantAttribute:"expr62",selector:"[expr62]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["image-size ",e.state.desc&&"size"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.onPageReorder("size")}}]},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr63",selector:"[expr63]",template:e("Content Digest",[])},{redundantAttribute:"expr64",selector:"[expr64]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.asc?"material-card-th-sorted-ascending":"material-card-th-sorted-descending"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onReverseOrder}}]},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr65",selector:"[expr65]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["remove-tag ",e.state.toDelete.size>0&&!e.state.singleDeleteAction?"delete":""].join("")}}]},{type:n.IF,evaluate:function(e){return 0===e.state.toDelete.size||e.state.singleDeleteAction},redundantAttribute:"expr66",selector:"[expr66]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.multiDelete}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.onRemoveImageHeaderChange}}]}])},{type:n.IF,evaluate:function(e){return e.state.toDelete.size>0&&!e.state.singleDeleteAction},redundantAttribute:"expr67",selector:"[expr67]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImages}}]}])}])},{type:n.EACH,getKey:null,condition:function(e){return e.matchSearch(e.props.filterResults,e.image.tag)},template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-date"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr69",selector:"[expr69]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-size"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr70",selector:"[expr70]"},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr71",selector:"[expr71]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-content-digest"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr72",selector:"[expr72]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr73",selector:"[expr73]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-tag"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr74",selector:"[expr74]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr75",selector:"[expr75]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-button"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr76",selector:"[expr76]"},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr77",selector:"[expr77]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"multi-delete",evaluate:function(e){return e.state.multiDelete}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"handleCheckboxChange",evaluate:function(e){return e.onRemoveImageChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.toDelete.has(e.image)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}}],redundantAttribute:"expr78",selector:"[expr78]"}])}]),redundantAttribute:"expr68",selector:"[expr68]",itemName:"image",indexName:null,evaluate:function(e){return e.getPage(e.props.tags,e.props.page)}}]}],attributes:[],redundantAttribute:"expr60",selector:"[expr60]"}])},name:"tag-table"}},onBeforeMount(e){this.state={registryName:e.registryName,tags:[],loadend:!1,asc:!0,page:rr.getPageQueryParam()||1}},onMounted(e,t){this.display(e,t),window.addEventListener("resize",this.onResize),window.requestAnimationFrame(this.onResize)},display(e,t){t.tags=[];const n=this,r=new sr({onAuthentication:e.onAuthentication});r.addEventListener("load",(function(){if(200==this.status){const r=(JSON.parse(this.responseText).tags||[]).map((t=>new gr(e.image,t,{registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication}))).sort(hr);window.requestAnimationFrame(n.onResize),n.update({page:Math.min(t.page,Kn(r)),tags:r})}else 404==this.status?n.props.onNotify("Server not found",!0):n.props.onNotify(this.responseText,!0)})),r.addEventListener("error",(function(){n.props.onNotify(this.getErrorMessage(),!0),t.tags=[]})),r.addEventListener("loadend",(function(){n.update({loadend:!0})})),r.open("GET",e.registryUrl+"/v2/"+e.image+"/tags/list"),r.send(),t.asc=!0},onPageUpdate(e){this.update({page:e}),rr.updatePageQueryParam(e)},onResize(){const e=window.innerWidth;let t=0;const n=this.state.tags.reduce((function(e,t){return t.tag.length>e?t.tag.length:e}),0);t=e>=1440?71:e<1024?0:15+(e-1024)/416*56,n>20&&(t-=n-20),t=Math.floor(t),this.state.tags.map((function(e){e.trigger("content-digest-chars",t)}))},onReverseOrder(){this.state.asc?(this.state.tags.reverse(),this.state.asc=!1):(this.state.tags.sort(hr),this.state.asc=!0),this.update()},getPageLabels:function(e,t){var n=[],r=10;if(1===t)return n;1!==e&&t>=r&&(n.push({icon:"first_page",page:1}),n.push({icon:"chevron_left",page:e-1}));for(var a=Math.round(Math.max(1,Math.min(e-5,t-r+1))),i=a;ir,"space-right":e===t&&t>r});return e!==t&&t>=r&&(n.push({icon:"chevron_right",page:e+1}),n.push({icon:"last_page",page:t})),n},getNumPages:Kn,router:rr},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.router.home}}],redundantAttribute:"expr30",selector:"[expr30]"},{redundantAttribute:"expr31",selector:"[expr31]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Tags of ",e.props.image].join("")}}]},{redundantAttribute:"expr32",selector:"[expr32]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Sourced from ",e.state.registryName+"/"+e.props.image].join("")}}]},{redundantAttribute:"expr33",selector:"[expr33]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.tags.length," tags"].join("")}}]}]}],attributes:[],redundantAttribute:"expr29",selector:"[expr29]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr34",selector:"[expr34]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr35",selector:"[expr35]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr36",selector:"[expr36]"},{type:n.IF,evaluate:function(e){return e.state.loadend},redundantAttribute:"expr37",selector:"[expr37]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-table"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.state.tags}},{type:t.ATTRIBUTE,name:"asc",evaluate:function(e){return e.state.asc}},{type:t.ATTRIBUTE,name:"page",evaluate:function(e){return e.state.page}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.props.showContentDigest}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"onReverseOrder",evaluate:function(e){return e.onReverseOrder}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}}]}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr38",selector:"[expr38]"}])},name:"tag-list"},TagHistory:{css:null,exports:{components:{TagHistoryElement:{css:'tag-history-element.Labels .value,[is="tag-history-element"].Labels .value,tag-history-element.Env .value,[is="tag-history-element"].Env .value{ margin-bottom: 0.5em; } tag-history-element i,[is="tag-history-element"] i{ font-size: 20px; padding: 0px; } tag-history-element.docker_version .headline .material-icons,[is="tag-history-element"].docker_version .headline .material-icons{ background-size: 24px auto; background-image: url("images/docker-logo.svg"); background-repeat: no-repeat; } tag-history-element,[is="tag-history-element"]{ display: block; padding: 20px; min-width: 100px; min-height: 3em; width: 420px; float: left; } tag-history-element .content,[is="tag-history-element"] .content{ overflow-x: auto; } tag-history-element.id .content,[is="tag-history-element"].id .content{ overflow-x: initial; } tag-history-element .headline p,[is="tag-history-element"] .headline p{ font-weight: bold; line-height: 20px; position: relative; display: inline; top: -4px; } tag-history-element.id div.value,[is="tag-history-element"].id div.value{ font-size: 12px; }',exports:{onBeforeStart(e,t){t.key=e.entry.key,t.icon=function(e){switch(e){case"architecture":return"memory";case"created":return"event";case"docker_version":return"";case"os":return"developer_board";case"Cmd":return"launch";case"Entrypoint":return"input";case"Env":return"notes";case"Labels":return"label";case"User":return"face";case"Volumes":return"storage";case"WorkingDir":return"home";case"author":return"account_circle";case"id":case"digest":return"settings_ethernet";case"created_by":return"build";case"size":return"get_app";case"ExposedPorts":return"router"}}(e.entry.key),t.name=this.cleanName(e.entry.key),e.entry.value instanceof Array?t.values=e.entry.value:t.value=e.entry.value},onBeforeMount(e,t){this.onBeforeStart(e,t)},onBeforeUpdate(e,t){this.onBeforeStart(e,t)},cleanName:e=>"id"===e?e:"os"===e?"OS":e.replace(/([a-z])([A-Z])/g,"$1 $2").replace("_"," ").split(" ").map((e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`)).join(" ")},template:function(e,t,n,r){return e('

    ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.key}}]},{redundantAttribute:"expr52",selector:"[expr52]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.icon}}]},{redundantAttribute:"expr53",selector:"[expr53]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.name}}]},{type:n.IF,evaluate:function(e){return e.state.value},redundantAttribute:"expr54",selector:"[expr54]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.value].join("")}}]}])},{type:n.EACH,getKey:null,condition:function(e){return e.state.values},template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.value].join("")}}]}]),redundantAttribute:"expr55",selector:"[expr55]",itemName:"value",indexName:null,evaluate:function(e){return e.state.values}}])},name:"tag-history-element"}},onBeforeMount(e,t){t.elements=[],t.image=new gr(e.image,e.tag,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication}),t.image.fillInfo()},onMounted(e,t){t.image.on("blobs",this.processBlobs),t.image.on("list",this.multiArchList)},onTabChanged(e,t){const n=this.state,{registryUrl:r,onNotify:a}=this.props;if(n.elements=[],n.image.variants[t]=n.image.variants[t]||new gr(this.props.image,e.digest,{list:!1,registryUrl:r,onNotify:a}),n.image.variants[t].blobs)return this.processBlobs(n.image.variants[t].blobs);n.image.variants[t].fillInfo(),n.image.variants[t].on("blobs",this.processBlobs)},processBlobs(e){function t(e){const t=[];for(var n in e)if(e.hasOwnProperty(n)&&"empty_layer"!=n){const r=e[n],a={key:n,value:Ar(n,r)};t.push(a)}return t.sort(Er)}this.state;const n=new Array(e.history.length+1);n[0]=t(function(e){const t=["architecture","User","created","docker_version","os","Cmd","Entrypoint","Env","Labels","User","Volumes","WorkingDir","author","id","ExposedPorts"].reduce((function(t,n){const r=e[n]||e.config[n];return r&&"architecture"===n&&e.variant?t[n]=r+e.variant:r&&(t[n]=r),t}),{});return!t.author&&t.Labels&&t.Labels.maintainer&&(t.author=e.config.Labels.maintainer,delete t.Labels.maintainer),t}(e)),e.history.forEach((function(r,a){n[e.history.length-a]=t(r)})),this.update({elements:n,loadend:!0})},multiArchList(e){const t=(e=e.manifests||e).map((function(e){return{title:e.platform.os+"/"+e.platform.architecture+(e.platform.variant?e.platform.variant:""),digest:e.digest}}));this.update({archs:t})},toTaglist(){rr.taglist(this.props.image)}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

    history

    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.toTaglist}}],redundantAttribute:"expr22",selector:"[expr22]"},{redundantAttribute:"expr23",selector:"[expr23]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["History of ",e.props.image,":",e.props.tag].join("")}}]}]}],attributes:[],redundantAttribute:"expr21",selector:"[expr21]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr24",selector:"[expr24]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr25",selector:"[expr25]"}])},{type:n.IF,evaluate:function(e){return e.state.archs&&e.state.loadend},redundantAttribute:"expr26",selector:"[expr26]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-tabs"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"useLine",evaluate:function(e){return!0}},{type:t.ATTRIBUTE,name:"tabs",evaluate:function(e){return e.state.archs}},{type:t.EVENT,name:"onTabChanged",evaluate:function(e){return e.onTabChanged}}]}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'',bindings:[{type:n.EACH,getKey:null,condition:function(e){return e.entry.value&&e.entry.value.length>0},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"entry",evaluate:function(e){return e.entry}}]}]),redundantAttribute:"expr28",selector:"[expr28]",itemName:"entry",indexName:null,evaluate:function(e){return e.element}}]}],attributes:[]}]),redundantAttribute:"expr27",selector:"[expr27]",itemName:"element",indexName:null,evaluate:function(e){return e.state.elements}}])},name:"tag-history"},DialogsMenu:{css:'dialogs-menu > .container,[is="dialogs-menu"] > .container{ position: absolute; top: 0px; right: 16px; color: #000; list-style-type: disc; margin-block-start: 0.7em; } dialogs-menu .overlay,[is="dialogs-menu"] .overlay{ position: fixed; height: 100%; width: 100%; top: 0; right: 0; z-index: 10; } dialogs-menu material-button,[is="dialogs-menu"] material-button{ background: rgba(255, 255, 255, 0); float: right; z-index: 2; } dialogs-menu material-button .content i.material-icons,[is="dialogs-menu"] material-button .content i.material-icons{ color: #fff; font-size: 24px; } dialogs-menu material-dropdown-list,[is="dialogs-menu"] material-dropdown-list{ display: inline-block; position: relative; } dialogs-menu material-dropdown-list ul.dropdown-content,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content{ min-width: 156px; padding: 8px 0; margin: 0; } dialogs-menu material-dropdown-list ul.dropdown-content li span,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content li span{ font-size: 1rem; line-height: 1.2em; } dialogs-menu material-popup *,[is="dialogs-menu"] material-popup *{ line-height: 1em; } dialogs-menu material-popup material-button .content,[is="dialogs-menu"] material-popup material-button .content{ line-height: 36px; }',exports:{components:{AddRegistryUrl:{css:null,exports:{onKeyUp(e){13===e.keyCode&&this.add()},add(){const e=this.$("input");if(!e||!e.value||0===e.value.length)return this.props.onNotify("The input field is empty. Please enter an url.",!0);if(!e.value.startsWith("http"))return this.props.onNotify("The input field should start with http:// or https://.",!0);const t=e.value.trim().replace(/\/*$/,""),n=Qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify([t].concat(n))),rr.home(),this.props.onServerChange(t),this.props.onClose(),setTimeout((()=>rr.updateUrlQueryParam(t)),100)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    Add your Server ?
    ',bindings:[]},{id:"content",html:'
    Write your URL without /v2
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.onKeyUp}}],redundantAttribute:"expr80",selector:"[expr80]"}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Add\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.add}}],redundantAttribute:"expr81",selector:"[expr81]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr82",selector:"[expr82]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr79",selector:"[expr79]"}])},name:"add-registry-url"},ChangeRegistryUrl:{css:'change-registry-url select,[is="change-registry-url"] select{ position: relative; outline: 0; box-shadow: none; padding: 0; width: 100%; background: 0 0; border: none; font-weight: 400; line-height: 24px; height: 24px; border-bottom: 1px solid #2f6975; appearance: none; -moz-appearance: none; -webkit-appearance: none; margin: 1.5em 0; }',exports:{change(e){const t=this.$("select");if(!t||!t.value||0===t.value.length)return this.props.onNotify("The select field is empty. Please add an url.",!0);if(!t.value.startsWith("http"))return this.props.onNotify("The select field should start with http:// or https://.",!0);const n=t.value.trim().replace(/\/*$/,""),r=Qn().filter((e=>e!==n));localStorage.setItem("registryServer",JSON.stringify([n].concat(r))),rr.home(),this.props.onServerChange(n),this.props.onClose(),setTimeout((()=>rr.updateUrlQueryParam(n)),100)},getRegistryServers:Qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    Change your Server ?
    ',bindings:[]},{id:"content",html:'
    ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}},{type:t.ATTRIBUTE,name:"value",evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr84",selector:"[expr84]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Change\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.change}}],redundantAttribute:"expr85",selector:"[expr85]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr86",selector:"[expr86]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr83",selector:"[expr83]"}])},name:"change-registry-url"},RemoveRegistryUrl:{css:'remove-registry-url material-popup .popup material-button,[is="remove-registry-url"] material-popup .popup material-button{ margin-right: 1em; } remove-registry-url material-popup .popup material-button .content i.material-icons,[is="remove-registry-url"] material-popup .popup material-button .content i.material-icons{ color: #777; }',exports:{remove(e){const t=e.currentTarget.attributes.url&&e.currentTarget.attributes.url.value,n=Qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify(n)),setTimeout((()=>this.update()),100)},getRegistryServers:Qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
    Remove your Registry Server ?
    ',bindings:[]},{id:"content",html:'
    ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(' ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.remove}},{type:t.ATTRIBUTE,name:"url",evaluate:function(e){return e.url}}],redundantAttribute:"expr89",selector:"[expr89]"},{redundantAttribute:"expr90",selector:"[expr90]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr88",selector:"[expr88]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
    ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr91",selector:"[expr91]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr87",selector:"[expr87]"}])},name:"remove-registry-url"}},dropdownItems:[{title:"Add URL",name:"add-registry-url"},{title:"Change URL",name:"change-registry-url"},{title:"Remove URL",name:"remove-registry-url"}],onDropdownSelect(e,t){this.update({[t.name]:!0,isDropdownOpened:!1})},onClose(e){return()=>{this.update({[e]:!1,isDropdownOpened:!1})}},onClick(){this.update({isDropdownOpened:!this.state.isDropdownOpened})}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"add-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["add-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("add-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr39",selector:"[expr39]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"change-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["change-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("change-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr40",selector:"[expr40]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["remove-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("remove-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr41",selector:"[expr41]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'more_vert',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr42",selector:"[expr42]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-dropdown-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"items",evaluate:function(e){return e.dropdownItems}},{type:t.EVENT,name:"onSelect",evaluate:function(e){return e.onDropdownSelect}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.isDropdownOpened}}],redundantAttribute:"expr43",selector:"[expr43]"},{type:n.IF,evaluate:function(e){return e.state.isDropdownOpened},redundantAttribute:"expr44",selector:"[expr44]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]}])}])},name:"dialogs-menu"},SearchBar:ir,Router:$n,Route:mn},onUpdated(e,t){t.snackbarIsError=!1,t.snackbarMessage=void 0},onBeforeMount(e){this.state.registryUrl=e.registryUrl||("true"===e.singleRegistry?void 0:rr.getUrlQueryParam()||Qn(0))||window.location.origin+window.location.pathname.replace(/\/+$/,""),this.state.name=e.name||Wn(e.registryUrl),this.state.catalogElementsLimit=e.catalogElementsLimit||1e5,this.state.pullUrl=this.pullUrl(this.state.registryUrl,e.pullUrl)},onServerChange(e){this.update({registryUrl:e,name:Wn(e),pullUrl:this.pullUrl(e),snackbarMessage:"Registry server changed to `"+e+"`."})},onAuthentication(e,t){if(e&&e.realm&&e.service&&e.scope){const{realm:n,service:r,scope:a}=e,i=new XMLHttpRequest;i.addEventListener("loadend",(()=>{try{const e=JSON.parse(i.responseText);t(e)}catch(e){this.notifySnackbar(`Failed to log in: ${e.message}`,!0)}})),i.open("GET",`${n}?service=${r}&scope=${a}`),i.send()}else t()},onAuthenticationClose(){this.update({authenticationDialogOpened:!1})},pullUrl:(e,t)=>Wn(t||e&&e.length>0&&e||window.location.host),notifySnackbar(e,t){"string"==typeof e?this.update({snackbarMessage:e,snackbarIsError:t||!1}):e&&e.message&&this.update({snackbarMessage:e.message,snackbarIsError:e.isError})},onSearch(e){this.update({filter:e})},baseRoute:"([^#]*?)/(\\?[^#]*?)?(#!)?(/?)",router:rr,version:"2.0.5",truthy:function(e){return!0===e||"true"===e}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-navbar"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"search-bar"},slots:[],attributes:[{type:t.EVENT,name:"on-search",evaluate:function(e){return e.onSearch}}],redundantAttribute:"expr1",selector:"[expr1]"},{type:n.IF,evaluate:function(e){return"true"!==e.props.singleRegistry},redundantAttribute:"expr2",selector:"[expr2]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"dialogs-menu"},slots:[],attributes:[{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.onServerChange}}]}])}]}],attributes:[],redundantAttribute:"expr0",selector:"[expr0]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"router"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"catalog-elements-limit",evaluate:function(e){return e.state.catalogElementsLimit}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr5",selector:"[expr5]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return e.baseRoute}}],redundantAttribute:"expr4",selector:"[expr4]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagListImage()}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.truthy(e.props.showContentDigest)}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.truthy(e.props.isImageRemoveActivated)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr7",selector:"[expr7]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taglist/(.*)"].join("")}}],redundantAttribute:"expr6",selector:"[expr6]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagHistoryImage()}},{type:t.ATTRIBUTE,name:"tag",evaluate:function(e){return e.router.getTagHistoryTag()}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.truthy(e.props.isImageRemoveActivated)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr9",selector:"[expr9]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taghistory/(.*)"].join("")}}],redundantAttribute:"expr8",selector:"[expr8]"}]}],attributes:[],redundantAttribute:"expr3",selector:"[expr3]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"registry-authentication"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"realm",evaluate:function(e){return e.state.realm}},{type:t.ATTRIBUTE,name:"scope",evaluate:function(e){return e.state.scope}},{type:t.ATTRIBUTE,name:"service",evaluate:function(e){return e.state.service}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onAuthenticationClose}},{type:t.EVENT,name:"on-authenticated",evaluate:function(e){return e.state.onAuthenticated}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.authenticationDialogOpened}}],redundantAttribute:"expr10",selector:"[expr10]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-snackbar"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"message",evaluate:function(e){return e.state.snackbarMessage}},{type:t.ATTRIBUTE,name:"is-error",evaluate:function(e){return e.state.snackbarIsError}}],redundantAttribute:"expr11",selector:"[expr11]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-footer"},slots:[{id:"logo",html:' ',bindings:[{redundantAttribute:"expr13",selector:"[expr13]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Docker Registry UI ",e.version].join("")}}]}]},{id:"link-list",html:'',bindings:[]}],attributes:[],redundantAttribute:"expr12",selector:"[expr12]"}])},name:"docker-registry-ui"};At("material-card",Nt),At("material-footer",kt),At("material-navbar",{css:null,exports:null,template:function(e,t,n,r){return e('',[{expressions:[{type:t.ATTRIBUTE,name:"role",evaluate:function(e){return"toolbar"}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr118",selector:"[expr118]"}])},name:"material-navbar"}),At("material-spinner",{css:null,exports:null,template:function(e,t,n,r){return e('',[{redundantAttribute:"expr132",selector:"[expr132]",expressions:[{type:t.ATTRIBUTE,name:"stroke-width",evaluate:function(e){return e.props.strokewidth||3}}]}])},name:"material-spinner"}),At("material-button",Ct),At("material-waves",jt),At("material-checkbox",It),At("material-snackbar",Bt),At("material-tabs",Lt),At("material-dropdown-list",Rt),At("material-popup",St),At("material-input",Ot);for(var Cr,Nr=(Cr=wr,function(e,t,n){var r=void 0===n?{}:n,a=r.slots,i=r.attributes,o=r.parentScope;return function(){for(var e=arguments.length,t=new Array(e),n=0;nh-c)for(var y=n(e[l],0);c'.concat(e,""),"application/xml").documentElement,!0)}(t,e):function(e,t){var n=pe(t)?t:document.createElement("template");return n.innerHTML=e,n.content}(t,e)}function $e(e,t){switch(!0){case ce(e):R(t,e);break;case pe(e):e.parentNode.replaceChild(t,e);break;default:e.appendChild(t)}}var He=Object.freeze({createDOM:function(e){return this.dom=this.dom||function(e,t){return t&&("string"==typeof t?ze(e,t):t)}(e,this.html),this},mount:function(e,t,n,r){var a=this;if(void 0===r&&(r={}),!e)throw new Error("Please provide DOM node to mount properly your template");this.el&&this.unmount(t);var i=r,o=i.fragment,s=i.children,u=i.avoidDOMInjection,l=(s?s[0]:e).parentNode,c=pe(e),p=c?Math.max(Array.from(l.childNodes).indexOf(e),0):null;return this.isTemplateTag=c,this.createDOM(e),this.dom&&(this.fragment=o||this.dom.cloneNode(!0)),this.el=this.isTemplateTag?l:e,this.children=this.isTemplateTag?s||Array.from(this.fragment.childNodes):null,!u&&this.fragment&&$e(e,this.fragment),this.bindings=this.bindingsData.map((function(e){return Ve(a.el,e,p)})),this.bindings.forEach((function(e){return e.mount(t,n)})),this.meta=r,this},update:function(e,t){return this.bindings.forEach((function(n){return n.update(e,t)})),this},unmount:function(e,t,n){if(this.el){switch(this.bindings.forEach((function(r){return r.unmount(e,t,n)})),!0){case this.el[Y]:break;case this.children&&null!==n:k(this.children);break;case!0===n:U(this.el);break;case null!==n:k(this.el.childNodes)}this.el=null}return this},clone:function(){return Object.assign({},this,{meta:{},el:null})}});function Fe(e,t){return void 0===t&&(t=[]),Object.assign({},He,{html:e,bindingsData:t})}var qe=Object.freeze({__proto__:null,template:Fe,createBinding:Ve,createExpression:Le,bindingTypes:ne,expressionTypes:re});function Ke(){return this}function We(e){return de(e)?e.prototype&&e.prototype.constructor?new e:e():e}function Xe(e,t,n,r){return void 0===r&&(r={}),Object.defineProperty(e,t,Object.assign({value:n,enumerable:!1,writable:!1,configurable:!0},r)),e}function Ye(e,t,n){return Object.entries(t).forEach((function(t){var r=m(t,2),a=r[0],i=r[1];Xe(e,a,i,n)})),e}function Qe(e,t){return Object.entries(t).forEach((function(t){var n=m(t,2),r=n[0],a=n[1];e[r]||(e[r]=a)})),e}function Je(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function Ze(e,t){return Je("string"==typeof e?(t||document).querySelectorAll(e):e)}var et=function(e){return 1===e.length?e[0]:e};function tt(t,n,r){var i="object"===e(n)?n:a({},n,r),o=Object.keys(i);return Je(t).forEach((function(e){o.forEach((function(t){return e.setAttribute(t,i[t])}))})),t}function nt(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return et(Je(e).map((function(e){return et(r.map((function(t){return e[n](t)})))})))}(e,t,"getAttribute")}var rt,at=new Map,it=function(){return rt||(tt(rt=Ze("style[riot]")[0]||document.createElement("style"),"type","text/css"),rt.parentNode||document.head.appendChild(rt),rt)},ot={CSS_BY_NAME:at,add:function(e,t){return at.has(e)||(at.set(e,t),this.inject()),this},inject:function(){return it().innerHTML=g(at.values()).join("\n"),this},remove:function(e){return at.has(e)&&(at.delete(e),this.inject()),this}};function st(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{this.props.link&&(window.location.href=this.props.link),"function"==typeof e&&e(t)}},onWaveStart(e){"function"==typeof this.props.onWaveStart&&this.props.onWaveStart(e)},onWaveEnd(e){"function"==typeof this.props.onWaveEnd&&this.props.onWaveEnd(e)}},template:function(e,t,n,r){return e('
    ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"rounded",evaluate:function(e){return e.props.rounded}},{type:t.ATTRIBUTE,name:"opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"color",evaluate:function(e){return e.props.wavesColor}},{type:t.ATTRIBUTE,name:"duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.EVENT,name:"onWaveStart",evaluate:function(e){return e.onWaveStart}},{type:t.EVENT,name:"onWaveEnd",evaluate:function(e){return e.onWaveEnd}}],redundantAttribute:"expr502",selector:"[expr502]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr503",selector:"[expr503]"}])},name:"material-button"},Nt={css:null,exports:{state:{titleExist:!0},onMounted(e,t){const n=this.$(".title");n.children&&0!==n.children.length||this.update({titleExist:!1})}},template:function(e,t,n,r){return e('
    ',[{type:n.IF,evaluate:function(e){return e.state.titleExist},redundantAttribute:"expr504",selector:"[expr504]",template:e('',[{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr505",selector:"[expr505]"}])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr506",selector:"[expr506]"}])},name:"material-card"},It={css:null,exports:{onBeforeMount(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onBeforeUpdate(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onChange(e){"function"==typeof this.props.onChange&&this.props.onChange(!this.state.checked,e),this.update({checked:!this.state.checked})}},template:function(e,t,n,r){return e('
    ',[{redundantAttribute:"expr507",selector:"[expr507]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["checkbox ",e.state.checked?"checked":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{redundantAttribute:"expr508",selector:"[expr508]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onChange}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr509",selector:"[expr509]"},{redundantAttribute:"expr510",selector:"[expr510]",expressions:[{type:t.VALUE,evaluate:function(e){return e.state.checked}}]}])},name:"material-checkbox"},Rt={css:null,exports:{state:{opening:!1,opened:!1},onMounted(){this.state.opened=this.props.opened||!1,this.props.selected&&this.update({selected:props.selected})},onBeforeUpdate(e,t){e.opened!==t.opened&&(t.opening=!0)},onUpdated(e,t){t.opening&&setTimeout((()=>{this.update({opening:!1,opened:e.opened})}),e.opened?0:200)},select({item:e,key:t}){return this.update({selected:t}),"function"==typeof this.props.onSelect&&this.props.onSelect(t,e),!0}},template:function(e,t,n,r){return e('
      ',[{type:n.IF,evaluate:function(e){return e.state.opening||e.state.opened},redundantAttribute:"expr517",selector:"[expr517]",template:e('
    • ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["dropdown-content ",e.state.opening?"opening":""].join("")}}]},{type:n.EACH,getKey:null,condition:null,template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.selected==e.key?"selected":""}}]},{type:n.IF,evaluate:function(e){return!e.item.link},redundantAttribute:"expr519",selector:"[expr519]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select.bind(null,{item:e.item,key:e.key})}}]}])},{type:n.IF,evaluate:function(e){return e.item.link},redundantAttribute:"expr520",selector:"[expr520]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.item.title}},{type:t.ATTRIBUTE,name:"href",evaluate:function(e){return e.item.link}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.select(e.item)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.item.title}}]}])}]),redundantAttribute:"expr518",selector:"[expr518]",itemName:"item",indexName:"key",evaluate:function(e){return e.props.items}}])}])},name:"material-dropdown-list"},kt={css:null,exports:{onMounted(e,t){this.updateClasses()},onUpdated(e,t){this.updateClasses()},updateClasses(){const e=this.$(".mini-footer");for(let e=0;e0&&e.classList.add(`material-footer-${e.slot}`)}},template:function(e,t,n,r){return e('',[{type:n.SLOT,attributes:[],name:"sections",redundantAttribute:"expr511",selector:"[expr511]"},{type:n.SLOT,attributes:[],name:"logo",redundantAttribute:"expr512",selector:"[expr512]"},{type:n.SLOT,attributes:[],name:"link-list",redundantAttribute:"expr513",selector:"[expr513]"},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr514",selector:"[expr514]"}])},name:"material-footer"},Ut=function(){function e(n){if(t(this,e),n||console.debug("Sorry, but for using validate mixin you should add an opts argument"),this.type=n.type,n.valid){if(this.validationType="function"==typeof this[n.valid]?"Function":"Regexp","Regexp"===this.validationType)try{this.validationRegexp=new RegExp(n.valid)}catch(e){throw new Error("Something wrong with your regular expression!. Checkout --- ".concat(e))}"Function"===this.validationType&&(this.validationFunction=this[n.valid]||!1)}else n&&-1!=Object.keys(this.base).indexOf(this.type)&&(this.validationType="Type")}return r(e,[{key:"base",get:function(){return{email:/^(([\w\.\-_]+)@[\w\-\_]+(\.\w+){1,}|)$/i,number:/^(\d+|)$/i,tel:/^((\+|\d)?([\d\-\(\)\#])|)+$/i,url:/([--:\w?@%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?/i}}},{key:"validate",value:function(e){return!this.validationType||this["validateBy"+this.validationType](e)}},{key:"validateByFunction",value:function(e){if(this.validationFunction)return this.validationFunction(e)}},{key:"validateByRegexp",value:function(e){if(this.validationRegexp)return this.validationRegexp.test(e)}},{key:"validateByType",value:function(e){return this.base[this.type].test(e)}}]),e}(),Ot={css:null,exports:{state:{focused:!1,showIcon:!1,value:"",disabled:!1,required:!1,error:!1},onMounted(){if(this.required="",this.notSupportedTypes=["date","color","datetime","month","range","time"],-1!=this.notSupportedTypes.indexOf(this.props.type))throw new Error(`Sorry but we do not support ${this.props.type} type yet!`);this.validator=new Ut(this.props),this.update({showIcon:!1,value:this.props.value||"",disabled:""===this.props.disabled||this.props.disabled||!1,required:""===this.props.required||this.props.required||!1}),this.$("input").addEventListener("focus",this.changeFocus),this.$("input").addEventListener("blur",this.changeFocus)},onBeforeUpdate(e,t){this.state.error=0!==t.value.length&&!this.validator.validate(t.value)},changeFocus(e){if(this.disabled)return!1;this.update({focused:this.$("input")==document.activeElement}),this.props.focuschanged&&"function"==typeof this.props.focuschanged&&this.props.focuschanged(this.focused,e)},changeValue(e){this.update({value:this.$("input").value}),this.props.valuechanged&&"function"==typeof this.props.valuechanged&&this.props.valuechanged(this.$("input").value,e)},iconClickHandler(e){this.props.iconclicked&&"function"==typeof this.props.iconclicked&&this.props.iconclicked.call(this,e)}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr522",selector:"[expr522]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["input-content ",e.state.value?"not-empty":null," ",e.state.error?"error":null].join("")}}]},{type:n.IF,evaluate:function(e){return e.props.label},redundantAttribute:"expr523",selector:"[expr523]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.label}}]}])},{redundantAttribute:"expr524",selector:"[expr524]",expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:function(e){return e.props.type||"text"}},{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return e.state.disabled}},{type:t.ATTRIBUTE,name:"placeholder",evaluate:function(e){return e.props.placeholder}},{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.changeValue}},{type:t.VALUE,evaluate:function(e){return e.state.value}},{type:t.ATTRIBUTE,name:"required",evaluate:function(e){return e.state.required}}]},{type:n.IF,evaluate:function(e){return e.props.icon},redundantAttribute:"expr525",selector:"[expr525]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'',bindings:[{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr527",selector:"[expr527]"}]}],attributes:[{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props["waves-color"]||"#fff"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.iconClickHandler}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props["waves-opacity"]||"0.6"}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props["waves-duration"]||"600"}}],redundantAttribute:"expr526",selector:"[expr526]"}])},{redundantAttribute:"expr528",selector:"[expr528]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["underline ",e.state.focused?"focused":null," ",e.state.error?"error":null].join("")}}]}])},name:"material-input"},St={css:null,exports:{state:{transition:!1,opened:!1},onMounted(e,t){},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>{this.update({opened:e.opened,transition:!1})}),e.opened?0:200))},onUpdated(e,t){const n=this.$(".content");if(n)for(let e=0;e',[{type:n.IF,evaluate:function(e){return e.props.opened||e.state.opened},redundantAttribute:"expr535",selector:"[expr535]",template:e('
      ',[{redundantAttribute:"expr536",selector:"[expr536]",expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]},{redundantAttribute:"expr537",selector:"[expr537]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["popup ",e.state.transition?"opening":""," ",e.props.animation||"top"].join("")}}]},{type:n.SLOT,attributes:[],name:"title",redundantAttribute:"expr538",selector:"[expr538]"},{type:n.SLOT,attributes:[],name:"content",redundantAttribute:"expr539",selector:"[expr539]"},{type:n.SLOT,attributes:[],name:"action",redundantAttribute:"expr540",selector:"[expr540]"}])}])},name:"material-popup"},Bt={css:null,exports:{state:{toasts:{}},onBeforeUpdate(e,t){e.message&&!t.internal&&this.addToast({message:e.message,isError:e.isError},e.duration),t.internal=!1},addToast(e,t){var n=this.toastID=Math.random().toString(36).substring(7);this.state.toasts[n]=Object.assign(e,{opening:!0}),setTimeout((()=>{this.state.toasts[n].opening=!1,this.update({toasts:this.state.toasts,internal:!0})}),50),this.state.toasts[n].interval=setTimeout((()=>{this.removeToast(n)}),t||5e3)},removeToastByClick(e){return()=>{clearInterval(this.state.toasts[e].interval),this.removeToast(e)}},removeToast(e){this.state.toasts[e]&&(this.state.toasts[e].opening=!0,this.update({toasts:this.state.toasts,internal:!0}),setTimeout((()=>{delete this.state.toasts[e],this.update({toasts:this.state.toasts,internal:!0})}),200))}},template:function(e,t,n,r){return e('
      ',[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.toasts[e.toastID].message].join("")}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["toast ",e.state.toasts[e.toastID].isError?"error":""," ",e.state.toasts[e.toastID].opening?"opening":""].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.removeToastByClick(e.toastID)}}]}]),redundantAttribute:"expr542",selector:"[expr542]",itemName:"toastID",indexName:null,evaluate:function(e){return Object.keys(e.state.toasts)}}])},name:"material-snackbar"},Lt={css:null,exports:{state:{selected:0},onMounted(e,t){const n=this.$(".line");this.$$("material-button").forEach((e=>{e.style.width=(100/this.props.tabs.length).toFixed(2)+"%",n&&(n.style.width=e.style.width)})),this.setLinePosition()},onTabChanged(e,t){this.update({selected:t}),this.setLinePosition(),"function"==typeof this.props.onTabChanged&&this.props.onTabChanged(this.props.tabs[t],t)},setLinePosition(){const e=this.$(".line");e&&(e.style.left=(100/this.props.tabs.length).toFixed(2)*this.state.selected+"%")},cut:e=>e.length>props.cut?e.substr(0,props.cut)+"...":e},template:function(e,t,n,r){return e('
      ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
      ',bindings:[{redundantAttribute:"expr544",selector:"[expr544]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.cut?e.cut(e.tab.title):e.tab.title}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.tab.title}}]}]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return t=>e.onTabChanged(t,e.k)}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.selected==e.k?"selected":""}},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:function(e){return e.props.wavesOpacity}},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:function(e){return e.props.wavesDuration}},{type:t.ATTRIBUTE,name:"waves-center",evaluate:function(e){return e.props.wavesCenter}},{type:t.ATTRIBUTE,name:"waves-color",evaluate:function(e){return e.props.wavesColor}}]}]),redundantAttribute:"expr543",selector:"[expr543]",itemName:"tab",indexName:"k",evaluate:function(e){return e.props.tabs}},{type:n.IF,evaluate:function(e){return e.props.useLine},redundantAttribute:"expr545",selector:"[expr545]",template:e('
      ',[])},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr546",selector:"[expr546]"}])},name:"material-tabs"},Dt=function(e){s(o,e);var n,a,i=(n=o,a=c(),function(){var e,t=u(n);if(a){var r=u(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return f(this,e)});function o(e,n,r){var a;return t(this,o),a=i.call(this),e||console.error("You should set container to the wave!"),a.container=e,a.maxOpacity=n.opacity||.6,a.duration=n.duration||750,a.color=n.color||"#fff",a.center=n.center||!1,a.event=r,a.containerBound=a.receiveBound(),a.maxScale=a.containerBound.size/100*10,a.created=Date.now(),a.start={},a.createNode(),a.waveIn(),a}return r(o,[{key:"createNode",value:function(){this.wave=document.createElement("div"),this.wave.classList.add("wave"),this.container.appendChild(this.wave)}},{key:"waveIn",value:function(){var e=this;this.center&&!this.event&&console.error("Setup at least mouse event... Or just set center attribute"),this.start.x=this.center?this.containerBound.height/2:this.event.pageY-this.containerBound.offsetTop,this.start.y=this.center?this.containerBound.width/2:this.event.pageX-this.containerBound.offsetLeft;var t=-1!==window.navigator.userAgent.indexOf("Trident");setTimeout((function(){return e.setStyles(e.maxOpacity)}),t?50:0)}},{key:"waveOut",value:function(e){var t=this,n=Date.now()-this.created,r=Math.round(this.duration/2)-n;setTimeout((function(){t.setStyles(0),setTimeout((function(){t.wave.parentNode===t.container&&(t.container.removeChild(t.wave),e())}),t.duration)}),r>0?r:0)}},{key:"setStyles",value:function(e){this.wave.setAttribute("style",this.convertStyle({top:"".concat(this.start.x,"px"),left:"".concat(this.start.y,"px"),transform:"scale(".concat(this.maxScale,")"),"transition-duration":"".concat(this.duration,"ms"),"transition-timing-function":"cubic-bezier(0.250, 0.460, 0.450, 0.940)",background:this.color,opacity:e}))}},{key:"convertStyle",value:function(e){var t="";return Object.keys(e).forEach((function(n){e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";")})),t}}]),o}(function(){function n(){t(this,n)}return r(n,[{key:"receiveBound",value:function(){var t;this.container||console.error("Yor class must contain a container. It is DOM Element. Define please this.container property.");var n=this.container&&this.container.ownerDocument,r=n.documentElement;"undefined"!==e(this.container.getBoundingClientRect)&&(t=this.container.getBoundingClientRect());var a=this.getWindow(n);return this.mix(t,{size:Math.max(t.width,t.height),offsetTop:t.top+a.pageYOffset-r.clientTop,offsetLeft:t.left+a.pageXOffset-r.clientLeft})}},{key:"isWindow",value:function(e){return null!==e&&e===e.window}},{key:"getWindow",value:function(e){return this.isWindow(e)?e:9===e.nodeType&&e.defaultView}},{key:"mix",value:function(e,t){for(var n in e)n in t||(t[n]=e[n]);return t}}]),n}()),jt={css:null,exports:{onMounted(){this._waves=[],this._events=[]},launch(e){var t=new Dt(this.$("#waves"),this.props,e);this._waves.push(t),this.props.onWaveStart&&this.props.onWaveStart(t),this._events.length||(this._events.push(e.target.addEventListener("mouseup",(()=>this.hold()))),this._events.push(e.target.addEventListener("mouseleave",(()=>this.hold()))))},hold(){this._waves[this._waves.length-1]&&this._waves[this._waves.length-1].waveOut(this.waveOut),this._waves[this._waves.length-1]&&this._waves.slice(this._waves.length-1,1)},waveOut(){this.props.onWaveEnd&&this.props.onWaveEnd()}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr547",selector:"[expr547]",expressions:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.launch}}]}])},name:"material-waves"};function _t(e){var t={exports:{}};return e(t,t.exports),t.exports}function Mt(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;o+=e[s++]}if(!o)throw new TypeError("Missing parameter name at "+n);t.push({type:"NAME",index:n,value:o}),n=s}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,a=void 0===r?"./":r,i="[^"+Pt(t.delimiter||"/#?")+"]+?",o=[],s=0,u=0,l="",c=function(e){if(u-1:void 0===b;a||(f+="(?:"+d+"(?="+p+"))?"),T||(f+="(?="+d+"|"+p+")")}return new RegExp(f,Gt(n))}(Mt(e,n),t,n)}function zt(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),l=a.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;R(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:U(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),g}},t}(t.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}));var $t=Symbol();function Ht(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),a=1;a',[{type:n.IF,evaluate:function(e){return e.state.route},redundantAttribute:"expr0",selector:"[expr0]",template:e('',[{type:n.SLOT,attributes:[{type:t.ATTRIBUTE,name:"route",evaluate:function(e){return e.state.route}}],name:"default",redundantAttribute:"expr1",selector:"[expr1]"}])}])},name:"route-hoc"},hn="popstate",gn="click",vn="/",yn=/^.+?\/\/+[^/]+/,xn=function(){return"undefined"==typeof window?null:window},bn=function(){return"undefined"==typeof document?null:document},Tn=function(){var e=xn();return e?e.location:{}},En=function(e){return e[e.length-1]===vn?e.substr(0,e.length-1):e},An=function(e){var t,n=xn().location,r=n?"".concat(n.protocol,"//").concat(n.host):"",a=(n||{}).pathname;switch(!0){case!1===Boolean(e):return En("".concat(r).concat(a||""));case/(www|http(s)?:)/.test(e):return e;case"#"===e[0]:return"".concat(r).concat(a&&a!==vn?a:"").concat(e);case e===vn:return En(r);default:return En("".concat(r).concat((t=e)[0]===vn?t:"".concat(vn).concat(t)))}};function wn(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}function Cn(e,t,n,r,a){var i;e=wn(e),(i=t,i.split(/\s/)).forEach((function(t){e.forEach((function(e){return e[r](t,n,a||!1)}))}))}function Nn(e,t,n,r){return Cn(e,t,n,"addEventListener",r),e}function In(e,t,n,r){return Cn(e,t,n,"removeEventListener",r),e}var Rn=function(e){return 1===e.length?e[0]:e};function kn(e,t){return function(e,t,n){var r="string"==typeof t?[t]:t;return Rn(wn(e).map((function(e){return Rn(r.map((function(t){return e[n](t)})))})))}(e,t,"hasAttribute")}var Un=function(){return tn.push(Dn(String(Tn().href)))},On=function(e){var t=e.includes(nn.base)?e:nn.base+e,n=Tn(),r="undefined"==typeof history?null:history,a=bn();r&&t!==n.href&&r.pushState(null,a.title,t)},Sn=function e(t){return t&&!Bn(t)?e(t.parentNode):t},Bn=function(e){return"A"===e.nodeName},Ln=function(e){return!e||!Bn(e)||kn(e,"download")||!kn(e,"href")||function(e){return e.target&&"_self"!==e.target}(e)||-1===e.href.indexOf(Tn().href.match(yn)[0])},Dn=function(e){return e.replace(nn.base,"")},jn=function(e){if(!function(e){return e.which&&1!==e.which||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented}(e)){var t=Sn(e.target);if(!Ln(t)&&!function(e){return e.split("#").length>1}(t.href)&&function(e){return!nn.base||e.includes(nn.base)}(t.href)){var n=Dn(t.href);tn.push(n),e.preventDefault()}}};var _n,Mn=wt.DOMBindings,Pn=Mn.template,Gn=Mn.bindingTypes,Vn=window.requestAnimationFrame||window.setTimeout,zn=window.cancelAnimationFrame||window.clearTimeout,$n=!1,Hn={css:null,exports:(_n=function(e){var t=e.slots,n=e.attributes,r=e.props;$n&&function(e){throw new Error(e)}("Multiple components are not supported");var a=function(e){return n&&n.find((function(t){return t.name.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))===e}))};return{slot:null,el:null,teardown:null,mount:function(e,t){var n,r,i,o=this,s=a("initialRoute"),u=s?s.evaluate(t):null,l=pn();$n=!0,this.el=e,this.teardown=(n=this.root,r=xn(),i=n||bn(),r&&(Nn(r,hn,Un),Nn(i,gn,jn)),tn.on.value(On),function(){r&&(In(r,hn,Un),In(i,gn,jn)),tn.off.value(On)}),this.setBase(t),l&&!u?this.createSlot(t):(tn.on.value((function e(){o.createSlot(t),tn.off.value(e)})),tn.push(u||window.location.href))},createSlot:function(e){if(t&&t.length){var n=a("onStarted");this.slot=Pn(null,[{type:Gn.SLOT,name:"default"}]),this.slot.mount(this.el,{slots:t},e),n&&n.evaluate(e)(pn())}},update:function(e){var t=this;this.setBase(e),this.slot&&(zn(this.deferred),this.deferred=Vn((function(){t.slot.update({},e)})))},unmount:function(){var e;this.teardown(),$n=!1,this.slot&&(e=this.slot).unmount.apply(e,arguments)},getBase:function(e){var t=a("base");return t?t.evaluate(e):"/"},setBase:function(e){var t;t=r?r.base:this.getBase(e),nn.base=An(t)}}},de(_n)||ye('riot.pure accepts only arguments of type "function"'),_n[Y]=!0,_n),template:null,name:"router-hoc"};function Fn(e){if(null==e||isNaN(e))return"?";if(0==e)return"0 Byte";var t=parseInt(Math.floor(Math.log(e)/Math.log(1024)));return Math.ceil(e/Math.pow(1024,t))+" "+["Bytes","KB","MB","GB","TB"][t]}function qn(e,t,n){return n||(n=100),e?e.slice((t-1)*n,n*t):[]}function Kn(e,t){return t||(t=100),e?Math.trunc(e.length/t)+1:0}function Wn(e){return e?e.replace(/^https?:\/\//,""):""}function Xn(e){return e>="0"&&e<="9"}var Yn={message:"Access on registry response was blocked. Try adding the header `Access-Control-Expose-Headers: Docker-Content-Digest` to your proxy or registry: https://docs.docker.com/registry/configuration/#http",isError:!0};function Qn(e){try{var t=JSON.parse(localStorage.getItem("registryServer"));if(t instanceof Array)return isNaN(e)?t.map((function(e){return e.trim().replace(/\/*$/,"")})):t[e]}catch(e){}return isNaN(e)?[]:""}function Jn(e){if(e)return e.indexOf("&")<0?window.encodeURIComponent(e):btoa(e)}function Zn(){var e={};return window.location.search.slice(1).split("&").forEach((function(t){var n=t.indexOf("=");e[t.slice(0,n)]=n<0?"":t.slice(n+1)})),e}function er(e){var t=Zn();for(var n in e)null===e[n]?delete t[n]:t[n]=e[n];return t}function tr(e){var t=[];for(var n in e)n&&void 0!==e[n]&&t.push("".concat(n,"=").concat(e[n]));return 0===t.length?"":"?".concat(t.join("&"))}function nr(e){var t=window.location,n=er(e);return t.origin+t.pathname+tr(n)}var rr={home:function(){tn.push(nr({page:null}))},taglist:function(e){tn.push("".concat(nr({page:null}),"#!/taglist/").concat(e))},getTagListImage:function(){return pn().replace(/^.*(#!)?\/?taglist\//,"")},history:function(e,t){tn.push("".concat(nr({page:null}),"#!/taghistory/image/").concat(e,"/tag/").concat(t))},getTagHistoryImage:function(){return pn().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$2")},getTagHistoryTag:function(){return pn().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$3")},updateQueryString:function(e){var t=tr(er(e));history.pushState(null,"",t+window.location.hash)},updateUrlQueryParam:function(e){this.updateQueryString({url:Jn(e)})},getUrlQueryParam:function(){var e=Zn().url;if(e)try{return function(e){if(e)return e.startsWith("http")?window.decodeURIComponent(e):atob(e)}(e)}catch(t){console.error("Can't decode query parameter URL: ".concat(e),t)}},updatePageQueryParam:function(e){this.updateQueryString({page:e})},getPageQueryParam:function(){return Zn().page}};function ar(e,t){return!e||t&&t.toLowerCase().indexOf(e)>=0}var ir={css:'search-bar material-input,[is="search-bar"] material-input{ position: absolute; top: 0em; right: 64px; max-width: 20%; } @media screen and (max-width: 400px) { search-bar material-input,[is="search-bar"] material-input{ display: none; } } search-bar material-input input,[is="search-bar"] material-input input{ color: #fff; }',exports:{onMounted(e,t){const n=this.$("input");let r="";const a=()=>{r!==n.value&&e.onSearch(n.value.toLowerCase()),r=n.value};n.addEventListener("keyup",a),tn.on.value((()=>{n.value="",a()}))}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[],redundantAttribute:"expr424",selector:"[expr424]"}])},name:"search-bar"},or={css:null,exports:{onBeforeMount(e,t){e.item.images&&1===e.item.images.length?t.image=e.item.images[0]:"string"==typeof e.item?t.image=e.item:e.item.images&&e.item.repo&&(t.images=e.item.images,t.repo=e.item.repo,t.nImages=e.item.images.length)},onBeforeUpdate(e,t){e.filterResults&&t.images?t.nImages=t.images.filter((t=>ar(e.filterResults,t))).length:t.nImages=t.images&&t.images.length},onClick(){const e=this.state;e.repo?(this.update({expanded:!this.state.expanded,expanding:!0}),setTimeout((()=>{this.update({expanding:!1})}),50)):rr.taglist(e.image)},setLaunchListener(e){this.triggerLaunch=e},matchSearch:ar},template:function(e,t,n,r){return e('
      ',[{type:n.IF,evaluate:function(e){return!e.props.filterResults||e.state.nImages>0||e.matchSearch(e.props.filterResults,e.state.image)},redundantAttribute:"expr455",selector:"[expr455]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'send
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-waves"},slots:[],attributes:[{type:t.EVENT,name:"onmousedown",evaluate:function(e){return e.triggerLaunch}},{type:t.ATTRIBUTE,name:"setLaunchListener",evaluate:function(e){return e.setLaunchListener}}],redundantAttribute:"expr457",selector:"[expr457]"},{redundantAttribute:"expr458",selector:"[expr458]",expressions:[{type:t.TEXT,childNodeIndex:1,evaluate:function(e){return[e.state.image||e.state.repo].join("")}}]},{type:n.IF,evaluate:function(e){return e.state.images},redundantAttribute:"expr459",selector:"[expr459]",template:e(' expand_more',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images"].join("")}}]},{redundantAttribute:"expr460",selector:"[expr460]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["material-icons animated ",e.state.expanded?"expanded":""].join("")}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"expanded",evaluate:function(e){return e.state.expanded}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr456",selector:"[expr456]"},{type:n.EACH,getKey:null,condition:function(e){return e.state.images},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["animated ",e.state.expanded||e.props.filterResults?"":"hide"," ",e.state.expanding?"expanding":""].join("")}},{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}}]}]),redundantAttribute:"expr461",selector:"[expr461]",itemName:"item",indexName:null,evaluate:function(e){return e.state.images}}])}])},name:"catalog-element"},sr=function(){function e(n){t(this,e),this.oReq=new XMLHttpRequest,this.oReq.hasHeader=ur,this.oReq.getErrorMessage=lr,this._events={},this._headers={},this.onAuthentication=n&&n.onAuthentication,this.withCredentials=n&&n.withCredentials}return r(e,[{key:"getContentDigest",value:function(e){this.oReq.hasHeader("Docker-Content-Digest")?e(this.oReq.getResponseHeader("Docker-Content-Digest")):window.crypto&&window.TextEncoder&&crypto.subtle.digest("SHA-256",(new TextEncoder).encode(this.oReq.responseText)).then((function(t){e("sha256:"+Array.from(new Uint8Array(t)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""))}))}},{key:"addEventListener",value:function(t,n){this._events[t]=n;var r=this;switch(t){case"loadend":r.oReq.addEventListener("loadend",(function(){if(401!=this.status||this.withCredentials)n.bind(this)();else{var t=pr(this.getResponseHeader("www-authenticate"));r.onAuthentication(t,(function(t){var n=new XMLHttpRequest;for(var a in n._url=r._url,n.open(r._method,r._url),r._events)n.addEventListener(a,r._events[a]);for(var i in r._headers)n.setRequestHeader(i,r._headers[i]);t&&t.token?n.setRequestHeader("Authorization","Bearer ".concat(t.token)):n.withCredentials=!0,n.hasHeader=ur,n.getErrorMessage=e.getErrorMessage,r.oReq=n,n.send()}))}}));break;case"load":r.oReq.addEventListener("load",(function(){401!==this.status&&n.bind(this)()}));break;default:r.oReq.addEventListener(t,(function(){n.bind(this)()}))}}},{key:"setRequestHeader",value:function(e,t){this.oReq.setRequestHeader(e,t),this._headers[e]=t}},{key:"open",value:function(e,t){this._method=e,this._url=t,this.oReq._url=t,this.withCredentials&&(this.oReq.withCredentials=!0),this.oReq.open(e,t)}},{key:"send",value:function(){this.oReq.send()}}]),e}(),ur=function(e){return this.getAllResponseHeaders().split("\n").some((function(t){return new RegExp("^"+e+":","i").test(t)}))},lr=function(){return this._url.match("^http://")&&"https:"===window.location.protocol?"Mixed Content: The page at `"+window.location.origin+"` was loaded over HTTPS, but requested an insecure server endpoint `"+new URL(this._url).origin+"`. This request has been blocked; the content must be served over HTTPS.":this._url&&this._url.match("^http")?this.withCredentials&&!this.hasHeader("Access-Control-Allow-Credentials")?"The `Access-Control-Allow-Credentials` header in the response is missing and must be set to `true` when the request's credentials mode is on. Origin `"+new URL(this._url).origin+"` is therefore not allowed access.":"An error occured: Check your connection and your registry must have `Access-Control-Allow-Origin` header set to `"+window.location.origin+"`":"Incorrect server endpoint."},cr=E(/Bearer realm="((?:(?!")[\s\S])+)",service="((?:(?!")[\s\S])+)",scope="((?:(?!")[\s\S])+)"/,{realm:1,service:2,scope:3}),pr=function(e){var t=cr.exec(e);return t&&t.groups},dr={css:null,exports:{components:{CatalogElement:or},state:{registryName:"",length:0,loadend:!1,repositories:[]},onBeforeMount(e){this.state.registryName=e.registryName,this.state.catalogElementsLimit=e.catalogElementsLimit},onMounted(e){this.display(e,this.state)},display(e,t){let n=[];const r=this,a=new sr({onAuthentication:this.props.onAuthentication});a.addEventListener("load",(function(){200==this.status?(n=JSON.parse(this.responseText).repositories||[],n.sort(),n=n.reduce((function(e,t){const n=t.indexOf("/");if(n>0){const r=t.substring(0,n)+"/";return 0!=e.length&&e[e.length-1].repo==r||e.push({repo:r,images:[]}),e[e.length-1].images.push(t),e}return e.push(t),e}),[])):404==this.status?r.props.onNotify("Server not found",!0):r.props.onNotify(this.responseText)})),a.addEventListener("error",(function(){r.props.onNotify(this.getErrorMessage(),!0)})),a.addEventListener("loadend",(function(){r.update({repositories:n,nRepositories:n.length,nImages:n.reduce(((e,t)=>e+(t.images&&t.images.length||1)),0),loadend:!0})})),a.open("GET",`${e.registryUrl}/v2/_catalog?n=${t.catalogElementsLimit}`),a.send()}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

      ',bindings:[{redundantAttribute:"expr426",selector:"[expr426]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Repositories of ",e.state.registryName].join("")}}]},{redundantAttribute:"expr427",selector:"[expr427]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.nImages," images in ",e.state.nRepositories," repositories"].join("")}}]}]}],attributes:[],redundantAttribute:"expr425",selector:"[expr425]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr428",selector:"[expr428]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr429",selector:"[expr429]"}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"item",evaluate:function(e){return e.item}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}}]}]),redundantAttribute:"expr430",selector:"[expr430]",itemName:"item",indexName:null,evaluate:function(e){return e.state.repositories}}])},name:"catalog"},fr=_t((function(e,t){var n,r,a,i,o,s,u;n="*",r=Object.defineProperties,a=Object.entries,i=function(e,t){return function(n,r){return e.has(n)?e.get(n).add(r):e.set(n,(new Set).add(r)),t}},o=function(e,t){return function(r,a){if(r!==n||a)if(a){var i=e.get(r);i&&(i.delete(a),0===i.size&&e.delete(r))}else e.delete(r);else e.clear();return t}},s=function(e,t){return function(e,n){return t.on(e,(function r(){t.off(e,r);for(var a=arguments.length,i=new Array(a),o=0;o1?a-1:0),o=1;o0&&Xn(e[e.length-1].charAt(0))==Xn(t)?e[e.length-1]+=t:e.push(t),e};function hr(e,t){for(var n=e.tag.match(/./g).reduce(mr,[]),r=t.tag.match(/./g).reduce(mr,[]),a=0;a{this.update({digest:e})}))},onMounted(e,t){e.image.trigger("get-content-digest")},onBeforeUpdate(e,t){t.checked=e.checked},deleteImage(){this.props.handleCheckboxChange(br,this.props.image)},handleCheckboxChange(e){const t=e?yr:xr;this.props.handleCheckboxChange(t,this.props.image)}},template:function(e,t,n,r){return e('',[{type:n.IF,evaluate:function(e){return!e.props.multiDelete},redundantAttribute:"expr555",selector:"[expr555]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImage}}]}])},{type:n.IF,evaluate:function(e){return e.props.multiDelete},redundantAttribute:"expr556",selector:"[expr556]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:function(e){return!e.state.digest}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.handleCheckboxChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.checked}}]}])}])},name:"remove-image"};const yr="CHECK",xr="UNCHECK",br="DELETE";const Tr=function(e){switch(e){case"created":return 1;case"created_by":return 2;case"size":return 3;case"os":return 4;case"architecture":return 5;case"id":return 6;case"linux":return 7;case"docker_version":return 8;default:return 10}},Er=function(e,t){return Tr(e.key)-Tr(t.key)},Ar=function(e,t){switch(e){case"created":return new Date(t).toLocaleString();case"created_by":const e=t.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+)/);return e&&e[1]||"RUN";case"size":return Fn(t);case"Entrypoint":case"Cmd":return(t||[]).join(" ");case"Labels":return Object.keys(t||{}).map((function(e){return t[e]?e+"="+t[e]:""}));case"Volumes":case"ExposedPorts":return Object.keys(t)}return t||""};var wr={css:null,exports:{components:{Catalog:dr,TagList:{css:null,exports:{components:{Pagination:{css:null,exports:null,template:function(e,t,n,r){return e('
      ',[{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'
      ',bindings:[{type:n.IF,evaluate:function(e){return e.p.icon},redundantAttribute:"expr463",selector:"[expr463]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.icon}}]}])},{type:n.IF,evaluate:function(e){return!e.p.icon},redundantAttribute:"expr464",selector:"[expr464]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.p.page}}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return[e.p.current?"current":""," ",e.p["space-left"]?"space-left":""," ",e.p["space-right"]?"space-right":""].join("")}},{type:t.EVENT,name:"onClick",evaluate:function(e){return()=>e.props.onPageUpdate(e.p.page)}}]}]),redundantAttribute:"expr462",selector:"[expr462]",itemName:"p",indexName:null,evaluate:function(e){return e.props.pages}}])},name:"pagination"},TagTable:{css:null,exports:{components:{ImageDate:{css:null,exports:{onMounted(e){e.image.one("creation-date",(e=>{this.update({date:e,localDate:e.toLocaleString()})})),e.image.trigger("get-date")},getDate:e=>function(e){if(void 0===e)return"";for(var t=["a second","seconds","a minute","minutes","an hour","hours","a day","days","a month","months","a year","years"],n=[1,60,3600,86400,2592e3,31104e3,1/0],r=(new Date-e)/1e3,a=0;a=r)return t[2*a];if(n[a+1]>r)return Math.floor(r/n[a])+" "+t[2*a+1]}}(e.creationDate),getLocalDate:e=>e.creationDate&&e.creationDate.toLocaleString()||"unknown"},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr549",selector:"[expr549]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.getDate(e.props.image)," ago"].join("")}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return["Creation date ",e.getLocalDate(e.props.image)].join("")}}]}])},name:"image-date"},ImageSize:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){"number"!=typeof e.image.size&&(e.image.on("size",(e=>{this.update({size:e})})),e.image.trigger("get-size"))},getImageSize:e=>Fn(e.size)},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr548",selector:"[expr548]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.getImageSize(e.props.image)}}]}])},name:"image-size"},ImageTag:{css:null,exports:{onMounted(e){e.image.on("sha256",(e=>{this.update({sha256:e.substring(0,19)})})),e.image.trigger("get-sha256")}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr550",selector:"[expr550]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.props.image.tag}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.state.sha256}}]}])},name:"image-tag"},ImageContentDigest:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){e.image.digest||(t.chars=-1,e.image.one("content-digest",(t=>{this.digest=t,e.image.on("content-digest-chars",this.onResize),e.image.trigger("get-content-digest-chars")})),e.image.trigger("get-content-digest"))},onResize(e){e!==this.state.chars&&this.update({chars:e})},getTitle:(e,t)=>t>=70?"":e.digest||"",getDigest:(e,t)=>t>=70?e.digest||"":t<=0?"":e.digest&&e.digest.slice(0,t)+"..."},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr551",selector:"[expr551]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.getDigest(e.props.image,e.state.chars)}},{type:t.ATTRIBUTE,name:"title",evaluate:function(e){return e.getTitle(e.props.image,e.state.chars)}}]}])},name:"image-content-digest"},CopyToClipboard:{css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},getDockerCmd:e=>"tag"===e.target?`docker pull ${e.pullUrl}/${e.image.name}:${e.image.tag}`:`docker pull ${e.pullUrl}/${e.image.name}@${e.image.digest}`,load(e,t){"tag"===e.target||e.image.digest||(e.image.one("content-digest",(e=>{this.update()})),e.image.trigger("get-content-digest"))},copy(){const e=this.$("input");e.value?(e.style.display="block",e.select(),document.execCommand("copy"),e.style.display="none",this.props.onNotify("`"+e.value+"` has been copied to clipboard.")):this.props.onNotify(Yn)}},template:function(e,t,n,r){return e('
      ',[{redundantAttribute:"expr552",selector:"[expr552]",expressions:[{type:t.VALUE,evaluate:function(e){return e.getDockerCmd(e.props)}}]},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'content_copy',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.copy}}],redundantAttribute:"expr553",selector:"[expr553]"}])},name:"copy-to-clipboard"},RemoveImage:vr,TagHistoryButton:{css:null,exports:{routeToHistory(){rr.history(this.props.image.name,this.props.image.tag)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'history',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.routeToHistory}}],redundantAttribute:"expr554",selector:"[expr554]"}])},name:"tag-history-button"},ConfirmDeleteImage:{css:'confirm-delete-image,[is="confirm-delete-image"]{ color: #000; list-style-type: disc; margin-block-start: 0.7em; } confirm-delete-image material-popup .content .material-popup-content,[is="confirm-delete-image"] material-popup .content .material-popup-content{ overflow-y: auto; max-height: 250px; }',exports:{displayImagesToDelete(e,t){const n=new Set;return e.forEach((e=>{e.digest&&n.add(e.digest)})),t.filter((e=>n.has(e.digest)))},deleteImages(){this.props.toDelete.forEach((e=>this.deleteImage(e,this.props)))},deleteImage(e,t){const{registryUrl:n,ignoreError:r,onNotify:a,onAuthentication:i,onClick:o}=t;if(!e.digest)return void a(`Information for ${s}:${u} are not yet loaded.`);const s=e.name,u=e.tag,l=new sr({onAuthentication:i});l.addEventListener("loadend",(function(){200==this.status||202==this.status?(rr.taglist(s),a(`Deleting ${s}:${u} image. Run \`registry garbage-collect config.yml\` on your registry`)):404==this.status?r||a({message:"Digest not found for this image in your registry.",isError:!0}):a(this.responseText),o()})),l.open("DELETE",`${n}/v2/${s}/manifests/${e.digest}`),l.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json"),l.addEventListener("error",(function(){a({message:"An error occurred when deleting image. Check if your server accept DELETE methods Access-Control-Allow-Methods: ['DELETE'].",isError:!0})})),l.send()}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      These images will be deleted
      ',bindings:[]},{id:"content",html:'
      ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.image.name,":",e.image.tag].join("")}}]}]),redundantAttribute:"expr558",selector:"[expr558]",itemName:"image",indexName:null,evaluate:function(e){return e.displayImagesToDelete(e.props.toDelete,e.props.tags)}}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Delete\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImages}}],redundantAttribute:"expr559",selector:"[expr559]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr560",selector:"[expr560]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr557",selector:"[expr557]"}])},name:"confirm-delete-image"}},onBeforeMount(e){this.state={toDelete:new Set,multiDelete:!1,page:e.page}},onBeforeUpdate(e,t){t.page!==e.page&&t.toDelete.clear(),t.page=e.page},deleteImages(){this.update({confirmDeleteImage:!0})},onConfirmDeleteImageClick(){this.state.singleDeleteAction&&this.state.toDelete.clear(),this.update({singleDeleteAction:!1,confirmDeleteImage:!1})},onRemoveImageHeaderChange(e,t){if(!0===t.altKey){qn(this.props.tags,this.props.page).filter((e=>ar(this.props.filterResults,e.tag))).forEach((e=>this.state.toDelete.add(e))),this.update({multiDelete:!0,toDelete:this.state.toDelete})}else this.update({multiDelete:e})},onRemoveImageChange(e,t){let n=!1,r=!1;switch(e){case yr:this.state.toDelete.add(t);break;case xr:this.state.toDelete.delete(t);break;case br:this.state.toDelete.clear(),this.state.toDelete.add(t),n=!0,r=!0}this.update({toDelete:this.state.toDelete,confirmDeleteImage:n,singleDeleteAction:r})},onReverseOrder(){this.state.orderType=null,this.state.desc=!1,this.props.onReverseOrder()},onPageReorder(e){this.update({orderType:e,desc:this.state.orderType&&this.state.orderType!==e||!this.state.desc})},getPage(e,t){const n=qn(e,t);return"date"===this.state.orderType?n.sort(((e,t)=>this.state.desc?e.creationDate.getTime()-t.creationDate.getTime():t.creationDate.getTime()-e.creationDate.getTime())):"size"===this.state.orderType&&n.sort(((e,t)=>this.state.desc?e.size-t.size:t.size-e.size)),n},matchSearch:ar},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"confirm-delete-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.confirmDeleteImage}},{type:t.EVENT,name:"on-click",evaluate:function(e){return e.onConfirmDeleteImageClick}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}},{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.props.tags}},{type:t.ATTRIBUTE,name:"to-delete",evaluate:function(e){return e.state.toDelete}}],redundantAttribute:"expr465",selector:"[expr465]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'
      \n Creation date\n \n Size\n Tag\n History
      ',bindings:[{redundantAttribute:"expr467",selector:"[expr467]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["creation-date ",e.state.desc&&"date"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.onPageReorder("date")}}]},{redundantAttribute:"expr468",selector:"[expr468]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["image-size ",e.state.desc&&"size"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")}},{type:t.EVENT,name:"onclick",evaluate:function(e){return()=>e.onPageReorder("size")}}]},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr469",selector:"[expr469]",template:e("Content Digest",[])},{redundantAttribute:"expr470",selector:"[expr470]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.props.asc?"material-card-th-sorted-ascending":"material-card-th-sorted-descending"}},{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onReverseOrder}}]},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr471",selector:"[expr471]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return["remove-tag ",e.state.toDelete.size>0&&!e.state.singleDeleteAction?"delete":""].join("")}}]},{type:n.IF,evaluate:function(e){return 0===e.state.toDelete.size||e.state.singleDeleteAction},redundantAttribute:"expr472",selector:"[expr472]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-checkbox"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.multiDelete}},{type:t.EVENT,name:"onChange",evaluate:function(e){return e.onRemoveImageHeaderChange}}]}])},{type:n.IF,evaluate:function(e){return e.state.toDelete.size>0&&!e.state.singleDeleteAction},redundantAttribute:"expr473",selector:"[expr473]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.deleteImages}}]}])}])},{type:n.EACH,getKey:null,condition:function(e){return e.matchSearch(e.props.filterResults,e.image.tag)},template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-date"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr475",selector:"[expr475]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-size"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr476",selector:"[expr476]"},{type:n.IF,evaluate:function(e){return e.props.showContentDigest},redundantAttribute:"expr477",selector:"[expr477]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"image-content-digest"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr478",selector:"[expr478]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr479",selector:"[expr479]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"image-tag"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr480",selector:"[expr480]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"copy-to-clipboard"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}}],redundantAttribute:"expr481",selector:"[expr481]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-button"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}}],redundantAttribute:"expr482",selector:"[expr482]"},{type:n.IF,evaluate:function(e){return e.props.isImageRemoveActivated},redundantAttribute:"expr483",selector:"[expr483]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-image"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"multi-delete",evaluate:function(e){return e.state.multiDelete}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.image}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"handleCheckboxChange",evaluate:function(e){return e.onRemoveImageChange}},{type:t.ATTRIBUTE,name:"checked",evaluate:function(e){return e.state.toDelete.has(e.image)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}}],redundantAttribute:"expr484",selector:"[expr484]"}])}]),redundantAttribute:"expr474",selector:"[expr474]",itemName:"image",indexName:null,evaluate:function(e){return e.getPage(e.props.tags,e.props.page)}}]}],attributes:[],redundantAttribute:"expr466",selector:"[expr466]"}])},name:"tag-table"}},onBeforeMount(e){this.state={registryName:e.registryName,tags:[],loadend:!1,asc:!0,page:rr.getPageQueryParam()||1}},onMounted(e,t){this.display(e,t),window.addEventListener("resize",this.onResize),window.requestAnimationFrame(this.onResize)},display(e,t){t.tags=[];const n=this,r=new sr({onAuthentication:e.onAuthentication});r.addEventListener("load",(function(){if(200==this.status){const r=(JSON.parse(this.responseText).tags||[]).map((t=>new gr(e.image,t,{registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication}))).sort(hr);window.requestAnimationFrame(n.onResize),n.update({page:Math.min(t.page,Kn(r)),tags:r})}else 404==this.status?n.props.onNotify("Server not found",!0):n.props.onNotify(this.responseText,!0)})),r.addEventListener("error",(function(){n.props.onNotify(this.getErrorMessage(),!0),t.tags=[]})),r.addEventListener("loadend",(function(){n.update({loadend:!0})})),r.open("GET",e.registryUrl+"/v2/"+e.image+"/tags/list"),r.send(),t.asc=!0},onPageUpdate(e){this.update({page:e}),rr.updatePageQueryParam(e)},onResize(){const e=window.innerWidth;let t=0;const n=this.state.tags.reduce((function(e,t){return t.tag.length>e?t.tag.length:e}),0);t=e>=1440?71:e<1024?0:15+(e-1024)/416*56,n>20&&(t-=n-20),t=Math.floor(t),this.state.tags.map((function(e){e.trigger("content-digest-chars",t)}))},onReverseOrder(){this.state.asc?(this.state.tags.reverse(),this.state.asc=!1):(this.state.tags.sort(hr),this.state.asc=!0),this.update()},getPageLabels:function(e,t){var n=[],r=10;if(1===t)return n;1!==e&&t>=r&&(n.push({icon:"first_page",page:1}),n.push({icon:"chevron_left",page:e-1}));for(var a=Math.round(Math.max(1,Math.min(e-5,t-r+1))),i=a;ir,"space-right":e===t&&t>r});return e!==t&&t>=r&&(n.push({icon:"chevron_right",page:e+1}),n.push({icon:"last_page",page:t})),n},getNumPages:Kn,router:rr},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.router.home}}],redundantAttribute:"expr432",selector:"[expr432]"},{redundantAttribute:"expr433",selector:"[expr433]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Tags of ",e.props.image].join("")}}]},{redundantAttribute:"expr434",selector:"[expr434]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Sourced from ",e.state.registryName+"/"+e.props.image].join("")}}]},{redundantAttribute:"expr435",selector:"[expr435]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.tags.length," tags"].join("")}}]}]}],attributes:[],redundantAttribute:"expr431",selector:"[expr431]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr436",selector:"[expr436]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr437",selector:"[expr437]"}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr438",selector:"[expr438]"},{type:n.IF,evaluate:function(e){return e.state.loadend},redundantAttribute:"expr439",selector:"[expr439]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-table"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"tags",evaluate:function(e){return e.state.tags}},{type:t.ATTRIBUTE,name:"asc",evaluate:function(e){return e.state.asc}},{type:t.ATTRIBUTE,name:"page",evaluate:function(e){return e.state.page}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.props.showContentDigest}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.props.isImageRemoveActivated}},{type:t.EVENT,name:"onReverseOrder",evaluate:function(e){return e.onReverseOrder}},{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.props.registryUrl}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.props.pullUrl}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.props.filterResults}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.props.onAuthentication}}]}])},{type:n.TAG,getComponent:r,evaluate:function(e){return"pagination"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:function(e){return e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))}},{type:t.EVENT,name:"onPageUpdate",evaluate:function(e){return e.onPageUpdate}}],redundantAttribute:"expr440",selector:"[expr440]"}])},name:"tag-list"},TagHistory:{css:null,exports:{components:{TagHistoryElement:{css:'tag-history-element.Labels .value,[is="tag-history-element"].Labels .value,tag-history-element.Env .value,[is="tag-history-element"].Env .value{ margin-bottom: 0.5em; } tag-history-element i,[is="tag-history-element"] i{ font-size: 20px; padding: 0px; } tag-history-element.docker_version .headline .material-icons,[is="tag-history-element"].docker_version .headline .material-icons{ background-size: 24px auto; background-image: url("images/docker-logo.svg"); background-repeat: no-repeat; } tag-history-element,[is="tag-history-element"]{ display: block; padding: 20px; min-width: 100px; min-height: 3em; width: 420px; float: left; } tag-history-element .content,[is="tag-history-element"] .content{ overflow-x: auto; } tag-history-element.id .content,[is="tag-history-element"].id .content{ overflow-x: initial; } tag-history-element .headline p,[is="tag-history-element"] .headline p{ font-weight: bold; line-height: 20px; position: relative; display: inline; top: -4px; } tag-history-element.id div.value,[is="tag-history-element"].id div.value{ font-size: 12px; }',exports:{onBeforeStart(e,t){t.key=e.entry.key,t.icon=function(e){switch(e){case"architecture":return"memory";case"created":return"event";case"docker_version":return"";case"os":return"developer_board";case"Cmd":return"launch";case"Entrypoint":return"input";case"Env":return"notes";case"Labels":return"label";case"User":return"face";case"Volumes":return"storage";case"WorkingDir":return"home";case"author":return"account_circle";case"id":case"digest":return"settings_ethernet";case"created_by":return"build";case"size":return"get_app";case"ExposedPorts":return"router"}}(e.entry.key),t.name=this.cleanName(e.entry.key),e.entry.value instanceof Array?t.values=e.entry.value:t.value=e.entry.value},onBeforeMount(e,t){this.onBeforeStart(e,t)},onBeforeUpdate(e,t){this.onBeforeStart(e,t)},cleanName:e=>"id"===e?e:"os"===e?"OS":e.replace(/([a-z])([A-Z])/g,"$1 $2").replace("_"," ").split(" ").map((e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`)).join(" ")},template:function(e,t,n,r){return e('

      ',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:function(e){return e.state.key}}]},{redundantAttribute:"expr485",selector:"[expr485]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.icon}}]},{redundantAttribute:"expr486",selector:"[expr486]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.state.name}}]},{type:n.IF,evaluate:function(e){return e.state.value},redundantAttribute:"expr487",selector:"[expr487]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.state.value].join("")}}]}])},{type:n.EACH,getKey:null,condition:function(e){return e.state.values},template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return[e.value].join("")}}]}]),redundantAttribute:"expr488",selector:"[expr488]",itemName:"value",indexName:null,evaluate:function(e){return e.state.values}}])},name:"tag-history-element"}},onBeforeMount(e,t){t.elements=[],t.image=new gr(e.image,e.tag,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication}),t.image.fillInfo()},onMounted(e,t){t.image.on("blobs",this.processBlobs),t.image.on("list",this.multiArchList)},onTabChanged(e,t){const n=this.state,{registryUrl:r,onNotify:a}=this.props;if(n.elements=[],n.image.variants[t]=n.image.variants[t]||new gr(this.props.image,e.digest,{list:!1,registryUrl:r,onNotify:a}),n.image.variants[t].blobs)return this.processBlobs(n.image.variants[t].blobs);n.image.variants[t].fillInfo(),n.image.variants[t].on("blobs",this.processBlobs)},processBlobs(e){function t(e){const t=[];for(var n in e)if(e.hasOwnProperty(n)&&"empty_layer"!=n){const r=e[n],a={key:n,value:Ar(n,r)};t.push(a)}return t.sort(Er)}this.state;const n=new Array(e.history.length+1);n[0]=t(function(e){const t=["architecture","User","created","docker_version","os","Cmd","Entrypoint","Env","Labels","User","Volumes","WorkingDir","author","id","ExposedPorts"].reduce((function(t,n){const r=e[n]||e.config[n];return r&&"architecture"===n&&e.variant?t[n]=r+e.variant:r&&(t[n]=r),t}),{});return!t.author&&t.Labels&&t.Labels.maintainer&&(t.author=e.config.Labels.maintainer,delete t.Labels.maintainer),t}(e)),e.history.forEach((function(r,a){n[e.history.length-a]=t(r)})),this.update({elements:n,loadend:!0})},multiArchList(e){const t=(e=e.manifests||e).map((function(e){return{title:e.platform.os+"/"+e.platform.architecture+(e.platform.variant?e.platform.variant:""),digest:e.digest}}));this.update({archs:t})},toTaglist(){rr.taglist(this.props.image)}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'

      history

      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.toTaglist}}],redundantAttribute:"expr442",selector:"[expr442]"},{redundantAttribute:"expr443",selector:"[expr443]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["History of ",e.props.image,":",e.props.tag].join("")}}]}]}],attributes:[],redundantAttribute:"expr441",selector:"[expr441]"},{type:n.IF,evaluate:function(e){return!e.state.loadend},redundantAttribute:"expr444",selector:"[expr444]",template:e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-spinner"},slots:[],attributes:[],redundantAttribute:"expr445",selector:"[expr445]"}])},{type:n.IF,evaluate:function(e){return e.state.archs&&e.state.loadend},redundantAttribute:"expr446",selector:"[expr446]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-tabs"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"useLine",evaluate:function(e){return!0}},{type:t.ATTRIBUTE,name:"tabs",evaluate:function(e){return e.state.archs}},{type:t.EVENT,name:"onTabChanged",evaluate:function(e){return e.onTabChanged}}]}])},{type:n.EACH,getKey:null,condition:null,template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-card"},slots:[{id:"default",html:'',bindings:[{type:n.EACH,getKey:null,condition:function(e){return e.entry.value&&e.entry.value.length>0},template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history-element"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"entry",evaluate:function(e){return e.entry}}]}]),redundantAttribute:"expr448",selector:"[expr448]",itemName:"entry",indexName:null,evaluate:function(e){return e.element}}]}],attributes:[]}]),redundantAttribute:"expr447",selector:"[expr447]",itemName:"element",indexName:null,evaluate:function(e){return e.state.elements}}])},name:"tag-history"},DialogsMenu:{css:'dialogs-menu > .container,[is="dialogs-menu"] > .container{ position: absolute; top: 0px; right: 16px; color: #000; list-style-type: disc; margin-block-start: 0.7em; } dialogs-menu .overlay,[is="dialogs-menu"] .overlay{ position: fixed; height: 100%; width: 100%; top: 0; right: 0; z-index: 10; } dialogs-menu material-button,[is="dialogs-menu"] material-button{ background: rgba(255, 255, 255, 0); float: right; z-index: 2; } dialogs-menu material-button .content i.material-icons,[is="dialogs-menu"] material-button .content i.material-icons{ color: #fff; font-size: 24px; } dialogs-menu material-dropdown-list,[is="dialogs-menu"] material-dropdown-list{ display: inline-block; position: relative; } dialogs-menu material-dropdown-list ul.dropdown-content,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content{ min-width: 156px; padding: 8px 0; margin: 0; } dialogs-menu material-dropdown-list ul.dropdown-content li span,[is="dialogs-menu"] material-dropdown-list ul.dropdown-content li span{ font-size: 1rem; line-height: 1.2em; } dialogs-menu material-popup *,[is="dialogs-menu"] material-popup *{ line-height: 1em; } dialogs-menu material-popup material-button .content,[is="dialogs-menu"] material-popup material-button .content{ line-height: 36px; }',exports:{components:{AddRegistryUrl:{css:null,exports:{onKeyUp(e){13===e.keyCode&&this.add()},add(){const e=this.$("input");if(!e||!e.value||0===e.value.length)return this.props.onNotify("The input field is empty. Please enter an url.",!0);if(!e.value.startsWith("http"))return this.props.onNotify("The input field should start with http:// or https://.",!0);const t=e.value.trim().replace(/\/*$/,""),n=Qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify([t].concat(n))),rr.home(),this.props.onServerChange(t),this.props.onClose(),setTimeout((()=>rr.updateUrlQueryParam(t)),100)}},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      Add your Server ?
      ',bindings:[]},{id:"content",html:'
      Write your URL without /v2
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-input"},slots:[],attributes:[{type:t.EVENT,name:"onkeyup",evaluate:function(e){return e.onKeyUp}}],redundantAttribute:"expr490",selector:"[expr490]"}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Add\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.add}}],redundantAttribute:"expr491",selector:"[expr491]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr492",selector:"[expr492]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr489",selector:"[expr489]"}])},name:"add-registry-url"},ChangeRegistryUrl:{css:'change-registry-url select,[is="change-registry-url"] select{ position: relative; outline: 0; box-shadow: none; padding: 0; width: 100%; background: 0 0; border: none; font-weight: 400; line-height: 24px; height: 24px; border-bottom: 1px solid #2f6975; appearance: none; -moz-appearance: none; -webkit-appearance: none; margin: 1.5em 0; }',exports:{change(e){const t=this.$("select");if(!t||!t.value||0===t.value.length)return this.props.onNotify("The select field is empty. Please add an url.",!0);if(!t.value.startsWith("http"))return this.props.onNotify("The select field should start with http:// or https://.",!0);const n=t.value.trim().replace(/\/*$/,""),r=Qn().filter((e=>e!==n));localStorage.setItem("registryServer",JSON.stringify([n].concat(r))),rr.home(),this.props.onServerChange(n),this.props.onClose(),setTimeout((()=>rr.updateUrlQueryParam(n)),100)},getRegistryServers:Qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      Change your Server ?
      ',bindings:[]},{id:"content",html:'
      ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}},{type:t.ATTRIBUTE,name:"value",evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr499",selector:"[expr499]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Change\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.change}}],redundantAttribute:"expr500",selector:"[expr500]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr501",selector:"[expr501]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClick}}],redundantAttribute:"expr498",selector:"[expr498]"}])},name:"change-registry-url"},RemoveRegistryUrl:{css:'remove-registry-url material-popup .popup material-button,[is="remove-registry-url"] material-popup .popup material-button{ margin-right: 1em; } remove-registry-url material-popup .popup material-button .content i.material-icons,[is="remove-registry-url"] material-popup .popup material-button .content i.material-icons{ color: #777; }',exports:{remove(e){const t=e.currentTarget.attributes.url&&e.currentTarget.attributes.url.value,n=Qn().filter((e=>e!==t));localStorage.setItem("registryServer",JSON.stringify(n)),setTimeout((()=>this.update()),100)},getRegistryServers:Qn},template:function(e,t,n,r){return e('',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-popup"},slots:[{id:"title",html:'
      Remove your Registry Server ?
      ',bindings:[]},{id:"content",html:'
      ',bindings:[{type:n.EACH,getKey:null,condition:null,template:e(' ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.remove}},{type:t.ATTRIBUTE,name:"url",evaluate:function(e){return e.url}}],redundantAttribute:"expr495",selector:"[expr495]"},{redundantAttribute:"expr496",selector:"[expr496]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return e.url}}]}]),redundantAttribute:"expr494",selector:"[expr494]",itemName:"url",indexName:null,evaluate:function(e){return e.getRegistryServers()}}]},{id:"action",html:'
      ',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr497",selector:"[expr497]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.props.opened}},{type:t.EVENT,name:"onClick",evaluate:function(e){return e.props.onClose}}],redundantAttribute:"expr493",selector:"[expr493]"}])},name:"remove-registry-url"}},dropdownItems:[{title:"Add URL",name:"add-registry-url"},{title:"Change URL",name:"change-registry-url"},{title:"Remove URL",name:"remove-registry-url"}],onDropdownSelect(e,t){this.update({[t.name]:!0,isDropdownOpened:!1})},onClose(e){return()=>{this.update({[e]:!1,isDropdownOpened:!1})}},onClick(){this.update({isDropdownOpened:!this.state.isDropdownOpened})}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"add-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["add-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("add-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr449",selector:"[expr449]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"change-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["change-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("change-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr450",selector:"[expr450]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"remove-registry-url"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state["remove-registry-url"]}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onClose("remove-registry-url")}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.props.onNotify}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.props.onServerChange}}],redundantAttribute:"expr451",selector:"[expr451]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-button"},slots:[{id:"default",html:'more_vert',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:function(e){return e.onClick}}],redundantAttribute:"expr452",selector:"[expr452]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-dropdown-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"items",evaluate:function(e){return e.dropdownItems}},{type:t.EVENT,name:"onSelect",evaluate:function(e){return e.onDropdownSelect}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.isDropdownOpened}}],redundantAttribute:"expr453",selector:"[expr453]"},{type:n.IF,evaluate:function(e){return e.state.isDropdownOpened},redundantAttribute:"expr454",selector:"[expr454]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:function(e){return e.onClick}}]}])}])},name:"dialogs-menu"},SearchBar:ir,Router:Hn,Route:mn},onUpdated(e,t){t.snackbarIsError=!1,t.snackbarMessage=void 0},onBeforeMount(e){const t=e.registryUrl||("true"===e.singleRegistry?void 0:rr.getUrlQueryParam()||Qn(0))||window.location.origin+window.location.pathname.replace(/\/+$/,"");this.state.registryUrl=t.replace(/\/$/,""),this.state.name=e.name||Wn(e.registryUrl),this.state.catalogElementsLimit=e.catalogElementsLimit||1e5,this.state.pullUrl=this.pullUrl(this.state.registryUrl,e.pullUrl)},onServerChange(e){this.update({registryUrl:e,name:Wn(e),pullUrl:this.pullUrl(e),snackbarMessage:"Registry server changed to `"+e+"`."})},onAuthentication(e,t){if(e&&e.realm&&e.service&&e.scope){const{realm:n,service:r,scope:a}=e,i=new XMLHttpRequest;i.addEventListener("loadend",(()=>{try{const e=JSON.parse(i.responseText);t(e)}catch(e){this.notifySnackbar(`Failed to log in: ${e.message}`,!0)}})),i.open("GET",`${n}?service=${r}&scope=${a}`),i.send()}else t()},onAuthenticationClose(){this.update({authenticationDialogOpened:!1})},pullUrl:(e,t)=>Wn(t||e&&e.length>0&&e||window.location.host),notifySnackbar(e,t){"string"==typeof e?this.update({snackbarMessage:e,snackbarIsError:t||!1}):e&&e.message&&this.update({snackbarMessage:e.message,snackbarIsError:e.isError})},onSearch(e){this.update({filter:e})},baseRoute:"([^#]*?)/(\\?[^#]*?)?(#!)?(/?)",router:rr,version:"2.0.6",truthy:function(e){return!0===e||"true"===e}},template:function(e,t,n,r){return e('
      ',[{type:n.TAG,getComponent:r,evaluate:function(e){return"material-navbar"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"search-bar"},slots:[],attributes:[{type:t.EVENT,name:"on-search",evaluate:function(e){return e.onSearch}}],redundantAttribute:"expr411",selector:"[expr411]"},{type:n.IF,evaluate:function(e){return"true"!==e.props.singleRegistry},redundantAttribute:"expr412",selector:"[expr412]",template:e(null,[{type:n.TAG,getComponent:r,evaluate:function(e){return"dialogs-menu"},slots:[],attributes:[{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-server-change",evaluate:function(e){return e.onServerChange}}]}])}]}],attributes:[],redundantAttribute:"expr410",selector:"[expr410]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"router"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"catalog"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"catalog-elements-limit",evaluate:function(e){return e.state.catalogElementsLimit}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr415",selector:"[expr415]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return e.baseRoute}}],redundantAttribute:"expr414",selector:"[expr414]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-list"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagListImage()}},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:function(e){return e.truthy(e.props.showContentDigest)}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.truthy(e.props.isImageRemoveActivated)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.ATTRIBUTE,name:"filter-results",evaluate:function(e){return e.state.filter}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr417",selector:"[expr417]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taglist/(.*)"].join("")}}],redundantAttribute:"expr416",selector:"[expr416]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"route"},slots:[{id:"default",html:'',bindings:[{type:n.TAG,getComponent:r,evaluate:function(e){return"tag-history"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:function(e){return e.state.registryUrl}},{type:t.ATTRIBUTE,name:"registry-name",evaluate:function(e){return e.state.name}},{type:t.ATTRIBUTE,name:"pull-url",evaluate:function(e){return e.state.pullUrl}},{type:t.ATTRIBUTE,name:"image",evaluate:function(e){return e.router.getTagHistoryImage()}},{type:t.ATTRIBUTE,name:"tag",evaluate:function(e){return e.router.getTagHistoryTag()}},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:function(e){return e.truthy(e.props.isImageRemoveActivated)}},{type:t.EVENT,name:"on-notify",evaluate:function(e){return e.notifySnackbar}},{type:t.EVENT,name:"on-authentication",evaluate:function(e){return e.onAuthentication}}],redundantAttribute:"expr419",selector:"[expr419]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:function(e){return[e.baseRoute,"taghistory/(.*)"].join("")}}],redundantAttribute:"expr418",selector:"[expr418]"}]}],attributes:[],redundantAttribute:"expr413",selector:"[expr413]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"registry-authentication"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"realm",evaluate:function(e){return e.state.realm}},{type:t.ATTRIBUTE,name:"scope",evaluate:function(e){return e.state.scope}},{type:t.ATTRIBUTE,name:"service",evaluate:function(e){return e.state.service}},{type:t.EVENT,name:"on-close",evaluate:function(e){return e.onAuthenticationClose}},{type:t.EVENT,name:"on-authenticated",evaluate:function(e){return e.state.onAuthenticated}},{type:t.ATTRIBUTE,name:"opened",evaluate:function(e){return e.state.authenticationDialogOpened}}],redundantAttribute:"expr420",selector:"[expr420]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-snackbar"},slots:[],attributes:[{type:t.ATTRIBUTE,name:"message",evaluate:function(e){return e.state.snackbarMessage}},{type:t.ATTRIBUTE,name:"is-error",evaluate:function(e){return e.state.snackbarIsError}}],redundantAttribute:"expr421",selector:"[expr421]"},{type:n.TAG,getComponent:r,evaluate:function(e){return"material-footer"},slots:[{id:"logo",html:' ',bindings:[{redundantAttribute:"expr423",selector:"[expr423]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:function(e){return["Docker Registry UI ",e.version].join("")}}]}]},{id:"link-list",html:'',bindings:[]}],attributes:[],redundantAttribute:"expr422",selector:"[expr422]"}])},name:"docker-registry-ui"};At("material-card",Nt),At("material-footer",kt),At("material-navbar",{css:null,exports:null,template:function(e,t,n,r){return e('',[{expressions:[{type:t.ATTRIBUTE,name:"role",evaluate:function(e){return"toolbar"}}]},{type:n.SLOT,attributes:[],name:"default",redundantAttribute:"expr521",selector:"[expr521]"}])},name:"material-navbar"}),At("material-spinner",{css:null,exports:null,template:function(e,t,n,r){return e('',[{redundantAttribute:"expr541",selector:"[expr541]",expressions:[{type:t.ATTRIBUTE,name:"stroke-width",evaluate:function(e){return e.props.strokewidth||3}}]}])},name:"material-spinner"}),At("material-button",Ct),At("material-waves",jt),At("material-checkbox",It),At("material-snackbar",Bt),At("material-tabs",Lt),At("material-dropdown-list",Rt),At("material-popup",St),At("material-input",Ot);for(var Cr,Nr=(Cr=wr,function(e,t,n){var r=void 0===n?{}:n,a=r.slots,i=r.attributes,o=r.parentScope;return function(){for(var e=arguments.length,t=new Array(e),n=0;n. }, onBeforeMount(props) { // props.singleRegistry === 'true' means old static version - this.state.registryUrl = props.registryUrl || + const registryUrl = props.registryUrl || (props.singleRegistry === 'true' ? undefined : (router.getUrlQueryParam() || getRegistryServers(0))) || (window.location.origin + window.location.pathname.replace(/\/+$/, '')); + this.state.registryUrl = registryUrl.replace(/\/$/, ''); this.state.name = props.name || stripHttps(props.registryUrl); this.state.catalogElementsLimit = props.catalogElementsLimit || 100000; this.state.pullUrl = this.pullUrl(this.state.registryUrl, props.pullUrl); diff --git a/src/scripts/docker-image.js b/src/scripts/docker-image.js index 9b7e5070..1875b95c 100644 --- a/src/scripts/docker-image.js +++ b/src/scripts/docker-image.js @@ -98,7 +98,7 @@ export class DockerImage { oReq.addEventListener('loadend', function () { if (this.status == 200 || this.status == 202) { const response = JSON.parse(this.responseText); - if (response.mediaType === 'application/vnd.docker.distribution.manifest.list.v2+json') { + if (response.mediaType === 'application/vnd.docker.distribution.manifest.list.v2+json' && !response.layers) { self.trigger('list', response); const manifest = response.manifests[0]; const image = new DockerImage(self.name, manifest.digest, { ...self.opts, list: false });