mirror of
https://github.com/harness/drone.git
synced 2025-05-07 23:32:10 +08:00

* fix * Merge branch 'main' into AH-307-plus-url-support-2_no_rbac * resolve PR comments * resolve PR comments * resolve PR comments * feat: [AH-346]: new api changes for version list and digest list (#2726) * feat: [AH-346]: new api changes for version list and digest list * resolve pr comments * resolve pr comments * feat: [AH-346]: new api yaml integration (#2716) * feat: [AH-346]: new api yaml integration * Merge branch 'main' of https://git0.harness.io/l7B_kbSEQD2wjrM7PShm5w/PROD/Harness_Commons/gitness into AH-307-plus-url-support-2_no_rbac * fix wire check * fix lint issues * fix: [AH-357]: migrations * changes for global artifact listing (#2708) * changes for global artifact listing * Merge branch 'main' into AH-307-plus-url-support-2_no_rbac * merged main * Merge branch 'main' into AH-307-plus-url-support-2_no_rbac * [AH-307]: Updated lint * fix comment * add new method to spacestore * feat: [AH-307]: fix after rebase with main * [AH-307]: Removing comments * [AH-307]: linting fixes * feat: [AH-286]: define proto, interface and no-op reporter implementation to publish artifact events (#2657) * feat: [AH-286]: publish artifact event - no row found is not error * feat: [AH-286]: publish artifact event - no row found is not error * feat: [AH-286]: publish artifact event - lint errors, move publishing event outside DB transaction * feat: [AH-286]: publish artifact event - review comments * feat: [AH-286]: publish artifact event - address review comments * feat: [AH-286]: publish artifact event - keep payload generic * feat: [AH-286]: publish artifact event - as sqlite locks DB, perform db operation outside goroutine publishing of events * feat: [AH-286]: publish artifact event - make publishing event async * feat: [AH-286]: publish artifact event - use api types * feat: [AH-286]: Publish event for SSCA to trigger scans - no need to export spacePathStore * feat: [AH-286]: Publish event for SSCA to trigger scans - send spacePath instead of parentID * feat: [AH-286]: Publish event for SSCA to trigger scans - rename scanner as generic reporter * feat: [AH-286]: Publish event for SSCA to trigger scans - rename scanner as generic reporter * feat: [AH-286]: publish artifact event - reuse redis.Send() * feat: [AH-286]: Publish event for SSCA to trigger scans - review comments * feat: [AH-286]: Publish event for SSCA to trigger scans - remove unused interface * feat: [AH-286]: Publish event for SSCA to trigger scans - update msg format * feat: [AH-286]: define proto, interface and no-op reporter implementation to publish artifact events * feat: [AH-286]: Publish event for SSCA to trigger scans - extract acctID/orgID/projectID from spacepathStore * feat: [AH-286]: publish artifact event - remove protobuf reference, fix lint errors * feat: [AH-286]: publish artifact event - fix msg format * feat: [AH-286]: define proto, interface and no-op reporter implementation to publish artifact events * feat: [AH-286]: define proto, interface and no-op reporter implementation to publish artifact events * feat: [AH-321]: make repo form disabled for rbac (#2687) * feat: [AH-321]: make repo form disabled for rbac * fix wire-gen * GC refactoring * feat: [AH-340]: update UI as per the product feedbacks (#2685) * feat: [AH-340]: update UI as per the product feedbacks * feat: [AH-44]: add module data while redirecting to pipeline execution page * feat: [AH-44]: add build pipeline details in overview cards * feat: [AH-44]: update view for prod and non prod tag * feat: [AH-44]: rearrange filters on artifact list apge * feat: [AH-10]: add schema for overview cards, update artifact list, add ai search input, update api for registry artifact list and update mapping for deployments table * feat: [AH-307]: add secretSpacePath in upstream password field while sending to BE (#2631) * feat: [AH-307]: add secretSpacePath in upstream password field while sending to BE * feat: [AH-299]: support new changes for artifact list page (#2630) * feat: update har service api version * feat: [AH-30]: integrate API schema for deployments list content * feat: [AH-300]: update tag colors for prod and non prod tags * feat: [AH-300]: Add Deployments table in artiface version details page * feat: [AH-299]: support new changes for artifact list page * feat: [AH-299]: support new changes for artifact list page * feat: [AH-321]: support artifact registry rbac permission on UI (#2671) * feat: [AH-321]: support artifact registry rbac permission on UI * enable rbac (#2664) * fix scope * enable rbac * feat: [AH-307]: hide code tab from version details page for both docker and helm * feat: [AH-240]: add custom handling for enterprise auth type field * Merge branch 'AH-307-plus-url-support-2_no_rbac' of https://git0.harness.io/l7B_kbSEQD2wjrM7PShm5w/PROD/Harness_Commons/gitness into AH-307-plus-url-support-2_no_rbac * feat: [AH-307]: send space_ref in query param while creating registries * lowercase rootRef * [AH-307]: updated route * [AH-307]: Added logs * [AH-307]: Added logs * feat: [AH-317]: add space_ref query param * local * Merge commit * Merge commit * Merge commit * Added comments * Revert changes * Merge commit * Merge branch 'main' of https://git0.harness.io/l7B_kbSEQD2wjrM7PShm5w/PROD/Harness_Commons/gitness into AH-307-plus-url-support-2 * Merge branch 'AH-306d' of https://git0.harness.io/l7B_kbSEQD2wjrM7PShm5w/PROD/Harness_Commons/gitness into AH-307-plus-url-support-2 * fix space path handling * Merge branch 'main' of https://git0.harness.io/l7B_kbSEQD2wjrM7PShm5w/PROD/Harness_Commons/gitness into AH-307-plus-url-support-2 * Updated URLs to support slashes with + separator * fix: [AH-306c]: fix anonymous flow * fix: [AH-306c]: fix anonymous flow * feat: [AH-307]: plus url support on UI (cherry picked from commit 3fb6add3ce03498b6668b5f8f6d547e1acedaec4) * [AH-307]: Added examples (cherry picked from commit e83e41303da536f421be333be04aed09fbf75f5f) * [AH-307]: Added Regex request rewrite support (cherry picked from commit ed7b155256bdcd1134bc228b5705556a1233add6) * fix: [AH-306c]: fix anonymous flow
1727 lines
48 KiB
YAML
1727 lines
48 KiB
YAML
openapi: "3.0.0"
|
|
info:
|
|
title: Harness Artifact Registry API
|
|
version: 1.0.0
|
|
contact:
|
|
name: Harness Artifact Registry - developers
|
|
url: https://www.harness.io
|
|
|
|
tags:
|
|
- name: Registries
|
|
description: APIs to create, update, list registries
|
|
- name: Artifacts
|
|
description: APIs to get, list artifacts
|
|
- name: Docker Artifacts
|
|
description: APIs to get details of docker artifacts
|
|
- name: Helm Artifacts
|
|
description: APIs to get details of helm artifacts
|
|
|
|
|
|
servers:
|
|
- url: /api/v1
|
|
description: Registry
|
|
|
|
paths:
|
|
/spaces/{space_ref}/registries:
|
|
get:
|
|
summary: List Registries
|
|
description: Lists all the Registries.
|
|
operationId: GetAllRegistries
|
|
tags:
|
|
- Spaces
|
|
parameters:
|
|
- $ref: "#/components/parameters/spaceRefPathParam"
|
|
- $ref: "#/components/parameters/packageTypeParam"
|
|
- $ref: "#/components/parameters/RegistryTypeParam"
|
|
- $ref: "#/components/parameters/pageNumber"
|
|
- $ref: "#/components/parameters/pageSize"
|
|
- $ref: "#/components/parameters/sortOrder"
|
|
- $ref: "#/components/parameters/sortField"
|
|
- $ref: "#/components/parameters/searchTerm"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ListRegistryResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry:
|
|
post:
|
|
summary: Create Registry.
|
|
description: Create a Registry.
|
|
operationId: CreateRegistry
|
|
tags:
|
|
- Registries
|
|
parameters:
|
|
- $ref: "#/components/parameters/spaceRefQueryParam"
|
|
requestBody:
|
|
$ref: "#/components/requestBodies/RegistryRequest"
|
|
responses:
|
|
201:
|
|
$ref: "#/components/responses/RegistryResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
|
|
/registry/{registry_ref}:
|
|
get:
|
|
summary: Returns Registry Details
|
|
description: Returns Registry Details in the account for the given key
|
|
operationId: GetRegistry
|
|
tags:
|
|
- Registries
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/RegistryResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
put:
|
|
summary: Updates a Registry
|
|
description: Updates a Registry in the account for the given key
|
|
operationId: ModifyRegistry
|
|
tags:
|
|
- Registries
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
requestBody:
|
|
$ref: "#/components/requestBodies/RegistryRequest"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/RegistryResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
delete:
|
|
summary: Delete a Registry
|
|
description: Delete a Registry in the account for the given key
|
|
operationId: DeleteRegistry
|
|
tags:
|
|
- Registries
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/Success"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/client-setup-details:
|
|
get:
|
|
summary: Returns CLI Client Setup Details
|
|
description: Returns CLI Client Setup Details based on package type
|
|
operationId: GetClientSetupDetails
|
|
tags:
|
|
- Registries
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactParam"
|
|
- $ref: "#/components/parameters/versionParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ClientSetupDetailsResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/spaces/{space_ref}/artifacts:
|
|
get:
|
|
summary: List Artifacts
|
|
description: Lists all the Artifacts.
|
|
operationId: GetAllArtifacts
|
|
tags:
|
|
- Spaces
|
|
parameters:
|
|
- $ref: "#/components/parameters/spaceRefPathParam"
|
|
- $ref: "#/components/parameters/RegistryIdentifierParam"
|
|
- $ref: "#/components/parameters/pageNumber"
|
|
- $ref: "#/components/parameters/pageSize"
|
|
- $ref: "#/components/parameters/sortOrder"
|
|
- $ref: "#/components/parameters/sortField"
|
|
- $ref: "#/components/parameters/searchTerm"
|
|
- $ref: "#/components/parameters/latestVersion"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ListArtifactResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifacts:
|
|
get:
|
|
summary: List Artifacts for Registry
|
|
description: Lists all the Artifacts for Registry
|
|
operationId: GetAllArtifactsByRegistry
|
|
tags:
|
|
- Registries
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/LabelsParam"
|
|
- $ref: "#/components/parameters/pageNumber"
|
|
- $ref: "#/components/parameters/pageSize"
|
|
- $ref: "#/components/parameters/sortOrder"
|
|
- $ref: "#/components/parameters/sortField"
|
|
- $ref: "#/components/parameters/searchTerm"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ListRegistryArtifactResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/spaces/{space_ref}/artifact/stats:
|
|
get:
|
|
summary: Get Artifact Stats
|
|
description: Get Artifact Stats.
|
|
operationId: GetArtifactStatsForSpace
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/spaceRefPathParam"
|
|
- $ref: "#/components/parameters/fromDateParam"
|
|
- $ref: "#/components/parameters/toDateParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ArtifactStatsResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/labels:
|
|
get:
|
|
summary: List Artifact Labels
|
|
description: List Artifact Labels.
|
|
operationId: ListArtifactLabels
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/pageNumber"
|
|
- $ref: "#/components/parameters/pageSize"
|
|
- $ref: "#/components/parameters/searchTerm"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ListArtifactLabelResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/stats:
|
|
get:
|
|
summary: Get Artifact Stats
|
|
description: Get Artifact Stats.
|
|
operationId: GetArtifactStatsForRegistry
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/fromDateParam"
|
|
- $ref: "#/components/parameters/toDateParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ArtifactStatsResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/summary:
|
|
get:
|
|
summary: Get Artifact Summary
|
|
description: Get Artifact Summary.
|
|
operationId: GetArtifactSummary
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ArtifactSummaryResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/versions:
|
|
get:
|
|
summary: List Artifact Versions
|
|
description: Lists all the Artifact Versions.
|
|
operationId: GetAllArtifactVersions
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/pageNumber"
|
|
- $ref: "#/components/parameters/pageSize"
|
|
- $ref: "#/components/parameters/sortOrder"
|
|
- $ref: "#/components/parameters/sortField"
|
|
- $ref: "#/components/parameters/searchTerm"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ListArtifactVersionResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/labels:
|
|
put:
|
|
summary: Update Artifact Labels
|
|
description: Update Artifact Labels.
|
|
operationId: UpdateArtifactLabels
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
requestBody:
|
|
$ref: "#/components/requestBodies/ArtifactLabelRequest"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ArtifactLabelResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/stats:
|
|
get:
|
|
summary: Get Artifact Stats
|
|
description: Get Artifact Stats.
|
|
operationId: GetArtifactStats
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/fromDateParam"
|
|
- $ref: "#/components/parameters/toDateParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ArtifactStatsResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/summary:
|
|
get:
|
|
summary: Get Artifact Version Summary
|
|
description: Get Artifact Version Summary.
|
|
operationId: GetArtifactVersionSummary
|
|
tags:
|
|
- Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/ArtifactVersionSummaryResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/details:
|
|
get:
|
|
summary: Describe Docker Artifact Detail
|
|
description: Get Docker Artifact Details
|
|
operationId: GetDockerArtifactDetails
|
|
tags:
|
|
- Docker Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
- $ref: "#/components/parameters/digestParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/DockerArtifactDetailResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/manifest:
|
|
get:
|
|
summary: Describe Docker Artifact Manifest
|
|
description: Get Docker Artifact Manifest
|
|
operationId: GetDockerArtifactManifest
|
|
tags:
|
|
- Docker Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
- $ref: "#/components/parameters/digestParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/DockerArtifactManifestResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/manifests:
|
|
get:
|
|
summary: Describe Docker Artifact Manifests
|
|
description: Get Docker Artifact Manifests
|
|
operationId: GetDockerArtifactManifests
|
|
tags:
|
|
- Docker Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/DockerManifestsResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/layers:
|
|
get:
|
|
summary: Describe Docker Artifact Layers
|
|
description: Get Docker Artifact Layers
|
|
operationId: GetDockerArtifactLayers
|
|
tags:
|
|
- Docker Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
- $ref: "#/components/parameters/digestParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/DockerLayersResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/helm/details:
|
|
get:
|
|
summary: Describe Helm Artifact Detail
|
|
description: Get Helm Artifact Details
|
|
operationId: GetHelmArtifactDetails
|
|
tags:
|
|
- Helm Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/HelmArtifactDetailResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
/registry/{registry_ref}/artifact/{artifact}/version/{version}/helm/manifest:
|
|
get:
|
|
summary: Describe Helm Artifact Manifest
|
|
description: Get Helm Artifact Manifest
|
|
operationId: GetHelmArtifactManifest
|
|
tags:
|
|
- Helm Artifacts
|
|
parameters:
|
|
- $ref: "#/components/parameters/registryRefPathParam"
|
|
- $ref: "#/components/parameters/artifactPathParam"
|
|
- $ref: "#/components/parameters/versionPathParam"
|
|
responses:
|
|
200:
|
|
$ref: "#/components/responses/HelmArtifactManifestResponse"
|
|
400:
|
|
$ref: "#/components/responses/BadRequest"
|
|
401:
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
403:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalServerError"
|
|
components:
|
|
requestBodies:
|
|
RegistryRequest:
|
|
description: request for create and update registry
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RegistryRequest"
|
|
ArtifactLabelRequest:
|
|
description: request to update artifact labels
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ArtifactLabelRequest"
|
|
responses:
|
|
ArtifactStatsResponse:
|
|
description: response to get artifact stats response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ArtifactStats"
|
|
required:
|
|
- status
|
|
- data
|
|
ArtifactLabelResponse:
|
|
description: response to get artifact label response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ArtifactSummary"
|
|
required:
|
|
- status
|
|
- data
|
|
ClientSetupDetailsResponse:
|
|
description: response for client setup details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ClientSetupDetails"
|
|
required:
|
|
- status
|
|
- data
|
|
RegistryResponse:
|
|
description: response for create, get and update registry
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/Registry"
|
|
required:
|
|
- status
|
|
- data
|
|
DockerArtifactDetailResponse:
|
|
description: response to get docker artifact detail
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/DockerArtifactDetail"
|
|
required:
|
|
- status
|
|
- data
|
|
HelmArtifactDetailResponse:
|
|
description: response to get helm artifact detail
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/HelmArtifactDetail"
|
|
required:
|
|
- status
|
|
- data
|
|
ArtifactSummaryResponse:
|
|
description: response to get artifact summary
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ArtifactSummary"
|
|
required:
|
|
- status
|
|
- data
|
|
ArtifactVersionSummaryResponse:
|
|
description: response to get docker artifact version summary
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ArtifactVersionSummary"
|
|
required:
|
|
- status
|
|
- data
|
|
DockerArtifactManifestResponse:
|
|
description: response to get docker artifact manifest
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/DockerArtifactManifest"
|
|
required:
|
|
- status
|
|
- data
|
|
HelmArtifactManifestResponse:
|
|
description: response to get helm artifact manifest
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/HelmArtifactManifest"
|
|
required:
|
|
- status
|
|
- data
|
|
DockerManifestsResponse:
|
|
description: response to get artifact layers
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/DockerManifests"
|
|
required:
|
|
- status
|
|
- data
|
|
ListArtifactLabelResponse:
|
|
description: response for list artifact labels
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ListArtifactLabel"
|
|
required:
|
|
- status
|
|
- data
|
|
DockerLayersResponse:
|
|
description: response to get artifact layers
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/DockerLayersSummary"
|
|
required:
|
|
- status
|
|
- data
|
|
ListRegistryResponse:
|
|
description: response for list registry
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ListRegistry"
|
|
required:
|
|
- status
|
|
- data
|
|
ListArtifactResponse:
|
|
description: response for list artifact
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ListArtifact"
|
|
required:
|
|
- status
|
|
- data
|
|
ListRegistryArtifactResponse:
|
|
description: response for list artifact
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ListRegistryArtifact"
|
|
required:
|
|
- status
|
|
- data
|
|
ListArtifactVersionResponse:
|
|
description: response for list versions of artifact
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
data:
|
|
$ref: "#/components/schemas/ListArtifactVersion"
|
|
required:
|
|
- status
|
|
- data
|
|
Unauthenticated:
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Error"
|
|
Success:
|
|
description: Success Response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
$ref: "#/components/schemas/Status"
|
|
required:
|
|
- status
|
|
Unauthorized:
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Error"
|
|
NotFound:
|
|
description: The specified resource was not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Error"
|
|
InternalServerError:
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Error"
|
|
BadRequest:
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
schemas:
|
|
ArtifactStats:
|
|
type: object
|
|
description: Harness Artifact Stats
|
|
properties:
|
|
downloadCount:
|
|
type: integer
|
|
format: int64
|
|
uploadSize:
|
|
type: integer
|
|
format: int64
|
|
downloadSize:
|
|
type: integer
|
|
format: int64
|
|
totalStorageSize:
|
|
type: integer
|
|
format: int64
|
|
ListRegistry:
|
|
type: object
|
|
description: A list of Harness Artifact Registries
|
|
properties:
|
|
pageCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of pages
|
|
example: 100
|
|
itemCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of items
|
|
example: 1
|
|
pageSize:
|
|
type: integer
|
|
description: The number of items per page
|
|
example: 1
|
|
pageIndex:
|
|
type: integer
|
|
format: int64
|
|
description: The current page
|
|
example: 0
|
|
registries:
|
|
type: array
|
|
description: A list of Harness Artifact Registries
|
|
items:
|
|
$ref: "#/components/schemas/RegistryMetadata"
|
|
required:
|
|
- registries
|
|
ListArtifact:
|
|
type: object
|
|
description: A list of Artifacts
|
|
properties:
|
|
pageCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of pages
|
|
example: 100
|
|
itemCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of items
|
|
example: 1
|
|
pageSize:
|
|
type: integer
|
|
description: The number of items per page
|
|
example: 1
|
|
pageIndex:
|
|
type: integer
|
|
format: int64
|
|
description: The current page
|
|
example: 0
|
|
artifacts:
|
|
type: array
|
|
description: A list of Artifact
|
|
items:
|
|
$ref: "#/components/schemas/ArtifactMetadata"
|
|
required:
|
|
- artifacts
|
|
ListRegistryArtifact:
|
|
type: object
|
|
description: A list of Artifacts
|
|
properties:
|
|
pageCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of pages
|
|
example: 100
|
|
itemCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of items
|
|
example: 1
|
|
pageSize:
|
|
type: integer
|
|
description: The number of items per page
|
|
example: 1
|
|
pageIndex:
|
|
type: integer
|
|
format: int64
|
|
description: The current page
|
|
example: 0
|
|
artifacts:
|
|
type: array
|
|
description: A list of Artifact
|
|
items:
|
|
$ref: "#/components/schemas/RegistryArtifactMetadata"
|
|
required:
|
|
- artifacts
|
|
ListArtifactVersion:
|
|
type: object
|
|
description: A list of Artifact versions
|
|
properties:
|
|
pageCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of pages
|
|
example: 100
|
|
itemCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of items
|
|
example: 1
|
|
pageSize:
|
|
type: integer
|
|
description: The number of items per page
|
|
example: 1
|
|
pageIndex:
|
|
type: integer
|
|
description: The current page
|
|
format: int64
|
|
example: 0
|
|
artifactVersions:
|
|
type: array
|
|
description: A list of Artifact versions
|
|
items:
|
|
$ref: "#/components/schemas/ArtifactVersionMetadata"
|
|
required:
|
|
- artifacts
|
|
ListArtifactLabel:
|
|
type: object
|
|
description: A list of Harness Artifact Labels
|
|
properties:
|
|
pageCount:
|
|
type: integer
|
|
description: The total number of pages
|
|
format: int64
|
|
example: 100
|
|
itemCount:
|
|
type: integer
|
|
format: int64
|
|
description: The total number of items
|
|
example: 1
|
|
pageSize:
|
|
type: integer
|
|
description: The number of items per page
|
|
example: 1
|
|
pageIndex:
|
|
type: integer
|
|
format: int64
|
|
description: The current page
|
|
example: 0
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- labels
|
|
RegistryMetadata:
|
|
type: object
|
|
description: Harness Artifact Registry Metadata
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/RegistryType"
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
description:
|
|
type: string
|
|
url:
|
|
type: string
|
|
identifier:
|
|
type: string
|
|
registrySize:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
artifactsCount:
|
|
type: integer
|
|
format: int64
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
lastModified:
|
|
type: string
|
|
path:
|
|
type: string
|
|
required:
|
|
- type
|
|
- packageType
|
|
- identifier
|
|
- url
|
|
ClientSetupDetails:
|
|
type: object
|
|
description: Client Setup Details
|
|
properties:
|
|
mainHeader:
|
|
type: string
|
|
secHeader:
|
|
type: string
|
|
sections:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ClientSetupSection"
|
|
required:
|
|
- mainHeader
|
|
- secHeader
|
|
- sections
|
|
ClientSetupSection:
|
|
type: object
|
|
description: Client Setup Section
|
|
properties:
|
|
header:
|
|
type: string
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ClientSetupStep"
|
|
ClientSetupStep:
|
|
type: object
|
|
description: Client Setup Step
|
|
properties:
|
|
header:
|
|
type: string
|
|
commands:
|
|
type: array
|
|
items:
|
|
type: string
|
|
type:
|
|
$ref: "#/components/schemas/ClientSetupStepType"
|
|
ArtifactMetadata:
|
|
type: object
|
|
description: Artifact Metadata
|
|
properties:
|
|
name:
|
|
type: string
|
|
version:
|
|
type: string
|
|
registryIdentifier:
|
|
type: string
|
|
registryPath:
|
|
type: string
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
lastModified:
|
|
type: string
|
|
pullCommand:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
required:
|
|
- name
|
|
- registryIdentifier
|
|
- latestVersion
|
|
- registryPath
|
|
RegistryArtifactMetadata:
|
|
type: object
|
|
description: Artifact Metadata
|
|
properties:
|
|
name:
|
|
type: string
|
|
registryIdentifier:
|
|
type: string
|
|
registryPath:
|
|
type: string
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
latestVersion:
|
|
type: string
|
|
lastModified:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
required:
|
|
- name
|
|
- registryIdentifier
|
|
- latestVersion
|
|
- registryPath
|
|
ArtifactVersionMetadata:
|
|
type: object
|
|
description: Artifact Version Metadata
|
|
properties:
|
|
name:
|
|
type: string
|
|
size:
|
|
type: string
|
|
registryIdentifier:
|
|
type: string
|
|
registryPath:
|
|
type: string
|
|
digestCount:
|
|
type: integer
|
|
pullCommand:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
islatestVersion:
|
|
type: boolean
|
|
lastModified:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
required:
|
|
- name
|
|
- registryIdentifier
|
|
- latestVersion
|
|
- registryPath
|
|
Registry:
|
|
type: object
|
|
description: Harness Artifact Registry
|
|
properties:
|
|
cleanupPolicy:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CleanupPolicy"
|
|
identifier:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
description:
|
|
type: string
|
|
url:
|
|
type: string
|
|
allowedPattern:
|
|
type: array
|
|
items:
|
|
type: string
|
|
blockedPattern:
|
|
type: array
|
|
items:
|
|
type: string
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
config:
|
|
$ref: '#/components/schemas/RegistryConfig'
|
|
createdAt:
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
required:
|
|
- name
|
|
- identifier
|
|
- type
|
|
- url
|
|
- packageType
|
|
DockerArtifactDetail:
|
|
type: object
|
|
description: Docker Artifact Detail
|
|
properties:
|
|
imageName:
|
|
type: string
|
|
version:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
registryPath:
|
|
type: string
|
|
url:
|
|
type: string
|
|
size:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
pullCommand:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
isLatestVersion:
|
|
type: boolean
|
|
required:
|
|
- imageName
|
|
- version
|
|
- registryPath
|
|
- url
|
|
- packageType
|
|
HelmArtifactDetail:
|
|
type: object
|
|
description: Helm Artifact Detail
|
|
properties:
|
|
artifact:
|
|
type: string
|
|
version:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
registryPath:
|
|
type: string
|
|
url:
|
|
type: string
|
|
size:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
pullCommand:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
isLatestVersion:
|
|
type: boolean
|
|
required:
|
|
- imageName
|
|
- version
|
|
- registryPath
|
|
- url
|
|
- packageType
|
|
ArtifactSummary:
|
|
type: object
|
|
description: Harness Artifact Summary
|
|
properties:
|
|
imageName:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
downloadsCount:
|
|
type: integer
|
|
format: int64
|
|
createdAt:
|
|
type: string
|
|
modifiedAt:
|
|
type: string
|
|
required:
|
|
- imageName
|
|
- packageType
|
|
ArtifactVersionSummary:
|
|
type: object
|
|
description: Docker Artifact Version Summary
|
|
properties:
|
|
imageName:
|
|
type: string
|
|
version:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
isLatestVersion:
|
|
type: boolean
|
|
required:
|
|
- imageName
|
|
- version
|
|
- packageType
|
|
DockerArtifactManifest:
|
|
type: object
|
|
description: Docker Artifact Manifest
|
|
properties:
|
|
manifest:
|
|
type: string
|
|
required:
|
|
- manifest
|
|
HelmArtifactManifest:
|
|
type: object
|
|
description: Helm Artifact Manifest
|
|
properties:
|
|
manifest:
|
|
type: string
|
|
required:
|
|
- manifest
|
|
DockerLayerEntry:
|
|
type: object
|
|
description: Harness Artifact Layers
|
|
properties:
|
|
command:
|
|
type: string
|
|
size:
|
|
type: string
|
|
required:
|
|
- command
|
|
DockerManifestDetails:
|
|
type: object
|
|
description: Harness Artifact Layers
|
|
properties:
|
|
osArch:
|
|
type: string
|
|
digest:
|
|
type: string
|
|
size:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
required:
|
|
- digest
|
|
- layers
|
|
- osArch
|
|
DockerManifests:
|
|
type: object
|
|
description: Harness Manifests
|
|
properties:
|
|
imageName:
|
|
type: string
|
|
version:
|
|
type: string
|
|
isLatestVersion:
|
|
type: boolean
|
|
manifests:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DockerManifestDetails'
|
|
required:
|
|
- imageName
|
|
- version
|
|
DockerLayersSummary:
|
|
type: object
|
|
description: Harness Layers Summary
|
|
properties:
|
|
digest:
|
|
type: string
|
|
osArch:
|
|
type: string
|
|
layers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DockerLayerEntry'
|
|
required:
|
|
- digest
|
|
RegistryConfig:
|
|
type: object
|
|
description: SubConfig specific for Virtual or Upstream Registry
|
|
required:
|
|
- type
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/RegistryType"
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
VIRTUAL: "#/components/schemas/VirtualConfig"
|
|
UPSTREAM: "#/components/schemas/UpstreamConfig"
|
|
oneOf:
|
|
- $ref: "#/components/schemas/VirtualConfig"
|
|
- $ref: "#/components/schemas/UpstreamConfig"
|
|
VirtualConfig:
|
|
type: object
|
|
description: Configuration for Harness Virtual Artifact Registries
|
|
properties:
|
|
upstreamProxies:
|
|
type: array
|
|
items:
|
|
type: string
|
|
UpstreamConfig:
|
|
type: object
|
|
description: Configuration for Harness Artifact UpstreamProxies
|
|
properties:
|
|
authType:
|
|
$ref: "#/components/schemas/AuthType"
|
|
auth:
|
|
oneOf:
|
|
- $ref: "#/components/schemas/UserPassword"
|
|
- $ref: "#/components/schemas/Anonymous"
|
|
url:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- Dockerhub
|
|
- Custom
|
|
x-discriminator-value: UPSTREAM
|
|
required:
|
|
- authType
|
|
CleanupPolicy:
|
|
type: object
|
|
description: Cleanup Policy for Harness Artifact Registries
|
|
properties:
|
|
name:
|
|
type: string
|
|
expireDays:
|
|
type: integer
|
|
versionPrefix:
|
|
type: array
|
|
items:
|
|
type: string
|
|
packagePrefix:
|
|
type: array
|
|
items:
|
|
type: string
|
|
RegistryType:
|
|
type: string
|
|
description: refers to type of registry i.e virtual or upstream
|
|
enum:
|
|
- VIRTUAL
|
|
- UPSTREAM
|
|
discriminator:
|
|
propertyName: type
|
|
PackageType:
|
|
type: string
|
|
description: refers to package
|
|
enum:
|
|
- DOCKER
|
|
- MAVEN
|
|
- GENERIC
|
|
- HELM
|
|
Status:
|
|
type: string
|
|
description: "Indicates if the request was successful or not"
|
|
enum:
|
|
- SUCCESS
|
|
- FAILURE
|
|
- ERROR
|
|
AuthType:
|
|
type: string
|
|
description: "Authentication type"
|
|
enum:
|
|
- UserPassword
|
|
- Anonymous
|
|
ClientSetupStepType:
|
|
type: string
|
|
description: "ClientSetupStepType type"
|
|
enum:
|
|
- Static
|
|
- GenerateToken
|
|
Error:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
description: The http error code
|
|
example: 404
|
|
message:
|
|
type: string
|
|
description: The reason the request failed
|
|
details:
|
|
type: object
|
|
description: Additional details about the error
|
|
required:
|
|
- code
|
|
- message
|
|
RegistryRequest:
|
|
type: object
|
|
properties:
|
|
identifier:
|
|
type: string
|
|
packageType:
|
|
$ref: "#/components/schemas/PackageType"
|
|
description:
|
|
type: string
|
|
allowedPattern:
|
|
type: array
|
|
items:
|
|
type: string
|
|
blockedPattern:
|
|
type: array
|
|
items:
|
|
type: string
|
|
cleanupPolicy:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CleanupPolicy"
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
config:
|
|
$ref: '#/components/schemas/RegistryConfig'
|
|
parentRef:
|
|
type: string
|
|
required:
|
|
- identifier
|
|
- type
|
|
- packageType
|
|
ArtifactLabelRequest:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- labels
|
|
UserPassword:
|
|
properties:
|
|
userName:
|
|
type: string
|
|
secretIdentifier:
|
|
type: string
|
|
secretSpaceId:
|
|
type: integer
|
|
secretSpacePath:
|
|
type: string
|
|
required:
|
|
- userName
|
|
- password
|
|
Anonymous: {}
|
|
parameters:
|
|
spaceRefQueryParam:
|
|
name: space_ref
|
|
in: query
|
|
required: false
|
|
description: Unique space path
|
|
schema:
|
|
type: string
|
|
packageTypeParam:
|
|
name: package_type
|
|
in: query
|
|
required: false
|
|
description: Registry Package Type
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
RegistryTypeParam:
|
|
name: type
|
|
in: query
|
|
required: false
|
|
description: Registry Type
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- VIRTUAL
|
|
- UPSTREAM
|
|
RegistryIdentifierParam:
|
|
name: reg_identifier
|
|
in: query
|
|
required: false
|
|
description: Registry Identifier
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
spaceRefPathParam:
|
|
name: space_ref
|
|
in: path
|
|
required: true
|
|
description: Unique space path.
|
|
schema:
|
|
type: string
|
|
LabelsParam:
|
|
name: label
|
|
in: query
|
|
required: false
|
|
description: Label.
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
registryRefPathParam:
|
|
name: registry_ref
|
|
in: path
|
|
required: true
|
|
description: Unique registry path.
|
|
schema:
|
|
type: string
|
|
artifactParam:
|
|
name: artifact
|
|
in: query
|
|
required: false
|
|
description: Artifat
|
|
schema:
|
|
type: string
|
|
versionParam:
|
|
name: version
|
|
in: query
|
|
required: false
|
|
description: Version
|
|
schema:
|
|
type: string
|
|
artifactPathParam:
|
|
name: artifact
|
|
in: path
|
|
required: true
|
|
description: Name of artifact.
|
|
schema:
|
|
type: string
|
|
versionPathParam:
|
|
name: version
|
|
in: path
|
|
required: true
|
|
description: Name of Artifact Version.
|
|
schema:
|
|
type: string
|
|
digestParam:
|
|
name: digest
|
|
in: query
|
|
required: true
|
|
description: Digest.
|
|
schema:
|
|
type: string
|
|
searchTerm:
|
|
name: search_term
|
|
in: query
|
|
required: false
|
|
description: search Term.
|
|
schema:
|
|
type: string
|
|
pageNumber:
|
|
name: page
|
|
in: query
|
|
required: false
|
|
description: Current page number
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
default: 1
|
|
pageSize:
|
|
name: size
|
|
in: query
|
|
required: false
|
|
description: Number of items per page
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
default: 20
|
|
sortOrder:
|
|
name: sort_order
|
|
in: query
|
|
required: false
|
|
description: sortOrder
|
|
schema:
|
|
type: string
|
|
sortField:
|
|
name: sort_field
|
|
in: query
|
|
required: false
|
|
description: sortField
|
|
schema:
|
|
type: string
|
|
latestVersion:
|
|
name: latest_version
|
|
in: query
|
|
required: false
|
|
description: Latest Version Filter.
|
|
schema:
|
|
type: boolean
|
|
fromDateParam:
|
|
name: from
|
|
in: query
|
|
required: false
|
|
description: Date. Format - MM/DD/YYYY
|
|
schema:
|
|
type: string
|
|
toDateParam:
|
|
name: to
|
|
in: query
|
|
required: false
|
|
description: Date. Format - MM/DD/YYYY
|
|
schema:
|
|
type: string |