pax_global_header 0000666 0000000 0000000 00000000064 15173113553 0014516 g ustar 00root root 0000000 0000000 52 comment=d70a0f36fef3678987a50b8a1cd6edf1d6d5e446
amazon-ecr-credential-helper-0.12.0/ 0000775 0000000 0000000 00000000000 15173113553 0017217 5 ustar 00root root 0000000 0000000 amazon-ecr-credential-helper-0.12.0/.codebuild/ 0000775 0000000 0000000 00000000000 15173113553 0021227 5 ustar 00root root 0000000 0000000 amazon-ecr-credential-helper-0.12.0/.codebuild/buildspec.yml 0000664 0000000 0000000 00000001070 15173113553 0023722 0 ustar 00root root 0000000 0000000 version: 0.2
phases:
install:
commands:
- chmod +x -R scripts
- ./scripts/container_init.sh
- ./scripts/hack/codepipeline-git-commit.sh
- ./scripts/hack/symlink-gopath-codebuild.sh
- cd /go/src/github.com/awslabs/amazon-ecr-credential-helper
pre_build:
commands:
- echo "Starting tests..."
- make test
build:
commands:
- echo "Starting build..."
- make all-variants
post_build:
commands:
- echo "Build completed on $(date)"
artifacts:
files:
- '**/*'
base-directory: 'bin'
amazon-ecr-credential-helper-0.12.0/.codebuild/source-archive.yml 0000664 0000000 0000000 00000000644 15173113553 0024675 0 ustar 00root root 0000000 0000000 version: 0.2
phases:
build:
commands:
- ./scripts/hack/codepipeline-source-archive.sh
- ./scripts/hack/version-changelog.sh | tee archive/VERSION_CHANGELOG.md
post_build:
commands:
- echo "Archive completed on $(date)"
artifacts:
files:
- 'release.tar.gz'
- 'release-novendor.tar.gz'
- 'VERSION'
- 'GITCOMMIT_SHA'
- 'VERSION_CHANGELOG.md'
base-directory: 'archive'
amazon-ecr-credential-helper-0.12.0/.github/ 0000775 0000000 0000000 00000000000 15173113553 0020557 5 ustar 00root root 0000000 0000000 amazon-ecr-credential-helper-0.12.0/.github/CODEOWNERS 0000664 0000000 0000000 00000000041 15173113553 0022145 0 ustar 00root root 0000000 0000000 * @awslabs/runtime @awslabs/ecr
amazon-ecr-credential-helper-0.12.0/.github/ISSUE_TEMPLATE/ 0000775 0000000 0000000 00000000000 15173113553 0022742 5 ustar 00root root 0000000 0000000 amazon-ecr-credential-helper-0.12.0/.github/ISSUE_TEMPLATE/bug_report.yml 0000664 0000000 0000000 00000001716 15173113553 0025642 0 ustar 00root root 0000000 0000000 name: Bug Report
description: Submit a bug report to improve amazon-ecr-credential-helper
labels: ["bug"]
body:
- type: textarea
attributes:
label: Description
description: |
Briefly describe the problem/bug you are experiencing.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
value: |
1.
2.
3.
- type: textarea
attributes:
label: Describe the results you expected
validations:
required: true
- type: textarea
attributes:
label: Logs / Screenshots
description: Please attach logs and/or screenshots from both docker and the credential helper (found under `~/.ecr/logs`)
- type: textarea
attributes:
label: System information
value: |
1. amazon-ecr-credential-helper version:
2. docker version:
3. environment (e.g. EKS, EC2, Windows):
validations:
required: true
amazon-ecr-credential-helper-0.12.0/.github/ISSUE_TEMPLATE/config.yml 0000664 0000000 0000000 00000000033 15173113553 0024726 0 ustar 00root root 0000000 0000000 blank_issues_enabled: true
amazon-ecr-credential-helper-0.12.0/.github/ISSUE_TEMPLATE/third_party_license_usage_request.yml 0000664 0000000 0000000 00000001372 15173113553 0032457 0 ustar 00root root 0000000 0000000 name: 3rd Party License Request
description: File a request for usage of a 3rd party license in the Amazon ECR credential helpers project.
title: "[3rd Party License Request]: "
labels: "license-request"
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this request!
- type: textarea
id: license-request
attributes:
label: License request
value: |
License:
- type: textarea
id: use-case
attributes:
label: Use case
description: |
Briefly describe the use case the dependency would resolve.
validations:
required: true
- type: textarea
id: other-solutions
attributes:
label: Other solutions considered
amazon-ecr-credential-helper-0.12.0/.github/PULL_REQUEST_TEMPLATE.md 0000664 0000000 0000000 00000000251 15173113553 0024356 0 ustar 00root root 0000000 0000000 *Issue #, if available:*
*Description of changes:*
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
amazon-ecr-credential-helper-0.12.0/.github/dependabot.yml 0000664 0000000 0000000 00000001122 15173113553 0023403 0 ustar 00root root 0000000 0000000 version: 2
updates:
# Dependencies listed in ecr-login/go.mod
- package-ecosystem: "gomod"
directory: "/ecr-login"
schedule:
interval: "daily"
groups:
# Group updates from github.com/aws/aws-sdk-go-v2 dependencies
aws-sdk-go-v2:
patterns:
- "github.com/aws/aws-sdk-go-v2/*"
# Dependencies listed in .github/workflows/*.yml
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
# Base image in Dockerfile
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
amazon-ecr-credential-helper-0.12.0/.github/dependency-review-config.yml 0000664 0000000 0000000 00000000375 15173113553 0026167 0 ustar 00root root 0000000 0000000 # Fail third party dependency usage if not covered by the curated set of pre-approved licenses.
#
# List was generated from guidance set forth by Amazon open source usage policies.
allow-licenses:
- 'Apache-2.0'
- 'BSD-3-Clause'
- 'ISC'
- 'MIT'
amazon-ecr-credential-helper-0.12.0/.github/new-pull-request-labels.yml 0000664 0000000 0000000 00000001115 15173113553 0025771 0 ustar 00root root 0000000 0000000 aws_partition_change:
- changed-files:
- any-glob-to-any-file: ['ecr-login/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.*']
dependencies:
- changed-files:
- any-glob-to-any-file: ['**/go.mod', '**/go.sum']
documentation:
- changed-files:
- all-globs-to-all-files: ['**/*.md']
github_actions:
- changed-files:
- any-glob-to-any-file: ['.github/**', 'scripts/**']
go:
- changed-files:
- any-glob-to-any-file: ['**/*.go']
testing:
- changed-files:
- any-glob-to-any-file: ['integration/**', '**/*_test.go']
amazon-ecr-credential-helper-0.12.0/.github/workflows/ 0000775 0000000 0000000 00000000000 15173113553 0022614 5 ustar 00root root 0000000 0000000 amazon-ecr-credential-helper-0.12.0/.github/workflows/build.yaml 0000664 0000000 0000000 00000002546 15173113553 0024606 0 ustar 00root root 0000000 0000000 name: Build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
git-secrets:
runs-on: 'ubuntu-22.04'
steps:
- name: Pull latest awslabs/git-secrets repo
uses: actions/checkout@v6
with:
repository: awslabs/git-secrets
ref: 1.3.0
fetch-tags: true
path: git-secrets
- name: Install git secrets from source
run: sudo make install
working-directory: git-secrets
- uses: actions/checkout@v6
- name: Scan repository for git secrets
run: |
git secrets --register-aws
git secrets --scan-history
cross-compile:
runs-on: 'ubuntu-22.04'
steps:
- uses: actions/checkout@v6
- name: Cross-compile all variants
run: make all-variants-in-docker
unit-test:
strategy:
matrix:
go: ['1.25', '1.26']
# Intentionally use specific versions instead of "latest" to
# make this build reproducible.
os: ['ubuntu-24.04', 'macos-15', 'windows-2025']
# Build all variants regardless of failures
fail-fast: false
name: unit-test (${{ matrix.os }} / Go ${{ matrix.go }})
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go }}
- run: make test
amazon-ecr-credential-helper-0.12.0/.github/workflows/check-links.yml 0000664 0000000 0000000 00000001131 15173113553 0025526 0 ustar 00root root 0000000 0000000 name: Check Links
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 3" # Every Wednesday at 00:00 UTC
pull_request:
paths:
- ".github/workflows/check-links.yml"
jobs:
check:
runs-on: ubuntu-22.04
if: github.repository == 'awslabs/amazon-ecr-credential-helper'
name: lychee
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: lycheeverse/lychee-action@v2.8.0
with:
fail: true
args: --exclude-path ecr-login/vendor --timeout 30 --no-progress './**/*.md'
format: markdown
jobSummary: true
amazon-ecr-credential-helper-0.12.0/.github/workflows/codeql.yml 0000664 0000000 0000000 00000001442 15173113553 0024607 0 ustar 00root root 0000000 0000000 name: "CodeQL Scan"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '25 21 * * 5'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-22.04
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
steps:
- name: Checkout repository
uses: actions/checkout@v6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
- name: Build
run: make build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
amazon-ecr-credential-helper-0.12.0/.github/workflows/new-pull-requests.yml 0000664 0000000 0000000 00000001344 15173113553 0026755 0 ustar 00root root 0000000 0000000 name: "New Pull Requests"
on:
# It is safe to use pull_request_target here because we are not checking out
# code from the pull request branch.
#
# See https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
pull_request_target:
permissions:
contents: read
jobs:
label:
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
permissions:
pull-requests: write
steps:
# Use label configuration from main instead of from the pull request branch
# to mitigate running untrusted workflows with write permissions.
- uses: actions/labeler@v6
with:
configuration-path: '.github/new-pull-request-labels.yml'
sync-labels: true
amazon-ecr-credential-helper-0.12.0/.github/workflows/review-dependencies.yml 0000664 0000000 0000000 00000001177 15173113553 0027272 0 ustar 00root root 0000000 0000000 name: Review dependencies
on:
pull_request:
branches: ['main', 'release/**']
paths:
- 'ecr-login/go.*'
jobs:
review:
runs-on: ubuntu-latest
permissions:
# Write permissions needed to comment review results on PR.
# Pwn request risk mitigated by using pull_request workflow trigger
# and external contributor workflow runs require maintainer approval.
pull-requests: write
steps:
- uses: actions/checkout@v6
- uses: actions/dependency-review-action@v4
with:
config-file: './.github/dependency-review-config.yml'
comment-summary-in-pr: always
amazon-ecr-credential-helper-0.12.0/.gitignore 0000664 0000000 0000000 00000000043 15173113553 0021204 0 ustar 00root root 0000000 0000000 /bin/
GITCOMMIT_SHA
*.tar.gz
*.tar
amazon-ecr-credential-helper-0.12.0/CHANGELOG.md 0000664 0000000 0000000 00000011372 15173113553 0021034 0 ustar 00root root 0000000 0000000 # 0.12.0
* Support dual stack ECR public endpoint ([#1055](https://github.com/awslabs/amazon-ecr-credential-helper/pull/1055))
* Migrate MD5 to SHA256 for cache key ([#1064](https://github.com/awslabs/amazon-ecr-credential-helper/pull/1064)).
* Add url redactor ([#1056](https://github.com/awslabs/amazon-ecr-credential-helper/pull/1056)).
* Drop golang 1.24 support.
* Upgrade dependencies.
# 0.11.0
* Add support for AWS EUSC partition ([#1034](https://github.com/awslabs/amazon-ecr-credential-helper/pull/1034)).
* Upgrade dependencies.
# 0.10.1
* Drop golang 1.22 support.
* Upgrade dependencies.
# 0.10.0
* Enhancement - Updated ECR pattern for ECR dual-stack endpoints for IPv6 support. ([#967](https://github.com/awslabs/amazon-ecr-credential-helper/issues/967))
# 0.9.1
* Drop golang 1.21 support.
* Upgrade dependencies.
# 0.9.0
* Enhancement - Added support for environment variable `AWS_ECR_IGNORE_CREDS_STORAGE=true` to ignore ADD and DELETE requests. This makes tools that try to `docker login` work with registries managed the amazon-ecr-credential-helper. ([#102](https://github.com/awslabs/amazon-ecr-credential-helper/issues/102) and [#847](https://github.com/awslabs/amazon-ecr-credential-helper/pull/847))
* Enhancement - Updated ECR pattern for new isolated regions. ([#850](https://github.com/awslabs/amazon-ecr-credential-helper/pull/850))
* Upgraded dependencies.
# 0.8.0
* Enhancement - Updated ECR pattern to match C2S environments. ([#433](https://github.com/awslabs/amazon-ecr-credential-helper/issues/433))
* Feature (Experimental) - Added support for building Windows ARM credential helper binaries. ([#795](https://github.com/awslabs/amazon-ecr-credential-helper/issues/795))
# 0.7.1
**Note: v0.7.1 is functionally equivalent to v0.7.0. We have decided to create a duplicate release to reflect a more accurate changelog, since our v0.7.0 release did not contain
any direct/indirect security patches.**
* Feature - Allow callers to set log output. ([#309](https://github.com/awslabs/amazon-ecr-credential-helper/pull/309) and [#312](https://github.com/awslabs/amazon-ecr-credential-helper/pull/312))
* Upgrade dependencies for bug fixes.
# 0.7.0
* Feature - Allow callers to set log output. ([#309](https://github.com/awslabs/amazon-ecr-credential-helper/pull/309) and [#312](https://github.com/awslabs/amazon-ecr-credential-helper/pull/312))
* Upgrade dependencies for bug fixes and security patches.
# 0.6.0
* Feature - Added support for [AWS SSO](https://aws.amazon.com/single-sign-on/) ([#229](https://github.com/awslabs/amazon-ecr-credential-helper/issues/229))
* Feature - Added support to assume roles via EC2 instance metadata. ([#282](https://github.com/awslabs/amazon-ecr-credential-helper/issues/282))
* Feature - Added support for [Apple Silicon](https://go.dev/doc/go1.16#darwin) ([#291](https://github.com/awslabs/amazon-ecr-credential-helper/pull/291))
* Enhancement - The AWS shared config file (`~/.aws/config`) is now always enabled. (`AWS_SDK_LOAD_CONFIG` environment variable is no longer supported) ([#282](https://github.com/awslabs/amazon-ecr-credential-helper/issues/282))
# 0.5.0
* Feature - Added support for [ECR Public](https://gallery.ecr.aws) ([#253](https://github.com/awslabs/amazon-ecr-credential-helper/pull/253))
* Feature - Added support for [EC2 IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) ([#240](https://github.com/awslabs/amazon-ecr-credential-helper/pull/240))
* Enhancement - The AWS shared config file (`~/.aws/config`) is now enabled by default. This can be disabled by setting the environment variable `AWS_SDK_LOAD_CONFIG` to `false` ([#201](https://github.com/awslabs/amazon-ecr-credential-helper/pull/201))
* Bug - Fixed an issue where output from a `credential_process` was sometimes too big for the default buffer ([#240](https://github.com/awslabs/amazon-ecr-credential-helper/pull/240))
# 0.4.0
* Feature - Added support for chaining assumed roles in the shared config file (`~/.aws/config`) defined by `source_profile` and `credential_source` ([#177](https://github.com/awslabs/amazon-ecr-credential-helper/pull/177))
* Feature - Added support for Web Identities and [IAM Roles for Service Accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) with Kubernetes ([#183](https://github.com/awslabs/amazon-ecr-credential-helper/pull/183))
* Bug - Fixed the `make docker` target when the credential helper git repository is used as a git submodule ([#184](https://github.com/awslabs/amazon-ecr-credential-helper/issues/184))
# 0.3.1
* Bug - Log directory is now automatically created when the helper runs
# 0.3.0
* Feature - Added support for PrivateLink endpoints
# 0.2.0
* Feature - Added support for FIPS endpoints
# 0.1.0
Initial release
amazon-ecr-credential-helper-0.12.0/CODE_OF_CONDUCT.md 0000664 0000000 0000000 00000000467 15173113553 0022025 0 ustar 00root root 0000000 0000000 ## Code of Conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
opensource-codeofconduct@amazon.com with any additional questions or comments.
amazon-ecr-credential-helper-0.12.0/CONTRIBUTING.md 0000664 0000000 0000000 00000007067 15173113553 0021462 0 ustar 00root root 0000000 0000000 # Contributing Guidelines
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
documentation, we greatly value feedback and contributions from our community.
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
information to effectively respond to your bug report or contribution.
## Reporting Bugs/Feature Requests
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
When filing an issue, please check [existing open](https://github.com/awslabs/amazon-ecr-credential-helper/issues), or [recently closed](https://github.com/awslabs/amazon-ecr-credential-helper/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
* A reproducible test case or series of steps
* The version of our code being used
* Any modifications you've made relevant to the bug
* Anything unusual about your environment or deployment
## Contributing via Pull Requests
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
To send us a pull request, please:
1. Fork the repository.
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
3. Ensure local tests pass.
4. Commit to your fork using clear commit messages.
5. Send us a pull request, answering any default questions in the pull request interface.
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/awslabs/amazon-ecr-credential-helper/labels/help%20wanted) issues is a great place to start.
## Code of Conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
opensource-codeofconduct@amazon.com with any additional questions or comments.
## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
## Licensing
See the [LICENSE](https://github.com/awslabs/amazon-ecr-credential-helper/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
amazon-ecr-credential-helper-0.12.0/Dockerfile 0000664 0000000 0000000 00000001377 15173113553 0021221 0 ustar 00root root 0000000 0000000 # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.
FROM public.ecr.aws/docker/library/golang:1.26-alpine
WORKDIR /go/src/github.com/awslabs/amazon-ecr-credential-helper
COPY ./scripts/container_init.sh /setup/container_init.sh
RUN /setup/container_init.sh
amazon-ecr-credential-helper-0.12.0/GITCOMMIT_SHA 0000664 0000000 0000000 00000000010 15173113553 0021160 0 ustar 00root root 0000000 0000000 7ff7d6b
amazon-ecr-credential-helper-0.12.0/LICENSE 0000664 0000000 0000000 00000024462 15173113553 0020234 0 ustar 00root root 0000000 0000000 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
2. You must cause any modified files to carry prominent notices stating that You changed the files; and
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
***
Note: Other license terms may apply to certain, identified software files contained within or distributed with the accompanying software if such terms are included in the directory containing the accompanying software. Such other license terms will then apply in lieu of the terms of the software license above.
amazon-ecr-credential-helper-0.12.0/Makefile 0000664 0000000 0000000 00000010077 15173113553 0020664 0 ustar 00root root 0000000 0000000 # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.
ROOT := $(shell pwd)
all: build
SOURCEDIR=./ecr-login
SOURCES := $(shell find $(SOURCEDIR) -name '*.go')
VERSION := $(shell cat VERSION)
GITFILES := $(shell test -d .git && find ".git/" -type f)
UID:=$(shell id -u)
GID:=$(shell id -g)
BINPATH:=$(abspath ./bin)
BINARY_NAME=docker-credential-ecr-login
LOCAL_BINARY=$(BINPATH)/local/$(BINARY_NAME)
LINUX_AMD64_BINARY=$(BINPATH)/linux-amd64/$(BINARY_NAME)
LINUX_ARM64_BINARY=$(BINPATH)/linux-arm64/$(BINARY_NAME)
DARWIN_AMD64_BINARY=$(BINPATH)/darwin-amd64/$(BINARY_NAME)
DARWIN_ARM64_BINARY=$(BINPATH)/darwin-arm64/$(BINARY_NAME)
WINDOWS_AMD64_BINARY=$(BINPATH)/windows-amd64/$(BINARY_NAME).exe
WINDOWS_ARM64_BINARY=$(BINPATH)/windows-arm64/$(BINARY_NAME).exe
.PHONY: docker
docker: build-in-docker
%-in-docker: GITCOMMIT_SHA
docker run --rm \
--user $(UID):$(GID) \
--env TARGET_GOOS=$(TARGET_GOOS) \
--env TARGET_GOARCH=$(TARGET_GOARCH) \
--volume $(ROOT):/go/src/github.com/awslabs/amazon-ecr-credential-helper \
$(shell docker build -q .) \
make $(subst -in-docker,,$@)
.PHONY: build
build: $(LOCAL_BINARY)
$(LOCAL_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_binary.sh $(BINPATH)/local $(VERSION) $(shell cat GITCOMMIT_SHA)
@echo "Built ecr-login"
.PHONY: test
test:
cd $(SOURCEDIR) && go test -v -timeout 30s -short -cover ./...
.PHONY: all-variants
all-variants: linux-amd64 linux-arm64 darwin-amd64 darwin-arm64 windows-amd64 windows-arm64
.PHONY: linux-amd64
linux-amd64: $(LINUX_AMD64_BINARY)
$(LINUX_AMD64_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_variant.sh linux amd64 $(VERSION) $(shell cat GITCOMMIT_SHA)
.PHONY: linux-arm64
linux-arm64: $(LINUX_ARM64_BINARY)
$(LINUX_ARM64_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_variant.sh linux arm64 $(VERSION) $(shell cat GITCOMMIT_SHA)
.PHONY: darwin-amd64
darwin-amd64: $(DARWIN_AMD64_BINARY)
$(DARWIN_AMD64_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_variant.sh darwin amd64 $(VERSION) $(shell cat GITCOMMIT_SHA)
.PHONY: darwin-arm64
darwin-arm64: $(DARWIN_ARM64_BINARY)
$(DARWIN_ARM64_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_variant.sh darwin arm64 $(VERSION) $(shell cat GITCOMMIT_SHA)
.PHONY: windows-amd64
windows-amd64: $(WINDOWS_AMD64_BINARY)
$(WINDOWS_AMD64_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_variant.sh windows amd64 $(VERSION) $(shell cat GITCOMMIT_SHA)
@mv $(BINPATH)/windows-amd64/$(BINARY_NAME) $(WINDOWS_AMD64_BINARY)
.PHONY: windows-arm64
windows-arm64: $(WINDOWS_ARM64_BINARY)
$(WINDOWS_ARM64_BINARY): $(SOURCES) GITCOMMIT_SHA
./scripts/build_variant.sh windows arm64 $(VERSION) $(shell cat GITCOMMIT_SHA)
@mv $(BINPATH)/windows-arm64/$(BINARY_NAME) $(WINDOWS_ARM64_BINARY)
GITCOMMIT_SHA: $(GITFILES)
git rev-parse --short=7 HEAD > GITCOMMIT_SHA
release.tar: GITCOMMIT_SHA
git archive -o release.tar HEAD
tar -f release.tar --append GITCOMMIT_SHA --owner 0 --group 0
.PHONY: release-tarball
release-tarball: release.tar.gz
release.tar.gz: release.tar
gzip release.tar
.PHONY: release-tarball-no-vendor
release-tarball-no-vendor: release-novendor.tar.gz
release-novendor.tar.gz: release.tar
mv release.tar release-novendor.tar
tar -f release-novendor.tar --wildcards --delete 'ecr-login/vendor/*'
gzip release-novendor.tar
.PHONY: gogenerate
gogenerate:
./scripts/gogenerate
.PHONY: get-deps
get-deps:
go install golang.org/x/tools/cmd/goimports@698251aaa532d49ac69d2c416b0241afb2f65ea5
.PHONY: licenses
licenses:
./scripts/build_third_party_licenses.sh
.PHONY: clean
clean:
- rm -rf ./bin
- rm -f GITCOMMIT_SHA
- rm -f release.tar.gz
- rm -f release-novendor.tar.gz
amazon-ecr-credential-helper-0.12.0/NOTICE 0000664 0000000 0000000 00000000141 15173113553 0020117 0 ustar 00root root 0000000 0000000 Amazon ECR Credential Helper
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
amazon-ecr-credential-helper-0.12.0/README.md 0000664 0000000 0000000 00000040503 15173113553 0020500 0 ustar 00root root 0000000 0000000 # Amazon ECR Docker Credential Helper

[](https://github.com/awslabs/amazon-ecr-credential-helper/actions/workflows/build.yaml)
[](https://goreportcard.com/report/github.com/awslabs/amazon-ecr-credential-helper)
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
The Amazon ECR Docker Credential Helper is a
[credential helper](https://github.com/docker/docker-credential-helpers)
for the Docker daemon that makes it easier to use
[Amazon Elastic Container Registry](https://aws.amazon.com/ecr/).
## Table of Contents
* [Prerequisites](#prerequisites)
* [Installing](#installing)
+ [Amazon Linux 2023 (AL2023)](#amazon-linux-2023-al2023)
+ [Amazon Linux 2 (AL2)](#amazon-linux-2-al2)
+ [Mac OS](#mac-os)
+ [Debian Buster (and future versions)](#debian-buster-and-future-versions)
+ [Ubuntu 19.04 Disco Dingo and newer](#ubuntu-1904-disco-dingo-and-newer)
+ [Arch Linux](#arch-linux)
+ [Alpine Linux](#alpine-linux)
+ [Windows](#windows)
+ [From mise software package manager](#from-mise-software-package-manager)
+ [From Source](#from-source)
* [Configuration](#configuration)
+ [Docker](#docker)
+ [AWS credentials](#aws-credentials)
+ [Amazon ECR Docker Credential Helper](#amazon-ecr-docker-credential-helper-1)
* [Usage](#usage)
* [Troubleshooting](#troubleshooting)
* [Experimental features](#experimental-features)
* [Security disclosures](#security-disclosures)
* [License](#license)
## Prerequisites
You must have at least Docker 1.11 installed on your system.
You also must have AWS credentials available. See the [AWS credentials section](#aws-credentials) for details on how to
use different AWS credentials.
## Installing
### Amazon Linux 2023 (AL2023)
You can install the Amazon ECR Credential Helper from the Amazon Linux 2023 repositories.
```bash
sudo dnf install -y amazon-ecr-credential-helper
```
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Amazon Linux 2 (AL2)
You can install the Amazon ECR Credential Helper from the [`docker` or `ecs`
extras](https://docs.aws.amazon.com/linux/al2/ug/al2-extras.html).
```bash
sudo amazon-linux-extras enable docker
sudo yum install amazon-ecr-credential-helper
```
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Mac OS
A community-maintained Homebrew formula is available in the core tap.
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
```bash
brew install docker-credential-helper-ecr
```
On macOS, another community-maintained installation method is to use MacPorts.
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
```bash
sudo port install docker-credential-helper-ecr
```
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Debian Buster (and future versions)
You can install the Amazon ECR Credential Helper from the Debian Buster
archives. This package will also be included in future releases of Debian.
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
[](https://repology.org/metapackage/amazon-ecr-credential-helper/versions)
```bash
sudo apt update
sudo apt install amazon-ecr-credential-helper
```
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Ubuntu 19.04 Disco Dingo and newer
You can install the Amazon ECR Credential Helper from the Ubuntu 19.04 Disco
Dingo (and newer) archives.
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
```bash
sudo apt update
sudo apt install amazon-ecr-credential-helper
```
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Arch Linux
A community-maintained package is available in the Arch User Repository.
[](https://repology.org/metapackage/amazon-ecr-credential-helper/versions)
```bash
git clone https://aur.archlinux.org/amazon-ecr-credential-helper.git
cd amazon-ecr-credential-helper
makepkg -si
```
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Alpine Linux
A community-maintained package is available in the [Alpine Linux aports Repository](https://pkgs.alpinelinux.org/packages?name=docker-credential-ecr-login).
[](https://repology.org/project/amazon-ecr-credential-helper/versions)
```bash
apk add docker-credential-ecr-login
```
> [!NOTE]
> Badge only shows edge, check [repository](https://pkgs.alpinelinux.org/packages?name=docker-credential-ecr-login) for stable releases or add `--repository=http://dl-cdn.alpinelinux.org/alpine/edge/community`
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
### Windows
Windows executables are available via [GitHub releases](https://github.com/awslabs/amazon-ecr-credential-helper/releases).
> [!NOTE]
> Windows ARM support is considered [experimental](#experimental-features).
>
> See https://github.com/awslabs/amazon-ecr-credential-helper/issues/795
### From mise software package manager
To install from [mise](https://github.com/jdx/mise) polyglot package tool manager, you can directly install using a command like this one specifying the version you want to install:
```shell
mise use -g amazon-ecr-credential-helper@latest
```
### From Source
To build and install the Amazon ECR Docker Credential Helper, we suggest Go
1.19 or later, `git` and `make` installed on your system.
If you just installed Go, make sure you also have added it to your PATH or
Environment Vars (Windows). For example:
```
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
```
Or in Windows:
```
setx GOPATH %USERPROFILE%\go
;%USERPROFILE%\go\bin
```
If you haven't defined the PATH, the command below will fail silently, and
running `docker-credential-ecr-login` will output: `command not found`
You can install this via the `go` command line tool.
To install run:
```
go install github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login@latest
```
> [!WARNING]
> Disclaimer: the [Dockerfile](./Dockerfile) in this repository is used to test cross-compilation of the
> Amazon ECR credential helper binaries in GitHub Actions CI and as a developer utility for building locally from source.
> It is a reference implementation and not security hardened for building and running production containers.
If you already have Docker environment, just clone this repository anywhere
and run `make build-in-docker`. This command builds the binary with Go inside the Docker
container and output it to local directory.
With `TARGET_GOOS` environment variable, you can also cross compile the binary.
Once you have installed the credential helper, see the
[Configuration section](#configuration) for instructions on how to configure
Docker to work with the helper.
## Configuration
### Docker
There is no need to use `docker login` or `docker logout`.
Place the `docker-credential-ecr-login` binary on your `PATH`.
On Windows, depending on whether the executable is ran in the User or System context, the corresponding `Path` user or system variable needs to be used.
Following that the configuration for the docker client needs to be updated in `~/.docker/config.json` to use the **ecr-login** helper.
Depending on the operating system and context under which docker client will be executed, this configuration can be found in different places.
On Linux systems:
- `/home//.docker/config.json` for **user** context
- `/root/.docker/config.json` for **root** context
On Windows:
- `C:\Users\\.docker\config.json` for **user** context
- `C:\Windows\System32\config\systemprofile\.docker\config.json` for the **SYSTEM** context
Set the contents of the file to the following:
```json
{
"credsStore": "ecr-login"
}
```
This configures the Docker daemon to use the credential helper for all Amazon
ECR registries.
With Docker 1.13.0 or greater, you can configure Docker to use different
credential helpers for different ECR registries. To use this credential helper for
a specific ECR registry, create a `credHelpers` section with the URI of your
ECR registry:
```json
{
"credHelpers": {
"public.ecr.aws": "ecr-login",
".dkr.ecr..amazonaws.com": "ecr-login"
}
}
```
This is useful if you use `docker` to operate on registries that use different
authentication credentials.
If you need to authenticate with multiple registries, including non-ECR registries, you can combine credHelpers with auths. For example:
```json
{
"credHelpers": {
".dkr.ecr..amazonaws.com": "ecr-login"
},
"auths": {
"ghcr.io": {
"auth": [GITHUB_PERSONAL_ACCESS_TOKEN]
},
"https://index.docker.io/v1/": {
"auth": [docker.io-auth-token]
},
"registry.gitlab.com": {
"auth": [gitlab-auth-token]
}
}
}
```
### AWS credentials
The Amazon ECR Docker Credential Helper allows you to use AWS credentials stored in different locations. Standard ones
include:
* The shared credentials file (`~/.aws/credentials`)
* The `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables
* An [IAM role for an Amazon ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)
* An [IAM role for Amazon EC2](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
To use credentials associated with a different named profile in the shared credentials file (`~/.aws/credentials`), you
may set the `AWS_PROFILE` environment variable.
The Amazon ECR Docker Credential Helper reads and supports some configuration options specified in the AWS
shared configuration file (`~/.aws/config`). To disable these options, you must set the `AWS_SDK_LOAD_CONFIG` environment
variable to `false`. The supported options include:
* Assumed roles specified with `role_arn` and `source_profile`
* External credential processes specified with `credential_process`
* Web Identities like [IAM Roles for Service Accounts in
Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) (*Note: Kubernetes
users using containers with a non-root user may encounter permission issues described in [this
bug](https://github.com/kubernetes-sigs/external-dns/pull/1185) and may need to employ a workaround adjusting the
Kubernetes `securityContext`.*)
The Amazon ECR Docker Credential Helper uses the same credentials as the AWS
CLI and the AWS SDKs. For more information about configuring AWS credentials,
see
[Configuration and Credential Files](http://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
in the *AWS Command Line Interface User Guide*.
The credentials must have a policy applied that
[allows access to Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam-awsmanpol.html).
### Amazon ECR Docker Credential Helper
| Environment Variable | Sample Value | Description |
| ---------------------------- | ------------- | ------------------------------------------------------------------ |
| AWS_ECR_DISABLE_CACHE | true | Disables the local file auth cache if set to a non-empty value. When disabled, the credential helper will not store or read cached ECR authorization tokens from the local filesystem, requiring fresh credentials to be fetched from AWS for each Docker operation. This may be useful in environments where persisting credentials to disk is not desired, though it will result in additional API calls to ECR. |
| AWS_ECR_CACHE_DIR | ~/.ecr | Specifies the local file auth cache directory location |
| AWS_ECR_IGNORE_CREDS_STORAGE | true | Ignore calls to docker login or logout and pretend they succeeded |
## Usage
`docker pull 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repository:my-tag`
`docker push 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repository:my-tag`
`docker pull public.ecr.aws/amazonlinux/amazonlinux:latest`
If you have configured additional profiles for use with the AWS CLI, you can use
those profiles by specifying the `AWS_PROFILE` environment variable when invoking `docker`.
For example:
`AWS_PROFILE=myprofile docker pull 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repository:my-tag`
There is no need to use `docker login` or `docker logout`.
## Troubleshooting
If you have previously authenticated with an ECR repository by using the `docker login` command manually
then Docker may have stored an auth token which has since expired.
Docker will continue to attempt to use that cached auth token
instead of utilizing the credential helper. You must explicitly remove the previously cached expired
token using `docker logout 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repository`. After that
Docker will start utilizing the ECR credential helper to fetch fresh credentials, and you will no longer
need to use `docker login` or `docker logout`.
Logs from the Amazon ECR Docker Credential Helper are stored in `~/.ecr/log`.
For more information about Amazon ECR, see the the
[Amazon Elastic Container Registry User Guide](http://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html).
## Experimental features
Features marked as experimental are optionally made available to users to test and provide feedback.
If you test any experimental feaures, you can give feedback via the feature's tracking issue regarding:
* Your experience with the feature
* Issues or problems
* Suggested improvements
Experimental features are incomplete in design and implementation. Backwards incompatible
changes may be introduced at any time or support dropped entirely. Therefore experimental
features are **not recommended** for use in production environments.
## Security disclosures
If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).
## License
The Amazon ECR Docker Credential Helper is licensed under the Apache 2.0
License.
amazon-ecr-credential-helper-0.12.0/THIRD-PARTY-LICENSES 0000664 0000000 0000000 00000070533 15173113553 0022124 0 ustar 00root root 0000000 0000000 ** github.com/aws/aws-sdk-go-v2; version v1.30.5 - https://github.com/aws/aws-sdk-go-v2/blob/v1.30.5/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/config; version v1.27.33 - https://github.com/aws/aws-sdk-go-v2/blob/config/v1.27.33/config/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/credentials; version v1.17.32 - https://github.com/aws/aws-sdk-go-v2/blob/credentials/v1.17.32/credentials/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/feature/ec2/imds; version v1.16.13 - https://github.com/aws/aws-sdk-go-v2/blob/feature/ec2/imds/v1.16.13/feature/ec2/imds/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/internal/configsources; version v1.3.17 - https://github.com/aws/aws-sdk-go-v2/blob/internal/configsources/v1.3.17/internal/configsources/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/internal/endpoints/v2; version v2.6.17 - https://github.com/aws/aws-sdk-go-v2/blob/internal/endpoints/v2.6.17/internal/endpoints/v2/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/internal/ini; version v1.8.1 - https://github.com/aws/aws-sdk-go-v2/blob/internal/ini/v1.8.1/internal/ini/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/ecr; version v1.32.4 - https://github.com/aws/aws-sdk-go-v2/blob/service/ecr/v1.32.4/service/ecr/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/ecrpublic; version v1.25.6 - https://github.com/aws/aws-sdk-go-v2/blob/service/ecrpublic/v1.25.6/service/ecrpublic/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding; version v1.11.4 - https://github.com/aws/aws-sdk-go-v2/blob/service/internal/accept-encoding/v1.11.4/service/internal/accept-encoding/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/internal/presigned-url; version v1.11.19 - https://github.com/aws/aws-sdk-go-v2/blob/service/internal/presigned-url/v1.11.19/service/internal/presigned-url/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/sso; version v1.22.7 - https://github.com/aws/aws-sdk-go-v2/blob/service/sso/v1.22.7/service/sso/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/ssooidc; version v1.26.7 - https://github.com/aws/aws-sdk-go-v2/blob/service/ssooidc/v1.26.7/service/ssooidc/LICENSE.txt
** github.com/aws/aws-sdk-go-v2/service/sts; version v1.30.7 - https://github.com/aws/aws-sdk-go-v2/blob/service/sts/v1.30.7/service/sts/LICENSE.txt
** github.com/aws/smithy-go; version v1.20.4 - https://github.com/aws/smithy-go/blob/v1.20.4/LICENSE
** github.com/jmespath/go-jmespath; version v0.4.0 - https://github.com/jmespath/go-jmespath/blob/v0.4.0/LICENSE
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--------------------------------------------------------------------------------
** github.com/aws/aws-sdk-go-v2/internal/sync/singleflight; version v1.30.5 - https://github.com/aws/aws-sdk-go-v2/blob/v1.30.5/internal/sync/singleflight/LICENSE
Copyright (c) 2009 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
** github.com/aws/smithy-go/internal/sync/singleflight; version v1.20.4 - https://github.com/aws/smithy-go/blob/v1.20.4/internal/sync/singleflight/LICENSE
Copyright (c) 2009 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
** github.com/davecgh/go-spew/spew; version v1.1.1 - https://github.com/davecgh/go-spew/blob/v1.1.1/LICENSE
ISC License
Copyright (c) 2012-2016 Dave Collins
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--------------------------------------------------------------------------------
** github.com/docker/docker-credential-helpers/credentials; version v0.8.2 - https://github.com/docker/docker-credential-helpers/blob/v0.8.2/LICENSE
Copyright (c) 2016 David Calavera
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
** github.com/mitchellh/go-homedir; version v1.1.0 - https://github.com/mitchellh/go-homedir/blob/v1.1.0/LICENSE
The MIT License (MIT)
Copyright (c) 2013 Mitchell Hashimoto
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
--------------------------------------------------------------------------------
** github.com/pmezard/go-difflib/difflib; version v1.0.0 - https://github.com/pmezard/go-difflib/blob/v1.0.0/LICENSE
Copyright (c) 2013, Patrick Mezard
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
** github.com/sirupsen/logrus; version v1.9.3 - https://github.com/sirupsen/logrus/blob/v1.9.3/LICENSE
The MIT License (MIT)
Copyright (c) 2014 Simon Eskildsen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
--------------------------------------------------------------------------------
** github.com/stretchr/testify/assert; version v1.9.0 - https://github.com/stretchr/testify/blob/v1.9.0/LICENSE
MIT License
Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
--------------------------------------------------------------------------------
** golang.org/x/sys/unix; version v0.15.0 - https://cs.opensource.google/go/x/sys/+/v0.15.0:LICENSE
Copyright (c) 2009 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
** gopkg.in/yaml.v3; version v3.0.1 - https://github.com/go-yaml/yaml/blob/v3.0.1/LICENSE
This project is covered by two different licenses: MIT and Apache.
#### MIT License ####
The following files were ported to Go from C files of libyaml, and thus
are still covered by their original MIT license, with the additional
copyright staring in 2011 when the project was ported over:
apic.go emitterc.go parserc.go readerc.go scannerc.go
writerc.go yamlh.go yamlprivateh.go
Copyright (c) 2006-2010 Kirill Simonov
Copyright (c) 2006-2011 Kirill Simonov
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
### Apache License ###
All the remaining project files are covered by the Apache license:
Copyright (c) 2011-2019 Canonical Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
amazon-ecr-credential-helper-0.12.0/VERSION 0000664 0000000 0000000 00000000007 15173113553 0020264 0 ustar 00root root 0000000 0000000 0.12.0
amazon-ecr-credential-helper-0.12.0/docs/ 0000775 0000000 0000000 00000000000 15173113553 0020147 5 ustar 00root root 0000000 0000000 amazon-ecr-credential-helper-0.12.0/docs/docker-credential-ecr-login.1 0000664 0000000 0000000 00000007555 15173113553 0025501 0 ustar 00root root 0000000 0000000 .\" Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
.\"
.\" Licensed under the Apache License, Version 2.0 (the
.\" "License"). You may not use this file except in compliance
.\" with the License. A copy of the License is located at
.\"
.\" http://aws.amazon.com/apache2.0/
.\"
.\" or in the "license" file accompanying this file. This file is
.\" distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
.\" CONDITIONS OF ANY KIND, either express or implied. See the
.\" License for the specific language governing permissions and
.\" limitations under the License.
.TH DOCKER-CREDENTIAL-ECR-LOGIN 1 2018-10-29 AMAZON-WEB-SERVICES AMAZON-ECR
.SH NAME
docker\-credential\-ecr\-login \- Amazon ECR Credential Helper for Docker
.SH SYNOPSIS
.B docker\-credential\-ecr\-login
COMMAND
.B docker\-credential\-ecr\-login
-v
.SH DESCRIPTION
The Amazon ECR Credential Helper for Docker is a credential helper for the
.BR docker (1)
command that makes it easier to store and retrieve container images with Amazon
Elastic Container Registry.
.SH USAGE
Place the
.B docker\-credential\-ecr\-login
binary on your
.IR PATH
and set the contents of your
.IR ~/.docker/config.json
to be
.nf
{
"credsStore":"ecr-login"
}
.fi
With Docker 1.13.0 or greater, you can configure Docker to use different
credential helpers for different registries. To use this credential helper for
a specific ECR registry, create a
.IR credsHelper
section with the URI of your ECR registry:
.nf
{
"credHelpers": {
"public.ecr.aws": "ecr-login",
"aws_account_id.dkr.ecr.region.amazonaws.com": "ecr-login"
}
}
.fi
Once installed, you may use \fIdocker pull\fP and \fIdocker push\fP with ECR
repositories, without running \fIdocker login\fP.
.SH AWS CREDENTIALS
The credential helper reads AWS credentials from standard locations, including
environment variables, the shared credentials file (\fI~/.aws/credentials\fP),
EC2 instance profiles, and ECS task roles.
To use credentials associated with a different named profile in the shared
credentials file, you may set the \fIAWS_PROFILE\fP environment variable.
The credential helper reads and supports some configuration
options specified in the shared configuration file (\fI~/.aws/config\fP). To
disable these options, you must set the \fIAWS_SDK_LOAD_CONFIG\fP environment
variable to \fIfalse\fP. The supported options include:
.IP \[bu] 2
Assumed roles specified with \fIrole_arn\fP and \fIsource_profile\fP
.IP \[bu]
External credential processes specified with \fIcredential_process\fP
.IP \[bu]
Web Identities like IAM roles for Service Accounts in Kubernetes
.RE
The credentials must have a policy applied that allows access to Amazon ECR.
See http://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html
for more information.
.SH OPTIONS
.TP 16
.BR -v
Print the version and git commit used to build docker\-credential\-ecr\-login
.SH COMMANDS
.TP 16
.BR get
Retrieve credentials for a specific Amazon ECR registry. The registry should be
passed to the credential helper via
.BR stdin (3)
and results will be printed to
.BR stdout (3)
.TP 16
.BR list
Retrieve the names of each registry currently known to the helper. The helper
will cache the names of all requested registries and return them here.
.TP 16
.BR version
Return the version of the credential helper protocol implemented by this helper
.TP 16
.BR store
This command is not implemented and is a no-op.
.TP 16
.BR erase
This command is not implemented and is a no-op.
.SH BUGS
Kubernetes users using the credential helper inside containers with a non-root
user may encounter permission issues described here:
https://github.com/kubernetes-sigs/external-dns/pull/1185. You may be able to
work around this bug by adjusting the Kubernetes \fIsecurityContext\fP.
.SH COPYRIGHT
Copyright Amazon.com, Inc. or its affiliates. All rights reserved.
.SH LICENSE
Licensed under the Apache License, version 2.0.
amazon-ecr-credential-helper-0.12.0/docs/ecr.png 0000664 0000000 0000000 00000021132 15173113553 0021425 0 ustar 00root root 0000000 0000000 ‰PNG
IHDR ô · äm¬ü bKGD ÿ ÿ ÿ ½§“ pHYs .# .#x¥?v tIMEâôI IDATxÚíÝy|Üôÿñ—œ;ÜPŽRŽB"'@©Šs‘rÉ-š^ðK»´}´ÜG¸iº-[ØÒîB¡Ð–”B¡ËQº”…¿bq5$ƒ€…ØÂ”†û,ØNFû‡4¶F#i4>Æ“øý|<æáÍŒ4£‘õÑç{‚ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆH}ð;Ú6ð;ÚÂûÚ!""«¡í‚1À—ìü}nŽáwØ—Oý޶Fk»‚ºˆˆºÔw ßx¯Ñ_²Ç?±üƒ÷€£Àߘ,ò;Ú~lÉÞµãDDV†vÁ æOìŠ1íQü%»í\FëÀÏo„wû¿\b´¶ŸQêFk»v¢ˆˆ2t ¾KôÑ&þ»^ þC@k¸Œþ¿~ÉãM€Ÿøm¯úm3€ñÊÖED”¡ËhóÇgbL_öY?Žc㔌¼ü¯Q²ì/À‘FkûÚ³""
èR“@>
cúøÏì†ÁÁØ`àçŽo#+¨—-?ø¹ÑÚþ¾ö´ˆH}Q‘ûšÌŸ˜óé;CáÿƒßŽïo€ï§û@¡ô¯_ˆ<»ùám`Ùgü޶Sû·©bxt† ¾xç«üuýǧ^~ø{–Õ‘û‘ÇÑ¿å»<°¼g+à,¿£ÓïhÛ±˜º+°‹ˆŒ.¹¯ÖÁܘáûé`lV±Ž¼¤˜=WQ{Öówß7ZÛ»Ô^DDºTÈíÜ)üÅÖNþâÏýüŸ¿YþŒœ¼yùß’ñ|èô;Ú~LèÿŒÊØED”¡K® ¾çûW—‘'dæÕeä¥ë(}®ø…ÑÚ¾@¿ˆˆºÄƒ÷cÛcìò|xÇu0ŒÓ&hc0™AÃg^4tûžÑÚî«(^DD]Á|áö³ŠÁ|‡€ù`l=¼yüý¹3ò„Àß¿ ÜÌ7ZÛ—)¨‹ˆ( í€þ×í
v îÅ`ËŒ :„Œ3òØûJ–-æ o§jUQ¼ˆˆúšÌœBÞK‹ýPNÃ`»’©?&å¿\Ip¯zœöa¸(H{æº §íoéQ@_½yûdÚ:)´›Ð0îS@;-•ca¥ ž#ë®IÐÏõÞÃkŒÖöU:"DDOu裹óÛ:)8“·„†«ðý¿ãû-¤Œéâ—TMëª)¿eÖeS¾ÂÔÁe²êæ©