added manifest api description
This commit is contained in:
+1
-1
@@ -376,7 +376,7 @@ SWAG_OUTDIR = ./
|
|||||||
SWAG_OPTS = --parseDependency \
|
SWAG_OPTS = --parseDependency \
|
||||||
--parseDepth 3 \
|
--parseDepth 3 \
|
||||||
--exclude pkg,vendor \
|
--exclude pkg,vendor \
|
||||||
--outputTypes yaml \
|
--outputTypes yaml,json \
|
||||||
--output $(SWAG_OUTDIR)
|
--output $(SWAG_OUTDIR)
|
||||||
|
|
||||||
apidoc:
|
apidoc:
|
||||||
|
|||||||
+1
-1
@@ -546,7 +546,7 @@ SWAG_OUTDIR = ./
|
|||||||
SWAG_OPTS = --parseDependency \
|
SWAG_OPTS = --parseDependency \
|
||||||
--parseDepth 3 \
|
--parseDepth 3 \
|
||||||
--exclude pkg,vendor \
|
--exclude pkg,vendor \
|
||||||
--outputTypes yaml \
|
--outputTypes yaml,json \
|
||||||
--output $(SWAG_OUTDIR)
|
--output $(SWAG_OUTDIR)
|
||||||
|
|
||||||
all: all-recursive
|
all: all-recursive
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ const (
|
|||||||
rundir = "/var/run/mstore"
|
rundir = "/var/run/mstore"
|
||||||
logdir = "/var/log/mstore"
|
logdir = "/var/log/mstore"
|
||||||
datadir = "/var/lib/mstore"
|
datadir = "/var/lib/mstore"
|
||||||
version = "0.2.4"
|
version = "0.2.5"
|
||||||
srvname = "mstored"
|
srvname = "mstored"
|
||||||
)
|
)
|
||||||
|
|||||||
+91
-3
@@ -11,6 +11,19 @@ import (
|
|||||||
"mstore/pkg/terms"
|
"mstore/pkg/terms"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary Get manifest info
|
||||||
|
// @Description Get manifest info
|
||||||
|
// @Tags manifest
|
||||||
|
// @Param name path string true "Manifest path"
|
||||||
|
// @Param reference path string true "Manifest tag"
|
||||||
|
// @Success 200
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/{name}/manifests/{reference} [HEAD]
|
||||||
|
// @Header 200 {string} Content-Length "Manifest size"
|
||||||
|
// @Header 200 {string} Content-Type "Manifest type"
|
||||||
|
// @Header 200 {string} Docker-Content-Digest "Manigest digest"
|
||||||
func (hand *Handler) ManifestExists(rctx *router.Context) {
|
func (hand *Handler) ManifestExists(rctx *router.Context) {
|
||||||
name, _ := rctx.GetSubpath("name")
|
name, _ := rctx.GetSubpath("name")
|
||||||
reference, _ := rctx.GetSubpath("reference")
|
reference, _ := rctx.GetSubpath("reference")
|
||||||
@@ -47,7 +60,18 @@ func (hand *Handler) ManifestExists(rctx *router.Context) {
|
|||||||
rctx.SetStatus(code)
|
rctx.SetStatus(code)
|
||||||
}
|
}
|
||||||
|
|
||||||
// PUT /v2/<name>/manifests/<reference> 201 404
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary Put manifest
|
||||||
|
// @Description Put manifest
|
||||||
|
// @Tags manifest
|
||||||
|
// @Param name path string true "Manifest path"
|
||||||
|
// @Param reference path string true "Manifest tag"
|
||||||
|
// @Param Content-Length header string true "Manifest size"
|
||||||
|
// @Param Content-Type header string true "Manifest type"
|
||||||
|
// @Success 200
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/{name}/manifests/{reference} [PUT]
|
||||||
func (hand *Handler) PutManifest(rctx *router.Context) {
|
func (hand *Handler) PutManifest(rctx *router.Context) {
|
||||||
|
|
||||||
//hand.DumpHeaders("PutManifest headers", rctx)
|
//hand.DumpHeaders("PutManifest headers", rctx)
|
||||||
@@ -87,7 +111,19 @@ func (hand *Handler) PutManifest(rctx *router.Context) {
|
|||||||
rctx.SetStatus(code)
|
rctx.SetStatus(code)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET /v2/<name>/manifests/<reference> 200 404
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary Get manifest
|
||||||
|
// @Description Get manifest
|
||||||
|
// @Tags manifest
|
||||||
|
// @Param name path string true "Manifest path"
|
||||||
|
// @Param reference path string true "Manifest tag"
|
||||||
|
// @Success 200
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/{name}/manifests/{reference} [GET]
|
||||||
|
// @Header 200 {string} Content-Length "Manifest size"
|
||||||
|
// @Header 200 {string} Content-Type "Manifest type"
|
||||||
|
// @Header 200 {string} Docker-Content-Digest "Manigest digest"
|
||||||
func (hand *Handler) GetManifest(rctx *router.Context) {
|
func (hand *Handler) GetManifest(rctx *router.Context) {
|
||||||
name, _ := rctx.GetSubpath("name")
|
name, _ := rctx.GetSubpath("name")
|
||||||
reference, _ := rctx.GetSubpath("reference")
|
reference, _ := rctx.GetSubpath("reference")
|
||||||
@@ -129,7 +165,16 @@ func (hand *Handler) GetManifest(rctx *router.Context) {
|
|||||||
rctx.SetStatus(code)
|
rctx.SetStatus(code)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DELETE /v2/<name>/manifests/<reference> 200 404
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary Delete manifest
|
||||||
|
// @Description Delete manifest
|
||||||
|
// @Tags manifest
|
||||||
|
// @Param name path string true "Manifest path"
|
||||||
|
// @Param reference path string true "Manifest tag"
|
||||||
|
// @Success 202
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/{name}/manifests/{reference} [DELETE]
|
||||||
func (hand *Handler) DeleteManifest(rctx *router.Context) {
|
func (hand *Handler) DeleteManifest(rctx *router.Context) {
|
||||||
name, _ := rctx.GetSubpath("name")
|
name, _ := rctx.GetSubpath("name")
|
||||||
reference, _ := rctx.GetSubpath("reference")
|
reference, _ := rctx.GetSubpath("reference")
|
||||||
@@ -160,6 +205,18 @@ func (hand *Handler) DeleteManifest(rctx *router.Context) {
|
|||||||
|
|
||||||
// GET /v2/<name>/referrers/<digest> 200 404/400
|
// GET /v2/<name>/referrers/<digest> 200 404/400
|
||||||
// GET /v2/<name>/referrers/<digest>?artifactType=<artifactType> 200 404/400
|
// GET /v2/<name>/referrers/<digest>?artifactType=<artifactType> 200 404/400
|
||||||
|
|
||||||
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary Get manifest referer
|
||||||
|
// @Description Get manifest referer
|
||||||
|
// @Tags manifest
|
||||||
|
// @Param name path string true "Manifest path"
|
||||||
|
// @Param digest path string true "Manifest digest"
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/{name}/referrers/{digest} [GET]
|
||||||
|
// @Success 200 {object} imageoper.GetRefererResult.Reference
|
||||||
|
// @Produce application/json
|
||||||
func (hand *Handler) GetReferer(rctx *router.Context) {
|
func (hand *Handler) GetReferer(rctx *router.Context) {
|
||||||
name, _ := rctx.GetSubpath("name")
|
name, _ := rctx.GetSubpath("name")
|
||||||
digest, _ := rctx.GetSubpath("digest")
|
digest, _ := rctx.GetSubpath("digest")
|
||||||
@@ -188,6 +245,17 @@ func (hand *Handler) GetReferer(rctx *router.Context) {
|
|||||||
|
|
||||||
// GET /v2/<name>/tags/list 200 404
|
// GET /v2/<name>/tags/list 200 404
|
||||||
// GET /v2/<name>/tags/list?n=<integer>&last=<integer>
|
// GET /v2/<name>/tags/list?n=<integer>&last=<integer>
|
||||||
|
|
||||||
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary List manifest tags
|
||||||
|
// @Description List manifest tags
|
||||||
|
// @Tags manifest
|
||||||
|
// @Param name path string true "Manifest path"
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/{name}/tags/list [GET]
|
||||||
|
// @Success 200 {object} imageoper.GetTagsResult.TagDescr
|
||||||
|
// @Produce application/json
|
||||||
func (hand *Handler) GetTags(rctx *router.Context) {
|
func (hand *Handler) GetTags(rctx *router.Context) {
|
||||||
name, _ := rctx.GetSubpath("name")
|
name, _ := rctx.GetSubpath("name")
|
||||||
params := &imageoper.GetTagsParams{
|
params := &imageoper.GetTagsParams{
|
||||||
@@ -214,6 +282,16 @@ func (hand *Handler) GetTags(rctx *router.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GET /v2/_catalog?n=1000 200 404
|
// GET /v2/_catalog?n=1000 200 404
|
||||||
|
|
||||||
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary List manifests
|
||||||
|
// @Description List manifests
|
||||||
|
// @Tags manifest
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/_catalog [GET]
|
||||||
|
// @Success 200 {object} imageoper.ListManifestsResult.Repositories
|
||||||
|
// @Produce application/json
|
||||||
func (hand *Handler) ListManifests(rctx *router.Context) {
|
func (hand *Handler) ListManifests(rctx *router.Context) {
|
||||||
params := &imageoper.ListManifestsParams{}
|
params := &imageoper.ListManifestsParams{}
|
||||||
// Rigth checking
|
// Rigth checking
|
||||||
@@ -237,6 +315,16 @@ func (hand *Handler) ListManifests(rctx *router.Context) {
|
|||||||
rctx.SendJSON(code, res.Repositories)
|
rctx.SendJSON(code, res.Repositories)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetProperty godoc
|
||||||
|
//
|
||||||
|
// @Summary Check images
|
||||||
|
// @Description Check images
|
||||||
|
// @Tags manifest
|
||||||
|
// @Failure 404,405,500
|
||||||
|
// @Router /v2/checker/{name} [POST]
|
||||||
|
// @Router /v2/checker/ [POST]
|
||||||
|
// @Success 200 {object} imageoper.CheckImagesResult.Repositories
|
||||||
|
// @Produce application/json
|
||||||
func (hand *Handler) CheckImages(rctx *router.Context) {
|
func (hand *Handler) CheckImages(rctx *router.Context) {
|
||||||
name, _ := rctx.GetSubpath("name")
|
name, _ := rctx.GetSubpath("name")
|
||||||
params := &imageoper.CheckImagesParams{
|
params := &imageoper.CheckImagesParams{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.72 for mstore 0.2.4.
|
# Generated by GNU Autoconf 2.72 for mstore 0.2.5.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
|
# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
|
||||||
@@ -600,8 +600,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='mstore'
|
PACKAGE_NAME='mstore'
|
||||||
PACKAGE_TARNAME='mstore'
|
PACKAGE_TARNAME='mstore'
|
||||||
PACKAGE_VERSION='0.2.4'
|
PACKAGE_VERSION='0.2.5'
|
||||||
PACKAGE_STRING='mstore 0.2.4'
|
PACKAGE_STRING='mstore 0.2.5'
|
||||||
PACKAGE_BUGREPORT=''
|
PACKAGE_BUGREPORT=''
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1279,7 +1279,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
'configure' configures mstore 0.2.4 to adapt to many kinds of systems.
|
'configure' configures mstore 0.2.5 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1350,7 +1350,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of mstore 0.2.4:";;
|
short | recursive ) echo "Configuration of mstore 0.2.5:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1437,7 +1437,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
mstore configure 0.2.4
|
mstore configure 0.2.5
|
||||||
generated by GNU Autoconf 2.72
|
generated by GNU Autoconf 2.72
|
||||||
|
|
||||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||||
@@ -1474,7 +1474,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by mstore $as_me 0.2.4, which was
|
It was created by mstore $as_me 0.2.5, which was
|
||||||
generated by GNU Autoconf 2.72. Invocation command line was
|
generated by GNU Autoconf 2.72. Invocation command line was
|
||||||
|
|
||||||
$ $0$ac_configure_args_raw
|
$ $0$ac_configure_args_raw
|
||||||
@@ -2613,7 +2613,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='mstore'
|
PACKAGE='mstore'
|
||||||
VERSION='0.2.4'
|
VERSION='0.2.5'
|
||||||
|
|
||||||
|
|
||||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||||
@@ -4501,7 +4501,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by mstore $as_me 0.2.4, which was
|
This file was extended by mstore $as_me 0.2.5, which was
|
||||||
generated by GNU Autoconf 2.72. Invocation command line was
|
generated by GNU Autoconf 2.72. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -4556,7 +4556,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config='$ac_cs_config_escaped'
|
ac_cs_config='$ac_cs_config_escaped'
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
mstore config.status 0.2.4
|
mstore config.status 0.2.5
|
||||||
configured by $0, generated by GNU Autoconf 2.72,
|
configured by $0, generated by GNU Autoconf 2.72,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([mstore],[0.2.4])
|
AC_INIT([mstore],[0.2.5])
|
||||||
AM_INIT_AUTOMAKE([foreign subdir-objects tar-pax])
|
AM_INIT_AUTOMAKE([foreign subdir-objects tar-pax])
|
||||||
AC_PREFIX_DEFAULT(/usr/local)
|
AC_PREFIX_DEFAULT(/usr/local)
|
||||||
|
|
||||||
|
|||||||
+734
@@ -0,0 +1,734 @@
|
|||||||
|
{
|
||||||
|
"schemes": [
|
||||||
|
"http",
|
||||||
|
"https"
|
||||||
|
],
|
||||||
|
"swagger": "2.0",
|
||||||
|
"info": {
|
||||||
|
"description": "API documentation",
|
||||||
|
"title": "Service API",
|
||||||
|
"contact": {
|
||||||
|
"name": "API Support",
|
||||||
|
"url": "http://www.swagger.io/support",
|
||||||
|
"email": "support@swagger.io"
|
||||||
|
},
|
||||||
|
"license": {
|
||||||
|
"name": "Apache 2.0",
|
||||||
|
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||||
|
},
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"host": "localhost",
|
||||||
|
"basePath": "/",
|
||||||
|
"paths": {
|
||||||
|
"/v2/_catalog": {
|
||||||
|
"get": {
|
||||||
|
"description": "List manifests",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "List manifests",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/mstore_app_imageoper.ListManifestsResult"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v2/checker/": {
|
||||||
|
"post": {
|
||||||
|
"description": "Check images",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Check images",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/mstore_app_imageoper.CheckImagesResult"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v2/checker/{name}": {
|
||||||
|
"post": {
|
||||||
|
"description": "Check images",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Check images",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/mstore_app_imageoper.CheckImagesResult"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v2/{name}/manifests/{reference}": {
|
||||||
|
"get": {
|
||||||
|
"description": "Get manifest",
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Get manifest",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest path",
|
||||||
|
"name": "name",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest tag",
|
||||||
|
"name": "reference",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"headers": {
|
||||||
|
"Content-Length": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest size"
|
||||||
|
},
|
||||||
|
"Content-Type": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest type"
|
||||||
|
},
|
||||||
|
"Docker-Content-Digest": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manigest digest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
"description": "Put manifest",
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Put manifest",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest path",
|
||||||
|
"name": "name",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest tag",
|
||||||
|
"name": "reference",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest size",
|
||||||
|
"name": "Content-Length",
|
||||||
|
"in": "header",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest type",
|
||||||
|
"name": "Content-Type",
|
||||||
|
"in": "header",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK"
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete": {
|
||||||
|
"description": "Delete manifest",
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Delete manifest",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest path",
|
||||||
|
"name": "name",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest tag",
|
||||||
|
"name": "reference",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"202": {
|
||||||
|
"description": "Accepted"
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"description": "Get manifest info",
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Get manifest info",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest path",
|
||||||
|
"name": "name",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest tag",
|
||||||
|
"name": "reference",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"headers": {
|
||||||
|
"Content-Length": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest size"
|
||||||
|
},
|
||||||
|
"Content-Type": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest type"
|
||||||
|
},
|
||||||
|
"Docker-Content-Digest": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manigest digest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v2/{name}/referrers/{digest}": {
|
||||||
|
"get": {
|
||||||
|
"description": "Get manifest referer",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "Get manifest referer",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest path",
|
||||||
|
"name": "name",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest digest",
|
||||||
|
"name": "digest",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/mstore_app_imageoper.GetRefererResult"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v2/{name}/tags/list": {
|
||||||
|
"get": {
|
||||||
|
"description": "List manifest tags",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"manifest"
|
||||||
|
],
|
||||||
|
"summary": "List manifest tags",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Manifest path",
|
||||||
|
"name": "name",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/mstore_app_imageoper.GetTagsResult"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v3/collection/{path}": {
|
||||||
|
"delete": {
|
||||||
|
"description": "Delete collections",
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "Delete collections",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Collection path",
|
||||||
|
"name": "path",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK"
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v3/collections/{path}": {
|
||||||
|
"get": {
|
||||||
|
"description": "List collections",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "List collections",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Collection path",
|
||||||
|
"name": "path",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v3/file/{filepath}": {
|
||||||
|
"get": {
|
||||||
|
"description": "Get file",
|
||||||
|
"produces": [
|
||||||
|
"application/octet-stream",
|
||||||
|
"application/vnd.cncf.helm.chart.content.v1.tar+gzip"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "Get file",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "File path",
|
||||||
|
"name": "filepath",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK"
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
"description": "Store file",
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "Store file",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "File size",
|
||||||
|
"name": "Content-Size",
|
||||||
|
"in": "header",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "File type",
|
||||||
|
"name": "Content-Type",
|
||||||
|
"in": "header",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "File path",
|
||||||
|
"name": "filepath",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK"
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete": {
|
||||||
|
"description": "Delete file",
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "Delete file",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "File path",
|
||||||
|
"name": "filepath",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK"
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"description": "Get file info",
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "Get file info",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "File path",
|
||||||
|
"name": "filepath",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"headers": {
|
||||||
|
"Content-Collection": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "File collection"
|
||||||
|
},
|
||||||
|
"Content-Digest": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "File digest"
|
||||||
|
},
|
||||||
|
"Content-Name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "File name"
|
||||||
|
},
|
||||||
|
"Content-Size": {
|
||||||
|
"type": "int64",
|
||||||
|
"description": "File size"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/v3/files/{path}": {
|
||||||
|
"get": {
|
||||||
|
"description": "List files",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"file"
|
||||||
|
],
|
||||||
|
"summary": "List files",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "File path",
|
||||||
|
"name": "path",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/descr.File"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"404": {
|
||||||
|
"description": "Not Found"
|
||||||
|
},
|
||||||
|
"405": {
|
||||||
|
"description": "Method Not Allowed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"definitions": {
|
||||||
|
"descr.File": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"checksum": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"collection": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"createdAt": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"createdBy": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"helmHash": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"helmMeta": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"updatedAt": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"updatedBy": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"descr.Tags": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mstore_app_imageoper.CheckImagesResult": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"repositories": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mstore_app_imageoper.GetRefererResult": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"reference": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mstore_app_imageoper.GetTagsResult": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"tagDescr": {
|
||||||
|
"$ref": "#/definitions/descr.Tags"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mstore_app_imageoper.ListManifestsResult": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"repositories": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+276
@@ -27,6 +27,39 @@ definitions:
|
|||||||
updatedBy:
|
updatedBy:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
descr.Tags:
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
tags:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
mstore_app_imageoper.CheckImagesResult:
|
||||||
|
properties:
|
||||||
|
repositories:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
mstore_app_imageoper.GetRefererResult:
|
||||||
|
properties:
|
||||||
|
reference:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
mstore_app_imageoper.GetTagsResult:
|
||||||
|
properties:
|
||||||
|
tagDescr:
|
||||||
|
$ref: '#/definitions/descr.Tags'
|
||||||
|
type: object
|
||||||
|
mstore_app_imageoper.ListManifestsResult:
|
||||||
|
properties:
|
||||||
|
repositories:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
host: localhost
|
host: localhost
|
||||||
info:
|
info:
|
||||||
contact:
|
contact:
|
||||||
@@ -40,6 +73,249 @@ info:
|
|||||||
title: Service API
|
title: Service API
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
paths:
|
paths:
|
||||||
|
/v2/_catalog:
|
||||||
|
get:
|
||||||
|
description: List manifests
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/mstore_app_imageoper.ListManifestsResult'
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: List manifests
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
/v2/{name}/manifests/{reference}:
|
||||||
|
delete:
|
||||||
|
description: Delete manifest
|
||||||
|
parameters:
|
||||||
|
- description: Manifest path
|
||||||
|
in: path
|
||||||
|
name: name
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest tag
|
||||||
|
in: path
|
||||||
|
name: reference
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"202":
|
||||||
|
description: Accepted
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Delete manifest
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
get:
|
||||||
|
description: Get manifest
|
||||||
|
parameters:
|
||||||
|
- description: Manifest path
|
||||||
|
in: path
|
||||||
|
name: name
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest tag
|
||||||
|
in: path
|
||||||
|
name: reference
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
headers:
|
||||||
|
Content-Length:
|
||||||
|
description: Manifest size
|
||||||
|
type: string
|
||||||
|
Content-Type:
|
||||||
|
description: Manifest type
|
||||||
|
type: string
|
||||||
|
Docker-Content-Digest:
|
||||||
|
description: Manigest digest
|
||||||
|
type: string
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Get manifest
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
head:
|
||||||
|
description: Get manifest info
|
||||||
|
parameters:
|
||||||
|
- description: Manifest path
|
||||||
|
in: path
|
||||||
|
name: name
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest tag
|
||||||
|
in: path
|
||||||
|
name: reference
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
headers:
|
||||||
|
Content-Length:
|
||||||
|
description: Manifest size
|
||||||
|
type: string
|
||||||
|
Content-Type:
|
||||||
|
description: Manifest type
|
||||||
|
type: string
|
||||||
|
Docker-Content-Digest:
|
||||||
|
description: Manigest digest
|
||||||
|
type: string
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Get manifest info
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
put:
|
||||||
|
description: Put manifest
|
||||||
|
parameters:
|
||||||
|
- description: Manifest path
|
||||||
|
in: path
|
||||||
|
name: name
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest tag
|
||||||
|
in: path
|
||||||
|
name: reference
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest size
|
||||||
|
in: header
|
||||||
|
name: Content-Length
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest type
|
||||||
|
in: header
|
||||||
|
name: Content-Type
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Put manifest
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
/v2/{name}/referrers/{digest}:
|
||||||
|
get:
|
||||||
|
description: Get manifest referer
|
||||||
|
parameters:
|
||||||
|
- description: Manifest path
|
||||||
|
in: path
|
||||||
|
name: name
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Manifest digest
|
||||||
|
in: path
|
||||||
|
name: digest
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/mstore_app_imageoper.GetRefererResult'
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Get manifest referer
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
/v2/{name}/tags/list:
|
||||||
|
get:
|
||||||
|
description: List manifest tags
|
||||||
|
parameters:
|
||||||
|
- description: Manifest path
|
||||||
|
in: path
|
||||||
|
name: name
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/mstore_app_imageoper.GetTagsResult'
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: List manifest tags
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
/v2/checker/:
|
||||||
|
post:
|
||||||
|
description: Check images
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/mstore_app_imageoper.CheckImagesResult'
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Check images
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
|
/v2/checker/{name}:
|
||||||
|
post:
|
||||||
|
description: Check images
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/mstore_app_imageoper.CheckImagesResult'
|
||||||
|
"404":
|
||||||
|
description: Not Found
|
||||||
|
"405":
|
||||||
|
description: Method Not Allowed
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
summary: Check images
|
||||||
|
tags:
|
||||||
|
- manifest
|
||||||
/v3/collection/{path}:
|
/v3/collection/{path}:
|
||||||
delete:
|
delete:
|
||||||
description: Delete collections
|
description: Delete collections
|
||||||
|
|||||||
Reference in New Issue
Block a user