Compare commits

...

5 Commits

Author SHA1 Message Date
CrazyMax
0567fa5ae8 Merge pull request #914 from dphi/add-support-for-amazonaws.eu
feat: add support for AWS European Sovereign Cloud ECR
2026-01-13 17:56:04 +01:00
Philipp Dreimann
f6ef577545 feat: add support for AWS European Sovereign Cloud ECR registries
- Update ECR registry regex to match `.amazonaws.eu` domain suffix
- Add test cases for `eusc-de-east-1.amazonaws.eu` region format

Fixes: #908

Signed-off-by: Philipp Dreimann <pdreiman@amazon.de>
Tested-by: Lukas Valentin Buchmeier-Probst <lvbp@amazon.de>
2026-01-13 16:53:08 +01:00
CrazyMax
916386b000 Merge pull request #911 from crazy-max/ensure-redact
ensure passwords are redacted with registry-auth
2026-01-07 09:35:51 +01:00
CrazyMax
5b3f94a294 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-06 11:21:53 +01:00
CrazyMax
f9cc43b63d ensure passwords are redacted with registry-auth
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-06 11:20:01 +01:00
5 changed files with 10 additions and 3 deletions

View File

@@ -11,6 +11,7 @@ describe('isECR', () => {
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', true],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', true],
['012345678901.dkr-ecr.eu-north-1.on.aws', true],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', true],
['public.ecr.aws', true],
['ecr-public.aws.com', true]
])('given registry %p', async (registry, expected) => {
@@ -26,6 +27,7 @@ describe('isPubECR', () => {
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', false],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', false],
['012345678901.dkr-ecr.eu-north-1.on.aws', false],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', false],
['public.ecr.aws', true],
['ecr-public.aws.com', true]
])('given registry %p', async (registry, expected) => {
@@ -39,6 +41,7 @@ describe('getRegion', () => {
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', 'cn-north-1'],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', 'cn-northwest-1'],
['012345678901.dkr-ecr.eu-north-1.on.aws', 'eu-north-1'],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', 'eusc-de-east-1'],
['public.ecr.aws', 'us-east-1']
])('given registry %p', async (registry, expected) => {
expect(aws.getRegion(registry)).toEqual(expected);
@@ -52,6 +55,7 @@ describe('getAccountIDs', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', '012345678901,012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', '012345678910,023456789012', ['390948362332', '012345678910', '023456789012']],
['876820548815.dkr-ecr.eu-north-1.on.aws', '012345678910,023456789012', ['876820548815', '012345678910', '023456789012']],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', '012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['public.ecr.aws', undefined, []]
])('given registry %p', async (registry, accountIDsEnv, expected) => {
if (accountIDsEnv) {

2
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -5,7 +5,7 @@ import {NodeHttpHandler} from '@smithy/node-http-handler';
import {HttpProxyAgent} from 'http-proxy-agent';
import {HttpsProxyAgent} from 'https-proxy-agent';
const ecrRegistryRegex = /^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.com(.cn)?))(\/([^:]+)(:.+)?)?$/;
const ecrRegistryRegex = /^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.(com(.cn)?|eu)))(\/([^:]+)(:.+)?)?$/;
const ecrPublicRegistryRegex = /public\.ecr\.aws|ecr-public\.aws\.com/;
export const isECR = (registry: string): boolean => {

View File

@@ -39,6 +39,9 @@ export async function main(): Promise<void> {
} else {
registries.push(auth.registry);
}
if (auth.password) {
core.setSecret(auth.password);
}
}
stateHelper.setRegistries(registries.filter((value, index, self) => self.indexOf(value) === index));