メインコンテンツまでスキップ

クイックスタート

Takumi Images は、既存のイメージ参照を images.flatt.tech/takumi/<name>:latest に置き換えて取得・実行できます。 pull に認証やアカウント登録は必要ありません。 本番デプロイでは、更新されるタグである :latest をそのまま参照せず、digest で固定してから署名を検証してください。

info

Takumi Images は現在ベータ版です。 仕様や挙動が予告なく変更される可能性があります。

イメージの取得と実行

Takumi Images のイメージ名は常に images.flatt.tech/takumi/<name> の形式をとります。 他のコンテナイメージと同じように、pull して実行できます。

docker pull images.flatt.tech/takumi/busybox:latest
docker run --rm images.flatt.tech/takumi/busybox:latest echo hello

現在提供しているコンテナイメージは無料で利用できます。 利用可能なイメージは、カタログ で確認できます。

同等の公式イメージや広く使われているイメージがある場合は、イメージごとに呼び出し方をそろえてあります。 そのため、多くの場合は既存の docker run <image> <args...> と同じ呼び出しで実行できます。

ただし、distroless な構成にしているため、シェルやパッケージマネージャは含まれません。 置き換える前に、利用するワークロードの起動方法や引数がそのまま動くことを確認してください。

digest での固定

:latest は、継続的に更新されるタグです。 デプロイ時の挙動を安定させるには、タグだけではなく digest まで含めた参照を使います。 amd64 と arm64 の自動選択を残したまま固定する場合は、multi-arch index の digest を使います。 次の例では、crane でタグが指す digest を解決しています。

IMAGE=images.flatt.tech/takumi/busybox:latest
DIGEST=$(crane digest "$IMAGE")
echo "${IMAGE}@${DIGEST}"
images.flatt.tech/takumi/busybox:latest@sha256:<digest>

この形で記録すると、latest という目印を残したまま、実際に使う内容は digest で固定できます。 将来 :latest が別の digest を指すようになっても、デプロイ済みの参照は同じイメージを指し続けます。

署名の検証

各イメージには署名が付いているので、pull したイメージが正規のリリースワークフローから公開されたものかを検証できます。 署名は keyless 方式で、GitHub Actions の OIDC を使って公開 Sigstore に対して行います。

cosign verify \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-identity-regexp 'https://github.com/flatt-security/takumi-images/.github/workflows/release.yml@.*' \
images.flatt.tech/takumi/busybox:latest

署名検証が成功すると、そのイメージが Takumi Images のリリースワークフローから公開されたことを確認できます。 SBOM、SLSA Provenance、VEX も同じ identity で署名しています。 それぞれの中身と検証手順は、Attestation を参照してください。