Add standard OCI container metadata labels to Dockerfile and CI workflows
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
調査の方向性
Dockerfile の最終ランタイムステージ、つまり mcr.microsoft.com/dotnet/aspnet:10.0 をベースにしたステージから始めて、そこに org.opencontainers.image.* の LABEL 行を追加してください。次に .github/workflows/docker-image.yml の build-and-push ステップと、.github/workflows/docker-ghcr.yml の labels ブロックを確認し、既存のラベルを拡張するか、docker/metadata-action に切り替えてください。イメージに標準ラベルが付き、ワークフローがそれらを公開していれば完了です。ローカルでビルドしたイメージに対して docker inspect を実行して確認できます。
索引モデルが issue の本文から書いたものです。
説明
The problem
Currently, GrandNode container images are missing standard Open Container Initiative (OCI) image specification labels:
- In
Dockerfile, the final runtime image stage (mcr.microsoft.com/dotnet/aspnet:10.0) contains no metadata labels. - In
.github/workflows/docker-image.yml, the build-and-push step sends no labels to Docker Hub. - In
.github/workflows/docker-ghcr.yml, only a partial set of labels (source,version,revision,description) is provided, omitting standard fields liketitle,url,vendor, andlicenses.
As a result:
- Registries (such as Docker Hub and GitHub Container Registry) do not display standard project metadata, vendor information, or direct links to documentation.
- Container vulnerability scanners (e.g., Trivy, Grype, Snyk) and cluster auditing tools cannot inspect standardized license (
GPL-3.0) or provenance metadata from the container image manifest.
Proposed solution
Add standard OCI image annotations (org.opencontainers.image.*) following the OCI Image Specification:
- In
Dockerfile(runtime stage):
LABEL org.opencontainers.image.title="GrandNode" \
org.opencontainers.image.description="GrandNode e-commerce platform" \
org.opencontainers.image.url="https://grandnode.com" \
org.opencontainers.image.documentation="https://docs.grandnode.com" \
org.opencontainers.image.source="https://github.com/grandnode/grandnode2" \
org.opencontainers.image.vendor="GrandNode" \
org.opencontainers.image.licenses="GPL-3.0"
- In CI Workflows (
.github/workflows/docker-image.ymland.github/workflows/docker-ghcr.yml): Attach dynamic build metadata (revision,version,created) when publishing, or leveragedocker/metadata-actionto generate standard OCI tags and labels consistently across registries.
Contribution
- I would like to submit a pull request for this.
- 主要言語
- C#
- スター
- 1.3k
- フォーク
- 549
- 平均マージ
- 13時間 1分
- マージ済み PR(30日)
- 65
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
grandnode/grandnode2 のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 57/100
grandnode/grandnode2#900 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
grandnode/grandnode2#881 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
grandnode/grandnode2#880 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
grandnode/grandnode2#849 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 50/100
grandnode/grandnode2#499 ·
メンテナーはふだん 1 日以内に返信
grandnode/grandnode2 の issue をすべて見る
似ている issue
-
bug priority: P2
難易度 1/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
メンテナーはふだん 1 日以内に返信
-
[Docs] README/PRIVACY still name AppCenter although v1.5.6.0+ uses the Microsoft Store Services SDKオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Azure/azure-sdk-tools#17317 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
swisstopo/swissgeol-boreholes-suite#3086 ·
メンテナーはふだん 1 日以内に返信