734 lines
24 KiB
JSON
734 lines
24 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |