S3 Grounds Keeper
One way synchronization local directory content with Amazon S3 bucket.
Setup, develop, build
npm
setup: npm i
start develop: npm run build
yarn
setup yarn
start develop: yarn build
CLI
--arg | -short | required | description |
---|
--src=path | -s=path | * | path to source (sync out) directory |
--s3-region=name | | * | S3 Bucket's region |
--s3-endpoint=url | | | S3 Endpoint URL |
--s3-key=key | | * | S3 Access Key |
--s3-seckey=key | | * | S3 Secret Access Key |
--s3-bucket=name | -b=name | * | S3 destination (sync in) bucket name (NOT ARN, just a name) |
--artifactory-url=url | | * | jfrog Artifactory base url |
--artifactory-user=username | | * | jfrog Artifactory user |
--artifactory-password=password | | | jfrog Artifactory user's password |
--artifactory-apikey=jfapikey | | | jfrog Artifactory user's Api key |
--dry-run | -n | | Dry run: do nothing only prints what to do. |
--show-conf | | | Print json object for the used configuration. |
jFrog notes
Currently supported Basic authentication using your username and API Key: user name and Api key must be provided. Each request will use Authorization (http header) = base64('Basic jfuser:jfapikey'). Instead of api key password also can be used.
S3 notes
Access to s3 bucket provided through AWS SDK/Client S3 Api.
There is required parameters to configure access to S3 resources:
- region;
- access key / secret access key;
- target bucket's name;
Metapointer file format.
#metapointer PROVIDERNAME
oid provider_secific_data
Providers:
Provider | Data | Sample |
---|
jfrogart | oid aql_request_field:field_value | oid md5:e26a6019c8da5d9a3e6f742c0c6cc02c |
Sample for jfrogart
#metapointer jfrogart
oid md5:e26a6019c8da5d9a3e6f742c0c6cc02c
or
#metapointer jfrogart
oid name:myfilename.txt
Publish a new release
- Make an annotated git tag using
git tag -a <version>
or git tag -s <version>
, if signed tag is preferred. - Checkout the tag, cleanup the working tree.
- Install the dependencies:
npm ci
. - Build the package:
npm run build -- --version <version>
. - Create the tarball:
npm pack ./dist
, check the tarball contents. - Publish the tarball:
npm publish <path-to-tgz>
.