Skip to content

utilities for working with AWS Elastic Container Registry

License

Notifications You must be signed in to change notification settings

jcoreio/aws-ecr-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@jcoreio/aws-ecr-utils

CircleCI Coverage Status semantic-release Commitizen friendly npm version

Table of Contents

copyECRImage(options)

Copies an image between ECRs (potentially between accounts). Requires Docker to be installed and the docker command to be on your path.

Options

options.from.imageUri, options.to.imageUri (string, required)

The URIs of the source and destination ECR images

options.from.ecr, options.to.ecr (AWS.ECR, optional)

The ECR clients to use for the source and destination images

options.from.awsConfig, options.to.awsConfig (AWS.ConfigurationOptions, optional)

The AWS service options to use if options.from.ecr and options.to.ecr aren't provided

Returns (Promise<void>)

A promise that will resolve once the image has been pulled from the source repository and pushed to the destination repository.

ecrImageExists(options)

Determines if an ECR image exists.

Options

options.ecr (AWS.ECR, optional)

The ECR client to use

options.awsConfig (AWS.ConfigurationOptions, optional)

The AWS service options to use if options.ecr isn't provided

options.imageUri (string, optional)

The URI of the image to look for. You must provide either this or options.registryId, options.repositoryName, or imageTag.

options.registryId (string, optional)

The ID of the ECR (same as your AWS account number?)

options.repositoryName (string, optional)

The name of the ECR repository

options.imageTag (string, optional)

The ECR image tag

Returns (Promise<boolean>)

A promise that will resolve to true if the image exists and false otherwise.

loginToECR(options)

Logs the local Docker client into the given ECR. Requires Docker to be installed and the docker command to be on your path.

Options

options.ecr (AWS.ECR, optional)

The ECR client to use

options.awsConfig (AWS.ConfigurationOptions, optional)

The AWS service options to use if options.ecr isn't provided

Returns (Promise<void>)

A promise that will resolve once logged in.

parseECRImageUri(imageUri)

Parses the given ECR image URI.

Options

imageUri (string, required)

The URI of the ECR image to parse.

Returns (object)

An object with the following properties:

{
  registryId: string
  region: string
  repositoryName: string
  imageTag: string
}

tagECRImage(options)

Adds additional tags to an existing ECR image.

Options

options.ecr (AWS.ECR, optional)

The ECR client to use

options.awsConfig (AWS.ConfigurationOptions, optional)

The AWS service options to use if options.ecr isn't provided

options.imageUri (string, required)

The URI of the ECR image to add tags to

options.tags (string[], required)

The tags to add to the ECR image

Returns (Promise<void>)

A promise that will resolve once the tags have been added.

upsertECRRepository(options)

Creates an ECR repository if it doesn't already exist.

Options

options.ecr (AWS.ECR, optional)

The ECR client to use

options.awsConfig (AWS.ConfigurationOptions, optional)

The AWS service options to use if options.ecr isn't provided

options.repositoryName (string, required)

The name of the repository to upsert

Returns (Promise<AWS.ECR.Repository>)

The found or created ECR repository