added manifest api description

This commit is contained in:
2026-04-14 18:54:57 +02:00
parent cb2bc53b77
commit 54af4c2112
8 changed files with 1116 additions and 18 deletions
+1 -1
View File
@@ -376,7 +376,7 @@ SWAG_OUTDIR = ./
SWAG_OPTS = --parseDependency \
--parseDepth 3 \
--exclude pkg,vendor \
--outputTypes yaml \
--outputTypes yaml,json \
--output $(SWAG_OUTDIR)
apidoc:
+1 -1
View File
@@ -546,7 +546,7 @@ SWAG_OUTDIR = ./
SWAG_OPTS = --parseDependency \
--parseDepth 3 \
--exclude pkg,vendor \
--outputTypes yaml \
--outputTypes yaml,json \
--output $(SWAG_OUTDIR)
all: all-recursive
+1 -1
View File
@@ -5,6 +5,6 @@ const (
rundir = "/var/run/mstore"
logdir = "/var/log/mstore"
datadir = "/var/lib/mstore"
version = "0.2.4"
version = "0.2.5"
srvname = "mstored"
)
+91 -3
View File
@@ -11,6 +11,19 @@ import (
"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) {
name, _ := rctx.GetSubpath("name")
reference, _ := rctx.GetSubpath("reference")
@@ -47,7 +60,18 @@ func (hand *Handler) ManifestExists(rctx *router.Context) {
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) {
//hand.DumpHeaders("PutManifest headers", rctx)
@@ -87,7 +111,19 @@ func (hand *Handler) PutManifest(rctx *router.Context) {
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) {
name, _ := rctx.GetSubpath("name")
reference, _ := rctx.GetSubpath("reference")
@@ -129,7 +165,16 @@ func (hand *Handler) GetManifest(rctx *router.Context) {
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) {
name, _ := rctx.GetSubpath("name")
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>?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) {
name, _ := rctx.GetSubpath("name")
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?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) {
name, _ := rctx.GetSubpath("name")
params := &imageoper.GetTagsParams{
@@ -214,6 +282,16 @@ func (hand *Handler) GetTags(rctx *router.Context) {
}
// 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) {
params := &imageoper.ListManifestsParams{}
// Rigth checking
@@ -237,6 +315,16 @@ func (hand *Handler) ListManifests(rctx *router.Context) {
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) {
name, _ := rctx.GetSubpath("name")
params := &imageoper.CheckImagesParams{
Vendored
+10 -10
View File
@@ -1,6 +1,6 @@
#! /bin/sh
# 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,
@@ -600,8 +600,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='mstore'
PACKAGE_TARNAME='mstore'
PACKAGE_VERSION='0.2.4'
PACKAGE_STRING='mstore 0.2.4'
PACKAGE_VERSION='0.2.5'
PACKAGE_STRING='mstore 0.2.5'
PACKAGE_BUGREPORT=''
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.
# This message is too long to be a string in the A/UX 3.1 sh.
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]...
@@ -1350,7 +1350,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of mstore 0.2.4:";;
short | recursive ) echo "Configuration of mstore 0.2.5:";;
esac
cat <<\_ACEOF
@@ -1437,7 +1437,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
mstore configure 0.2.4
mstore configure 0.2.5
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1474,7 +1474,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
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
$ $0$ac_configure_args_raw
@@ -2613,7 +2613,7 @@ fi
# Define the identity of the package.
PACKAGE='mstore'
VERSION='0.2.4'
VERSION='0.2.5'
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
# values after options handling.
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
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
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
mstore config.status 0.2.4
mstore config.status 0.2.5
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
+1 -1
View File
@@ -1,4 +1,4 @@
AC_INIT([mstore],[0.2.4])
AC_INIT([mstore],[0.2.5])
AM_INIT_AUTOMAKE([foreign subdir-objects tar-pax])
AC_PREFIX_DEFAULT(/usr/local)
+734
View File
@@ -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
View File
@@ -27,6 +27,39 @@ definitions:
updatedBy:
type: string
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
info:
contact:
@@ -40,6 +73,249 @@ info:
title: Service API
version: "1.0"
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}:
delete:
description: Delete collections