use scarf to serve the images (#21)

This allows us to easily switch between container registries while
keeping the same domain prefix. It also gives access to high-level
statistics on the docker pull which can be useful to find out which
images are being used or not.
This commit is contained in:
Jonas Chevalier 2021-04-21 18:05:42 +02:00 committed by GitHub
parent debbce2425
commit 50b4d08da7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 54 deletions

View file

@ -48,30 +48,29 @@ nixpkgs channel describes.
Here is the current list of images that are provided. Missing one? Send an Here is the current list of images that are provided. Missing one? Send an
[image request](#image-request). [image request](#image-request).
### Docker hub All images are automatically built and published to Docker Hub, and served
on our custom domain, courtesy of [Scarf](https://scarf.sh).
All images are automatically built and pushed to Docker Hub. `> ./readme-image-matrix`
`> ./dockerhub-image-matrix`
<!-- BEGIN mdsh --> <!-- BEGIN mdsh -->
| Image / Tag | latest | nixos-20.09 | nixos-20.03 | | Image / Tag | Pull |
| --- | --- | --- | --- | | --- | --- |
| [nixpkgs/bash](https://hub.docker.com/r/nixpkgs/bash) | [![](https://images.microbadger.com/badges/image/nixpkgs/bash.svg)](https://microbadger.com/images/nixpkgs/bash) | [![](https://images.microbadger.com/badges/image/nixpkgs/bash:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/bash:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/bash:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/bash:nixos-20.03) | | [nixpkgs/bash](https://hub.docker.com/r/nixpkgs/bash)| `docker pull docker.nix-community.org/nixpkgs/bash` |
| [nixpkgs/busybox](https://hub.docker.com/r/nixpkgs/busybox) | [![](https://images.microbadger.com/badges/image/nixpkgs/busybox.svg)](https://microbadger.com/images/nixpkgs/busybox) | [![](https://images.microbadger.com/badges/image/nixpkgs/busybox:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/busybox:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/busybox:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/busybox:nixos-20.03) | | [nixpkgs/busybox](https://hub.docker.com/r/nixpkgs/busybox)| `docker pull docker.nix-community.org/nixpkgs/busybox` |
| [nixpkgs/cachix](https://hub.docker.com/r/nixpkgs/cachix) | [![](https://images.microbadger.com/badges/image/nixpkgs/cachix.svg)](https://microbadger.com/images/nixpkgs/cachix) | [![](https://images.microbadger.com/badges/image/nixpkgs/cachix:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/cachix:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/cachix:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/cachix:nixos-20.03) | | [nixpkgs/cachix](https://hub.docker.com/r/nixpkgs/cachix)| `docker pull docker.nix-community.org/nixpkgs/cachix` |
| [nixpkgs/cachix-flakes](https://hub.docker.com/r/nixpkgs/cachix-flakes) | [![](https://images.microbadger.com/badges/image/nixpkgs/cachix-flakes.svg)](https://microbadger.com/images/nixpkgs/cachix-flakes) | [![](https://images.microbadger.com/badges/image/nixpkgs/cachix-flakes:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/cachix-flakes:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/cachix-flakes:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/cachix-flakes:nixos-20.03) | | [nixpkgs/cachix-flakes](https://hub.docker.com/r/nixpkgs/cachix-flakes)| `docker pull docker.nix-community.org/nixpkgs/cachix-flakes` |
| [nixpkgs/caddy](https://hub.docker.com/r/nixpkgs/caddy) | [![](https://images.microbadger.com/badges/image/nixpkgs/caddy.svg)](https://microbadger.com/images/nixpkgs/caddy) | [![](https://images.microbadger.com/badges/image/nixpkgs/caddy:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/caddy:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/caddy:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/caddy:nixos-20.03) | | [nixpkgs/caddy](https://hub.docker.com/r/nixpkgs/caddy)| `docker pull docker.nix-community.org/nixpkgs/caddy` |
| [nixpkgs/couchpotato](https://hub.docker.com/r/nixpkgs/couchpotato) | [![](https://images.microbadger.com/badges/image/nixpkgs/couchpotato.svg)](https://microbadger.com/images/nixpkgs/couchpotato) | [![](https://images.microbadger.com/badges/image/nixpkgs/couchpotato:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/couchpotato:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/couchpotato:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/couchpotato:nixos-20.03) | | [nixpkgs/couchpotato](https://hub.docker.com/r/nixpkgs/couchpotato)| `docker pull docker.nix-community.org/nixpkgs/couchpotato` |
| [nixpkgs/curl](https://hub.docker.com/r/nixpkgs/curl) | [![](https://images.microbadger.com/badges/image/nixpkgs/curl.svg)](https://microbadger.com/images/nixpkgs/curl) | [![](https://images.microbadger.com/badges/image/nixpkgs/curl:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/curl:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/curl:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/curl:nixos-20.03) | | [nixpkgs/curl](https://hub.docker.com/r/nixpkgs/curl)| `docker pull docker.nix-community.org/nixpkgs/curl` |
| [nixpkgs/devcontainer](https://hub.docker.com/r/nixpkgs/devcontainer) | [![](https://images.microbadger.com/badges/image/nixpkgs/devcontainer.svg)](https://microbadger.com/images/nixpkgs/devcontainer) | [![](https://images.microbadger.com/badges/image/nixpkgs/devcontainer:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/devcontainer:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/devcontainer:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/devcontainer:nixos-20.03) | | [nixpkgs/devcontainer](https://hub.docker.com/r/nixpkgs/devcontainer)| `docker pull docker.nix-community.org/nixpkgs/devcontainer` |
| [nixpkgs/docker-compose](https://hub.docker.com/r/nixpkgs/docker-compose) | [![](https://images.microbadger.com/badges/image/nixpkgs/docker-compose.svg)](https://microbadger.com/images/nixpkgs/docker-compose) | [![](https://images.microbadger.com/badges/image/nixpkgs/docker-compose:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/docker-compose:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/docker-compose:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/docker-compose:nixos-20.03) | | [nixpkgs/docker-compose](https://hub.docker.com/r/nixpkgs/docker-compose)| `docker pull docker.nix-community.org/nixpkgs/docker-compose` |
| [nixpkgs/hugo](https://hub.docker.com/r/nixpkgs/hugo) | [![](https://images.microbadger.com/badges/image/nixpkgs/hugo.svg)](https://microbadger.com/images/nixpkgs/hugo) | [![](https://images.microbadger.com/badges/image/nixpkgs/hugo:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/hugo:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/hugo:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/hugo:nixos-20.03) | | [nixpkgs/hugo](https://hub.docker.com/r/nixpkgs/hugo)| `docker pull docker.nix-community.org/nixpkgs/hugo` |
| [nixpkgs/kubectl](https://hub.docker.com/r/nixpkgs/kubectl) | [![](https://images.microbadger.com/badges/image/nixpkgs/kubectl.svg)](https://microbadger.com/images/nixpkgs/kubectl) | [![](https://images.microbadger.com/badges/image/nixpkgs/kubectl:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/kubectl:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/kubectl:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/kubectl:nixos-20.03) | | [nixpkgs/kubectl](https://hub.docker.com/r/nixpkgs/kubectl)| `docker pull docker.nix-community.org/nixpkgs/kubectl` |
| [nixpkgs/kubernetes-helm](https://hub.docker.com/r/nixpkgs/kubernetes-helm) | [![](https://images.microbadger.com/badges/image/nixpkgs/kubernetes-helm.svg)](https://microbadger.com/images/nixpkgs/kubernetes-helm) | [![](https://images.microbadger.com/badges/image/nixpkgs/kubernetes-helm:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/kubernetes-helm:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/kubernetes-helm:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/kubernetes-helm:nixos-20.03) | | [nixpkgs/kubernetes-helm](https://hub.docker.com/r/nixpkgs/kubernetes-helm)| `docker pull docker.nix-community.org/nixpkgs/kubernetes-helm` |
| [nixpkgs/nginx](https://hub.docker.com/r/nixpkgs/nginx) | [![](https://images.microbadger.com/badges/image/nixpkgs/nginx.svg)](https://microbadger.com/images/nixpkgs/nginx) | [![](https://images.microbadger.com/badges/image/nixpkgs/nginx:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/nginx:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/nginx:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/nginx:nixos-20.03) | | [nixpkgs/nginx](https://hub.docker.com/r/nixpkgs/nginx)| `docker pull docker.nix-community.org/nixpkgs/nginx` |
| [nixpkgs/nix](https://hub.docker.com/r/nixpkgs/nix) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix.svg)](https://microbadger.com/images/nixpkgs/nix) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/nix:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/nix:nixos-20.03) | | [nixpkgs/nix](https://hub.docker.com/r/nixpkgs/nix)| `docker pull docker.nix-community.org/nixpkgs/nix` |
| [nixpkgs/nix-flakes](https://hub.docker.com/r/nixpkgs/nix-flakes) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix-flakes.svg)](https://microbadger.com/images/nixpkgs/nix-flakes) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix-flakes:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/nix-flakes:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix-flakes:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/nix-flakes:nixos-20.03) | | [nixpkgs/nix-flakes](https://hub.docker.com/r/nixpkgs/nix-flakes)| `docker pull docker.nix-community.org/nixpkgs/nix-flakes` |
| [nixpkgs/nix-unstable](https://hub.docker.com/r/nixpkgs/nix-unstable) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix-unstable.svg)](https://microbadger.com/images/nixpkgs/nix-unstable) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix-unstable:nixos-20.09.svg)](https://microbadger.com/images/nixpkgs/nix-unstable:nixos-20.09) | [![](https://images.microbadger.com/badges/image/nixpkgs/nix-unstable:nixos-20.03.svg)](https://microbadger.com/images/nixpkgs/nix-unstable:nixos-20.03) | | [nixpkgs/nix-unstable](https://hub.docker.com/r/nixpkgs/nix-unstable)| `docker pull docker.nix-community.org/nixpkgs/nix-unstable` |
<!-- END mdsh --> <!-- END mdsh -->
## Adding new images ## Adding new images

View file

@ -1,32 +0,0 @@
#!/usr/bin/env bash
#
# Usage: ./dockerhub-image-matrix
set -euo pipefail
microbadge() {
local name=$1
local tag=${2:-latest}
if [[ $tag != latest ]]; then
name=$name:$tag
fi
local homepage=https://microbadger.com/images/$name
# make sure that microbadger has loaded the image
curl -o /dev/null -sfL "$homepage"
echo "[![](https://images.microbadger.com/badges/image/$name.svg)]($homepage)"
}
## Main ##
releases_json=$(nix-instantiate --strict --eval --json)
echo "| Image / Tag | latest | nixos-20.09 | nixos-20.03 |"
echo "| --- | --- | --- | --- |"
for attr in $(echo "$releases_json" | jq -r "keys[]") ; do
name=nixpkgs/$attr
echo "| [$name](https://hub.docker.com/r/$name) | $(microbadge "$name") | $(microbadge "$name" "nixos-20.09") | $(microbadge "$name" "nixos-20.03") |"
done

18
readme-image-matrix Executable file
View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
#
# Usage: ./dockerhub-image-matrix
set -euo pipefail
## Main ##
releases_json=$(nix-instantiate --strict --eval --json)
echo "| Image / Tag | Pull |"
echo "| --- | --- |"
for attr in $(echo "$releases_json" | jq -r "keys[]") ; do
name=nixpkgs/$attr
echo -n "| [$name](https://hub.docker.com/r/$name)"
echo -n "| \`docker pull docker.nix-community.org/$name\` "
echo "|"
done