From 0f48753020be4a7b8991346c0be416bdd3c79f73 Mon Sep 17 00:00:00 2001 From: Brian DeHamer Date: Tue, 12 Mar 2024 15:14:50 -0700 Subject: [PATCH] bump @sigstore/oci from 0.1.0 to 0.2.0 (#25) Signed-off-by: Brian DeHamer --- dist/index.js | 34 ++++++++++++++++++++++++++-------- package-lock.json | 11 +++++++---- package.json | 2 +- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/dist/index.js b/dist/index.js index a0552d2..494d27d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -11349,7 +11349,7 @@ const constants_1 = __nccwpck_require__(1319); const error_1 = __nccwpck_require__(64); const registry_1 = __nccwpck_require__(7464); const EMPTY_BLOB = Buffer.from('{}'); -const DOWNGRADE_REGISTRIES = ['docker.io', 'amazonaws.com']; +const DOWNGRADE_REGISTRIES = ['amazonaws.com']; class OCIImage { constructor(image, creds, opts) { _OCIImage_instances.add(this); @@ -11389,15 +11389,12 @@ class OCIImage { }); /* istanbul ignore if */ if (__classPrivateFieldGet(this, _OCIImage_downgrade, "f")) { - delete manifest.subject; - delete manifest.artifactType; // ECR can't handle media types with parameters, so we need to strip the // version parameter from the Sigstore bundle media type. + manifest.artifactType = manifest.artifactType + ? manifest.artifactType.replace(/;.*/, '') + : undefined; manifest.layers[0].mediaType = manifest.layers[0].mediaType.replace(/;.*/, ''); - // ECR can't handle the "application/vnd.oci.empty.v1+json" media type - // for the config blob defined in OCI 1.1, so we need to use the Docker - // V2 API media type - manifest.config.mediaType = 'application/vnd.oci.image.config.v1+json'; } // Upload artifact manifest artifactDescriptor = await __classPrivateFieldGet(this, _OCIImage_client, "f").uploadManifest(JSON.stringify(manifest)); @@ -11423,6 +11420,21 @@ class OCIImage { } return artifactDescriptor; } + async getDigest(tag) { + try { + if (__classPrivateFieldGet(this, _OCIImage_credentials, "f")) { + await __classPrivateFieldGet(this, _OCIImage_client, "f").signIn(__classPrivateFieldGet(this, _OCIImage_credentials, "f")); + } + const imageDescriptor = await __classPrivateFieldGet(this, _OCIImage_client, "f").checkManifest(tag); + return imageDescriptor.digest; + } + catch (err) { + throw new error_1.OCIError({ + message: `Error retrieving image digest from container registry`, + cause: err, + }); + } + } } exports.OCIImage = OCIImage; _OCIImage_client = new WeakMap(), _OCIImage_credentials = new WeakMap(), _OCIImage_downgrade = new WeakMap(), _OCIImage_instances = new WeakSet(), _OCIImage_createReferrersIndexByTag = @@ -11495,7 +11507,7 @@ const digestToTag = (digest) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.attachArtifactToImage = exports.OCIError = exports.getRegistryCredentials = void 0; +exports.getImageDigest = exports.attachArtifactToImage = exports.OCIError = exports.getRegistryCredentials = void 0; const image_1 = __nccwpck_require__(9539); const name_1 = __nccwpck_require__(4520); var credentials_1 = __nccwpck_require__(5475); @@ -11510,6 +11522,12 @@ const attachArtifactToImage = async (opts) => { return new image_1.OCIImage(image, opts.credentials, opts.fetchOpts).addArtifact(opts); }; exports.attachArtifactToImage = attachArtifactToImage; +// Returns the digest of the given image tag in the remote registry. +const getImageDigest = async (opts) => { + const image = (0, name_1.parseImageName)(opts.imageName); + return new image_1.OCIImage(image, opts.credentials, opts.fetchOpts).getDigest(opts.imageTag); +}; +exports.getImageDigest = getImageDigest; /***/ }), diff --git a/package-lock.json b/package-lock.json index 0e3ca3c..207fed6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@actions/attest": "^1.0.0", "@actions/core": "^1.10.1", "@actions/glob": "^0.4.0", - "@sigstore/oci": "^0.1.0" + "@sigstore/oci": "^0.2.0" }, "devDependencies": { "@sigstore/mock": "^0.6.5", @@ -1699,8 +1699,9 @@ } }, "node_modules/@sigstore/oci": { - "version": "0.1.0", - "license": "Apache-2.0", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/oci/-/oci-0.2.0.tgz", + "integrity": "sha512-fPKD4jd/D6VR/AqkJn7YHYguZlVcd2GI6lc2d/cK2xwZNV/bfCVd6jvJht5wdz8tyAvVvLyfMHBh/UtNwDG0fg==", "dependencies": { "make-fetch-happen": "^13.0.0" }, @@ -9214,7 +9215,9 @@ } }, "@sigstore/oci": { - "version": "0.1.0", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/oci/-/oci-0.2.0.tgz", + "integrity": "sha512-fPKD4jd/D6VR/AqkJn7YHYguZlVcd2GI6lc2d/cK2xwZNV/bfCVd6jvJht5wdz8tyAvVvLyfMHBh/UtNwDG0fg==", "requires": { "make-fetch-happen": "^13.0.0" } diff --git a/package.json b/package.json index 5babc91..90b65a9 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@actions/attest": "^1.0.0", "@actions/core": "^1.10.1", "@actions/glob": "^0.4.0", - "@sigstore/oci": "^0.1.0" + "@sigstore/oci": "^0.2.0" }, "devDependencies": { "@sigstore/mock": "^0.6.5",