vendor: github.com/docker/cli v29.6.1
full diff: https://github.com/docker/cli/compare/v29.5.3...v29.6.1 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -17,7 +17,7 @@ require (
|
|||||||
github.com/creack/pty v1.1.24
|
github.com/creack/pty v1.1.24
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
|
||||||
github.com/distribution/reference v0.6.0
|
github.com/distribution/reference v0.6.0
|
||||||
github.com/docker/cli v29.5.3+incompatible
|
github.com/docker/cli v29.6.1+incompatible
|
||||||
github.com/docker/cli-docs-tool v0.11.0
|
github.com/docker/cli-docs-tool v0.11.0
|
||||||
github.com/docker/docker v28.5.2+incompatible
|
github.com/docker/docker v28.5.2+incompatible
|
||||||
github.com/docker/go-units v0.5.0
|
github.com/docker/go-units v0.5.0
|
||||||
@@ -32,8 +32,8 @@ require (
|
|||||||
github.com/mitchellh/hashstructure/v2 v2.0.2
|
github.com/mitchellh/hashstructure/v2 v2.0.2
|
||||||
github.com/moby/buildkit v0.31.0
|
github.com/moby/buildkit v0.31.0
|
||||||
github.com/moby/go-archive v0.2.0
|
github.com/moby/go-archive v0.2.0
|
||||||
github.com/moby/moby/api v1.54.2
|
github.com/moby/moby/api v1.55.0
|
||||||
github.com/moby/moby/client v0.4.1
|
github.com/moby/moby/client v0.5.0
|
||||||
github.com/moby/policy-helpers v0.0.0-20260612073044-d5411a945cfc
|
github.com/moby/policy-helpers v0.0.0-20260612073044-d5411a945cfc
|
||||||
github.com/moby/sys/atomicwriter v0.1.0
|
github.com/moby/sys/atomicwriter v0.1.0
|
||||||
github.com/moby/sys/mountinfo v0.7.2
|
github.com/moby/sys/mountinfo v0.7.2
|
||||||
|
|||||||
@@ -179,8 +179,8 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr
|
|||||||
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
||||||
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
|
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
|
||||||
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
|
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
|
||||||
github.com/docker/cli v29.5.3+incompatible h1:nbEFfz774vBwQ5KRYv7c/AghjReqnGISvrRhzjV0evs=
|
github.com/docker/cli v29.6.1+incompatible h1:oO7F4nn3Ovr/5TlfTUWFbMwBSS/B7Xs6Epv26gBrUP8=
|
||||||
github.com/docker/cli v29.5.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
github.com/docker/cli v29.6.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||||
github.com/docker/cli-docs-tool v0.11.0 h1:7d8QARFb7QEobizqxmEM7fOteZEHwH/zWgHQtHZEcfE=
|
github.com/docker/cli-docs-tool v0.11.0 h1:7d8QARFb7QEobizqxmEM7fOteZEHwH/zWgHQtHZEcfE=
|
||||||
github.com/docker/cli-docs-tool v0.11.0/go.mod h1:ma8BKiisUo8D6W05XEYIh3oa1UbgrZhi1nowyKFJa8Q=
|
github.com/docker/cli-docs-tool v0.11.0/go.mod h1:ma8BKiisUo8D6W05XEYIh3oa1UbgrZhi1nowyKFJa8Q=
|
||||||
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
||||||
@@ -411,10 +411,10 @@ github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8
|
|||||||
github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU=
|
github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU=
|
||||||
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
|
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
|
||||||
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
|
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
|
||||||
github.com/moby/moby/api v1.54.2 h1:wiat9QAhnDQjA7wk1kh/TqHz2I1uUA7M7t9SAl/JNXg=
|
github.com/moby/moby/api v1.55.0 h1:2/sexvQyqIWS8pRSCFddBfpW2qE7vR7FCL+vN8pxwMc=
|
||||||
github.com/moby/moby/api v1.54.2/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs=
|
github.com/moby/moby/api v1.55.0/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs=
|
||||||
github.com/moby/moby/client v0.4.1 h1:DMQgisVoMkmMs7fp3ROSdiBnoAu8+vo3GggFl06M/wY=
|
github.com/moby/moby/client v0.5.0 h1:5XhyPk2fuOWf6RlSFa3MkIIgDZkF25xToXW8Q/BH7cc=
|
||||||
github.com/moby/moby/client v0.4.1/go.mod h1:z52C9O2POPOsnxZAy//WtKcQ32P+jT/NGeXu/7nfjGQ=
|
github.com/moby/moby/client v0.5.0/go.mod h1:rcVpF8ncl9vo5gaIBdol6CnbEtSj1uxMvEV/UrykF/s=
|
||||||
github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U=
|
github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U=
|
||||||
github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc=
|
github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc=
|
||||||
github.com/moby/policy-helpers v0.0.0-20260612073044-d5411a945cfc h1:dvhPFj1niuMP3CBCjhiZWJQr//+w1LOA8cHclFJnNe0=
|
github.com/moby/policy-helpers v0.0.0-20260612073044-d5411a945cfc h1:dvhPFj1niuMP3CBCjhiZWJQr//+w1LOA8cHclFJnNe0=
|
||||||
|
|||||||
+15
-1
@@ -43,6 +43,7 @@ Alexander Larsson <alexl@redhat.com>
|
|||||||
Alexander Morozov <lk4d4math@gmail.com>
|
Alexander Morozov <lk4d4math@gmail.com>
|
||||||
Alexander Ryabov <i@sepa.spb.ru>
|
Alexander Ryabov <i@sepa.spb.ru>
|
||||||
Alexandre González <agonzalezro@gmail.com>
|
Alexandre González <agonzalezro@gmail.com>
|
||||||
|
Alexandre Levavasseur <alexandre+oss@13x.fr>
|
||||||
Alexandre Vallières-Lagacé <alexandre.valliereslagace@docker.com>
|
Alexandre Vallières-Lagacé <alexandre.valliereslagace@docker.com>
|
||||||
Alexey Igrychev <alexey.igrychev@flant.com>
|
Alexey Igrychev <alexey.igrychev@flant.com>
|
||||||
Alexis Couvreur <alexiscouvreur.pro@gmail.com>
|
Alexis Couvreur <alexiscouvreur.pro@gmail.com>
|
||||||
@@ -161,6 +162,7 @@ Chen Chuanliang <chen.chuanliang@zte.com.cn>
|
|||||||
Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
||||||
Chen Mingjie <chenmingjie0828@163.com>
|
Chen Mingjie <chenmingjie0828@163.com>
|
||||||
Chen Qiu <cheney-90@hotmail.com>
|
Chen Qiu <cheney-90@hotmail.com>
|
||||||
|
Ching Wei Kang <164879897+WilliamK112@users.noreply.github.com>
|
||||||
Chris Chinchilla <chris@chrischinchilla.com>
|
Chris Chinchilla <chris@chrischinchilla.com>
|
||||||
Chris Couzens <ccouzens@gmail.com>
|
Chris Couzens <ccouzens@gmail.com>
|
||||||
Chris Gavin <chris@chrisgavin.me>
|
Chris Gavin <chris@chrisgavin.me>
|
||||||
@@ -366,7 +368,7 @@ Hugo Gabriel Eyherabide <hugogabriel.eyherabide@gmail.com>
|
|||||||
huqun <huqun@zju.edu.cn>
|
huqun <huqun@zju.edu.cn>
|
||||||
Huu Nguyen <huu@prismskylabs.com>
|
Huu Nguyen <huu@prismskylabs.com>
|
||||||
Hyzhou Zhy <hyzhou.zhy@alibaba-inc.com>
|
Hyzhou Zhy <hyzhou.zhy@alibaba-inc.com>
|
||||||
Iain MacDonald <ijmacd@gmail.com>
|
Iain MacDonald <IJMacD@gmail.com>
|
||||||
Iain Samuel McLean Elder <iain@isme.es>
|
Iain Samuel McLean Elder <iain@isme.es>
|
||||||
Ian Campbell <ian.campbell@docker.com>
|
Ian Campbell <ian.campbell@docker.com>
|
||||||
Ian Philpot <ian.philpot@microsoft.com>
|
Ian Philpot <ian.philpot@microsoft.com>
|
||||||
@@ -552,6 +554,7 @@ Ludovic Temgoua Abanda <abandaludovic500@gmail.com>
|
|||||||
Luis Henrique Mulinari <luis.mulinari@gmail.com>
|
Luis Henrique Mulinari <luis.mulinari@gmail.com>
|
||||||
Luka Hartwig <mail@lukahartwig.de>
|
Luka Hartwig <mail@lukahartwig.de>
|
||||||
Lukas Heeren <lukas-heeren@hotmail.com>
|
Lukas Heeren <lukas-heeren@hotmail.com>
|
||||||
|
Lukas Michael <lukas.23022005@gmail.com>
|
||||||
Lukasz Zajaczkowski <Lukasz.Zajaczkowski@ts.fujitsu.com>
|
Lukasz Zajaczkowski <Lukasz.Zajaczkowski@ts.fujitsu.com>
|
||||||
Luo Jiyin <luojiyin@hotmail.com>
|
Luo Jiyin <luojiyin@hotmail.com>
|
||||||
Lydell Manganti <LydellManganti@users.noreply.github.com>
|
Lydell Manganti <LydellManganti@users.noreply.github.com>
|
||||||
@@ -562,6 +565,7 @@ Maciej Kalisz <maciej.d.kalisz@gmail.com>
|
|||||||
Madhav Puri <madhav.puri@gmail.com>
|
Madhav Puri <madhav.puri@gmail.com>
|
||||||
Madhu Venugopal <madhu@socketplane.io>
|
Madhu Venugopal <madhu@socketplane.io>
|
||||||
Madhur Batra <madhurbatra097@gmail.com>
|
Madhur Batra <madhurbatra097@gmail.com>
|
||||||
|
Mahesh Thakur <maheshthakur9152@gmail.com>
|
||||||
Malte Janduda <mail@janduda.net>
|
Malte Janduda <mail@janduda.net>
|
||||||
Manjunath A Kumatagi <mkumatag@in.ibm.com>
|
Manjunath A Kumatagi <mkumatag@in.ibm.com>
|
||||||
Mansi Nahar <mmn4185@rit.edu>
|
Mansi Nahar <mmn4185@rit.edu>
|
||||||
@@ -589,10 +593,12 @@ Mathieu Rollet <matletix@gmail.com>
|
|||||||
Matt Gucci <matt9ucci@gmail.com>
|
Matt Gucci <matt9ucci@gmail.com>
|
||||||
Matt Robenolt <matt@ydekproductions.com>
|
Matt Robenolt <matt@ydekproductions.com>
|
||||||
Matteo Orefice <matteo.orefice@bites4bits.software>
|
Matteo Orefice <matteo.orefice@bites4bits.software>
|
||||||
|
Matteo Panzeri <matteo1782@gmail.com>
|
||||||
Matthew Heon <mheon@redhat.com>
|
Matthew Heon <mheon@redhat.com>
|
||||||
Matthieu Hauglustaine <matt.hauglustaine@gmail.com>
|
Matthieu Hauglustaine <matt.hauglustaine@gmail.com>
|
||||||
Matthieu MOREL <matthieu.morel35@gmail.com>
|
Matthieu MOREL <matthieu.morel35@gmail.com>
|
||||||
Mauro Porras P <mauroporrasp@gmail.com>
|
Mauro Porras P <mauroporrasp@gmail.com>
|
||||||
|
Max Morozov <gtmax.yo@gmail.com>
|
||||||
Max Shytikov <mshytikov@gmail.com>
|
Max Shytikov <mshytikov@gmail.com>
|
||||||
Max-Julian Pogner <max-julian@pogner.at>
|
Max-Julian Pogner <max-julian@pogner.at>
|
||||||
Maxime Petazzoni <max@signalfuse.com>
|
Maxime Petazzoni <max@signalfuse.com>
|
||||||
@@ -617,6 +623,7 @@ Michael West <mwest@mdsol.com>
|
|||||||
Michael Zampani <michael.zampani@docker.com>
|
Michael Zampani <michael.zampani@docker.com>
|
||||||
Michal Minář <miminar@redhat.com>
|
Michal Minář <miminar@redhat.com>
|
||||||
Michał Czeraszkiewicz <czerasz@gmail.com>
|
Michał Czeraszkiewicz <czerasz@gmail.com>
|
||||||
|
Mickael Emirkanian <mickael.emirkanian@docker.com>
|
||||||
Miguel Angel Alvarez Cabrerizo <doncicuto@gmail.com>
|
Miguel Angel Alvarez Cabrerizo <doncicuto@gmail.com>
|
||||||
Mihai Borobocea <MihaiBorob@gmail.com>
|
Mihai Borobocea <MihaiBorob@gmail.com>
|
||||||
Mihuleacc Sergiu <mihuleac.sergiu@gmail.com>
|
Mihuleacc Sergiu <mihuleac.sergiu@gmail.com>
|
||||||
@@ -638,6 +645,7 @@ Mohammad Banikazemi <mb@us.ibm.com>
|
|||||||
Mohammad Hossein <mhm98035@gmail.com>
|
Mohammad Hossein <mhm98035@gmail.com>
|
||||||
Mohammed Aaqib Ansari <maaquib@gmail.com>
|
Mohammed Aaqib Ansari <maaquib@gmail.com>
|
||||||
Mohammed Aminu Futa <mohammedfuta2000@gmail.com>
|
Mohammed Aminu Futa <mohammedfuta2000@gmail.com>
|
||||||
|
Mohammed Thaha <mohammedthahacse@gmail.com>
|
||||||
Mohini Anne Dsouza <mohini3917@gmail.com>
|
Mohini Anne Dsouza <mohini3917@gmail.com>
|
||||||
Moorthy RS <rsmoorthy@gmail.com>
|
Moorthy RS <rsmoorthy@gmail.com>
|
||||||
Morgan Bauer <mbauer@us.ibm.com>
|
Morgan Bauer <mbauer@us.ibm.com>
|
||||||
@@ -689,6 +697,7 @@ Olli Janatuinen <olli.janatuinen@gmail.com>
|
|||||||
Oscar Wieman <oscrx@icloud.com>
|
Oscar Wieman <oscrx@icloud.com>
|
||||||
Otto Kekäläinen <otto@seravo.fi>
|
Otto Kekäläinen <otto@seravo.fi>
|
||||||
Ovidio Mallo <ovidio.mallo@gmail.com>
|
Ovidio Mallo <ovidio.mallo@gmail.com>
|
||||||
|
Park Jaeon <me@finalchild.dev>
|
||||||
Pascal Borreli <pascal@borreli.com>
|
Pascal Borreli <pascal@borreli.com>
|
||||||
Patrick Böänziger <patrick.baenziger@bsi-software.com>
|
Patrick Böänziger <patrick.baenziger@bsi-software.com>
|
||||||
Patrick Daigle <114765035+pdaig@users.noreply.github.com>
|
Patrick Daigle <114765035+pdaig@users.noreply.github.com>
|
||||||
@@ -715,6 +724,7 @@ Peter Jaffe <pjaffe@nevo.com>
|
|||||||
Peter Kehl <peter.kehl@gmail.com>
|
Peter Kehl <peter.kehl@gmail.com>
|
||||||
Peter Nagy <xificurC@gmail.com>
|
Peter Nagy <xificurC@gmail.com>
|
||||||
Peter Salvatore <peter@psftw.com>
|
Peter Salvatore <peter@psftw.com>
|
||||||
|
Peter Valdemar Mørch <peter@morch.com>
|
||||||
Peter Waller <p@pwaller.net>
|
Peter Waller <p@pwaller.net>
|
||||||
Phil Estes <estesp@gmail.com>
|
Phil Estes <estesp@gmail.com>
|
||||||
Philip Alexander Etling <paetling@gmail.com>
|
Philip Alexander Etling <paetling@gmail.com>
|
||||||
@@ -739,6 +749,7 @@ Ray Tsang <rayt@google.com>
|
|||||||
Reficul <xuzhenglun@gmail.com>
|
Reficul <xuzhenglun@gmail.com>
|
||||||
Remy Suen <remy.suen@gmail.com>
|
Remy Suen <remy.suen@gmail.com>
|
||||||
Renaud Gaubert <rgaubert@nvidia.com>
|
Renaud Gaubert <rgaubert@nvidia.com>
|
||||||
|
René Hermenau <rene-hermenau@users.noreply.github.com>
|
||||||
Ricardo N Feliciano <FelicianoTech@gmail.com>
|
Ricardo N Feliciano <FelicianoTech@gmail.com>
|
||||||
Rich Moyse <rich@moyse.us>
|
Rich Moyse <rich@moyse.us>
|
||||||
Richard Chen Zheng <58443436+rchenzheng@users.noreply.github.com>
|
Richard Chen Zheng <58443436+rchenzheng@users.noreply.github.com>
|
||||||
@@ -789,6 +800,7 @@ Scott Collier <emailscottcollier@gmail.com>
|
|||||||
Sean Christopherson <sean.j.christopherson@intel.com>
|
Sean Christopherson <sean.j.christopherson@intel.com>
|
||||||
Sean Rodman <srodman7689@gmail.com>
|
Sean Rodman <srodman7689@gmail.com>
|
||||||
Sebastiaan van Stijn <github@gone.nl>
|
Sebastiaan van Stijn <github@gone.nl>
|
||||||
|
Seiya Miyata <odradek38@gmail.com>
|
||||||
Sergey Tryuber <Sergeant007@users.noreply.github.com>
|
Sergey Tryuber <Sergeant007@users.noreply.github.com>
|
||||||
Serhat Gülçiçek <serhat25@gmail.com>
|
Serhat Gülçiçek <serhat25@gmail.com>
|
||||||
Sevki Hasirci <s@sevki.org>
|
Sevki Hasirci <s@sevki.org>
|
||||||
@@ -889,8 +901,10 @@ Umesh Yadav <umesh4257@gmail.com>
|
|||||||
Vaclav Struhar <struharv@gmail.com>
|
Vaclav Struhar <struharv@gmail.com>
|
||||||
Valentin Lorentz <progval+git@progval.net>
|
Valentin Lorentz <progval+git@progval.net>
|
||||||
Vardan Pogosian <vardan.pogosyan@gmail.com>
|
Vardan Pogosian <vardan.pogosyan@gmail.com>
|
||||||
|
Varun Hotani <varunhotani@gmail.com>
|
||||||
Venkateswara Reddy Bukkasamudram <bukkasamudram@outlook.com>
|
Venkateswara Reddy Bukkasamudram <bukkasamudram@outlook.com>
|
||||||
Veres Lajos <vlajos@gmail.com>
|
Veres Lajos <vlajos@gmail.com>
|
||||||
|
Vibhu Anan <vibhuanand@outlook.com>
|
||||||
Victor Vieux <victor.vieux@docker.com>
|
Victor Vieux <victor.vieux@docker.com>
|
||||||
Victoria Bialas <victoria.bialas@docker.com>
|
Victoria Bialas <victoria.bialas@docker.com>
|
||||||
Viktor Stanchev <me@viktorstanchev.com>
|
Viktor Stanchev <me@viktorstanchev.com>
|
||||||
|
|||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
package image
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
|
||||||
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// AttestationStatement is a single in-toto statement attached to an image.
|
||||||
|
type AttestationStatement struct {
|
||||||
|
// Descriptor is the OCI descriptor of the statement blob (media type,
|
||||||
|
// digest, size, annotations).
|
||||||
|
Descriptor ocispec.Descriptor `json:"Descriptor"`
|
||||||
|
// PredicateType is the in-toto predicate type URI of this statement.
|
||||||
|
PredicateType string `json:"PredicateType"`
|
||||||
|
// Statement is the verbatim in-toto statement JSON. Omitted unless the
|
||||||
|
// caller opts in via the statement=true query parameter.
|
||||||
|
Statement *json.RawMessage `json:"Statement,omitempty"`
|
||||||
|
}
|
||||||
+1
-1
@@ -109,7 +109,7 @@ const DummyHost = "api.moby.localhost"
|
|||||||
// overriding the version and disable API-version negotiation.
|
// overriding the version and disable API-version negotiation.
|
||||||
//
|
//
|
||||||
// This version may be lower than the version of the api library module used.
|
// This version may be lower than the version of the api library module used.
|
||||||
const MaxAPIVersion = "1.54"
|
const MaxAPIVersion = "1.55"
|
||||||
|
|
||||||
// MinAPIVersion is the minimum API version supported by the client. API versions
|
// MinAPIVersion is the minimum API version supported by the client. API versions
|
||||||
// below this version are not considered when performing API-version negotiation.
|
// below this version are not considered when performing API-version negotiation.
|
||||||
|
|||||||
+1
@@ -133,6 +133,7 @@ type ImageAPIClient interface {
|
|||||||
|
|
||||||
ImageInspect(ctx context.Context, image string, _ ...ImageInspectOption) (ImageInspectResult, error)
|
ImageInspect(ctx context.Context, image string, _ ...ImageInspectOption) (ImageInspectResult, error)
|
||||||
ImageHistory(ctx context.Context, image string, _ ...ImageHistoryOption) (ImageHistoryResult, error)
|
ImageHistory(ctx context.Context, image string, _ ...ImageHistoryOption) (ImageHistoryResult, error)
|
||||||
|
ImageAttestations(ctx context.Context, image string, _ ...ImageAttestationsOption) (ImageAttestationsResult, error)
|
||||||
|
|
||||||
ImageLoad(ctx context.Context, input io.Reader, _ ...ImageLoadOption) (ImageLoadResult, error)
|
ImageLoad(ctx context.Context, input io.Reader, _ ...ImageLoadOption) (ImageLoadResult, error)
|
||||||
ImageSave(ctx context.Context, images []string, _ ...ImageSaveOption) (ImageSaveResult, error)
|
ImageSave(ctx context.Context, images []string, _ ...ImageSaveOption) (ImageSaveResult, error)
|
||||||
|
|||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
package client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"net/url"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ImageAttestations returns the in-toto attestation statements attached to an
|
||||||
|
// image for the given platform. This requires API version 1.55 or higher.
|
||||||
|
func (cli *Client) ImageAttestations(ctx context.Context, imageID string, opts ...ImageAttestationsOption) (ImageAttestationsResult, error) {
|
||||||
|
if imageID == "" {
|
||||||
|
return ImageAttestationsResult{}, objectNotFoundError{object: "image", id: imageID}
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := cli.requiresVersion(ctx, "1.55", "attestations"); err != nil {
|
||||||
|
return ImageAttestationsResult{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var o imageAttestationsOpts
|
||||||
|
for _, opt := range opts {
|
||||||
|
if err := opt.Apply(&o); err != nil {
|
||||||
|
return ImageAttestationsResult{}, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query := url.Values{}
|
||||||
|
if o.platform != nil {
|
||||||
|
p, err := encodePlatform(o.platform)
|
||||||
|
if err != nil {
|
||||||
|
return ImageAttestationsResult{}, err
|
||||||
|
}
|
||||||
|
query.Set("platform", p)
|
||||||
|
}
|
||||||
|
for _, pt := range o.predicateTypes {
|
||||||
|
query.Add("type", pt)
|
||||||
|
}
|
||||||
|
if o.includeStatement {
|
||||||
|
query.Set("statement", "1")
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := cli.get(ctx, "/images/"+imageID+"/attestations", query, nil)
|
||||||
|
defer ensureReaderClosed(resp)
|
||||||
|
if err != nil {
|
||||||
|
return ImageAttestationsResult{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var result ImageAttestationsResult
|
||||||
|
err = json.NewDecoder(resp.Body).Decode(&result.Items)
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
package client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/moby/moby/api/types/image"
|
||||||
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ImageAttestationsResult is the result of an ImageAttestations operation.
|
||||||
|
type ImageAttestationsResult struct {
|
||||||
|
Items []image.AttestationStatement
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImageAttestationsOption is a functional option for the ImageAttestations operation.
|
||||||
|
type ImageAttestationsOption interface {
|
||||||
|
Apply(*imageAttestationsOpts) error
|
||||||
|
}
|
||||||
|
|
||||||
|
type imageAttestationsOptionFunc func(*imageAttestationsOpts) error
|
||||||
|
|
||||||
|
func (f imageAttestationsOptionFunc) Apply(o *imageAttestationsOpts) error { return f(o) }
|
||||||
|
|
||||||
|
type imageAttestationsOpts struct {
|
||||||
|
platform *ocispec.Platform
|
||||||
|
predicateTypes []string
|
||||||
|
includeStatement bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImageAttestationsWithPlatform filters attestations to those for the given
|
||||||
|
// platform variant. If omitted, the daemon's default platform is used.
|
||||||
|
func ImageAttestationsWithPlatform(platform ocispec.Platform) ImageAttestationsOption {
|
||||||
|
return imageAttestationsOptionFunc(func(o *imageAttestationsOpts) error {
|
||||||
|
o.platform = &platform
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImageAttestationsWithPredicateTypes filters returned statements to those
|
||||||
|
// whose in-toto predicate type matches one of the given URIs.
|
||||||
|
// If not set, all statements are returned.
|
||||||
|
func ImageAttestationsWithPredicateTypes(types ...string) ImageAttestationsOption {
|
||||||
|
return imageAttestationsOptionFunc(func(o *imageAttestationsOpts) error {
|
||||||
|
o.predicateTypes = append(o.predicateTypes, types...)
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImageAttestationsWithStatement asks the daemon to include the verbatim
|
||||||
|
// in-toto statement body in each returned entry. Without this option, only
|
||||||
|
// the descriptor and predicate type are returned and statement blobs are
|
||||||
|
// not read.
|
||||||
|
func ImageAttestationsWithStatement() ImageAttestationsOption {
|
||||||
|
return imageAttestationsOptionFunc(func(o *imageAttestationsOpts) error {
|
||||||
|
o.includeStatement = true
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
Vendored
+3
-3
@@ -302,7 +302,7 @@ github.com/digitorus/timestamp
|
|||||||
# github.com/distribution/reference v0.6.0
|
# github.com/distribution/reference v0.6.0
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
github.com/distribution/reference
|
github.com/distribution/reference
|
||||||
# github.com/docker/cli v29.5.3+incompatible
|
# github.com/docker/cli v29.6.1+incompatible
|
||||||
## explicit
|
## explicit
|
||||||
github.com/docker/cli/cli
|
github.com/docker/cli/cli
|
||||||
github.com/docker/cli/cli-plugins/metadata
|
github.com/docker/cli/cli-plugins/metadata
|
||||||
@@ -764,7 +764,7 @@ github.com/moby/go-archive/tarheader
|
|||||||
# github.com/moby/locker v1.0.1
|
# github.com/moby/locker v1.0.1
|
||||||
## explicit; go 1.13
|
## explicit; go 1.13
|
||||||
github.com/moby/locker
|
github.com/moby/locker
|
||||||
# github.com/moby/moby/api v1.54.2
|
# github.com/moby/moby/api v1.55.0
|
||||||
## explicit; go 1.24
|
## explicit; go 1.24
|
||||||
github.com/moby/moby/api/pkg/authconfig
|
github.com/moby/moby/api/pkg/authconfig
|
||||||
github.com/moby/moby/api/pkg/stdcopy
|
github.com/moby/moby/api/pkg/stdcopy
|
||||||
@@ -785,7 +785,7 @@ github.com/moby/moby/api/types/storage
|
|||||||
github.com/moby/moby/api/types/swarm
|
github.com/moby/moby/api/types/swarm
|
||||||
github.com/moby/moby/api/types/system
|
github.com/moby/moby/api/types/system
|
||||||
github.com/moby/moby/api/types/volume
|
github.com/moby/moby/api/types/volume
|
||||||
# github.com/moby/moby/client v0.4.1
|
# github.com/moby/moby/client v0.5.0
|
||||||
## explicit; go 1.24
|
## explicit; go 1.24
|
||||||
github.com/moby/moby/client
|
github.com/moby/moby/client
|
||||||
github.com/moby/moby/client/internal
|
github.com/moby/moby/client/internal
|
||||||
|
|||||||
Reference in New Issue
Block a user