@mongodb-js/dl-center
mongodb download center internal tools
Last updated 3 months ago by mcasimir .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @mongodb-js/dl-center 
SYNC missed versions from official npm registry.

Download center tools

Provides a set of functions to aid releases to the download center.

Features

  • Pre-configured ACLs
  • Upload and download assets
  • Validates and uploads product configurations
  • Checks for broken urls in configurations

Usage

Create a new DownloadCenter instance

import { DownloadCenter } from '@mongodb-js/dl-center';

const bucketConfig = {
  bucket: `${process.env.MONGODB_DOWNLOADS_BUCKET_NAME}`,
  accessKeyId: `${process.env.MONGODB_DOWNLOADS_AWS_ACCESS_KEY_ID}`,
  secretAccessKey: `${process.env.MONGODB_DOWNLOADS_AWS_SECRET_ACCESS_KEY}`
};

const downloadCenter = new DownloadCenter(bucketConfig);

Validate and upload a configuration

downloadCenter.uploadConfig validates a configuration against a json schema, checks that all the download links are reacheable and uploads the configuration to the download center.

const compassConfig = {
  versions: [ /* ... */ ],
  // ...
};

await downloadCenter.uploadConfig('compass/compass.json', compassConfig);

Download a configuration

const config = await downloadCenter.downloadConfig('compass/compass.json');
assert(config.versions.length > 1);

Upload an asset

const config = await downloadCenter.uploadAsset(
  'compass/assets/compass.tgz',
  fs.createReadStream('./compass.tgz'),
  { contentType: 'application/gzip' } // contentType is optional
);

Download an asset

const buffer = await downloadCenter.downloadAsset(
  'compass/assets/compass.tgz'
);

fs.writeFileSync('./compass.tgz', buffer);

Validates a configuration without uploading it

import { validateConfig } from '@mongodb-js/dl-center';

await validateConfig({ /* ... */ });

Wait for assets upload

This can be used to wait for the assets of a release to be available before publishing a new configuration:

const { ok, status } = await probePlatformDownloadLink(platform);

Current Tags

  • 1.0.1                                ...           latest (3 months ago)

2 Versions

  • 1.0.1                                ...           3 months ago
  • 1.0.0                                ...           3 months ago

Copyright 2014 - 2016 © taobao.org |