Skip to content

PAT-1571: Remove ECR fallback#802

Draft
romantmb wants to merge 1 commit intomainfrom
roman-pat-1571-replicated-registries-cleanup
Draft

PAT-1571: Remove ECR fallback#802
romantmb wants to merge 1 commit intomainfrom
roman-pat-1571-replicated-registries-cleanup

Conversation

@romantmb
Copy link
Copy Markdown
Contributor

@romantmb romantmb commented May 6, 2026

https://linear.app/keboola/issue/PAT-1571/3-docker-bundle-remove-definitionname-fallback-and-transformimageurl

Description

Removes the definition.name fallback path that was added during the replicated-registry rollout. When the replicated registry was enabled and a component was missing definition.name, ReplicatedRegistryImage::getImageId() previously logged a warning and rewrote the original ECR image id via ReplicatedRegistry::transformImageUrl(). All components now have definition.name set, so the fallback (and the URI-rewrite path that backed it) is deleted; missing definition.name now hard-fails with an ApplicationException.

Counterpart to https://github.com/keboola/job-queue-daemon/pull/861 — same strict-mode cleanup, adapted to docker-bundle's exception conventions.

Changes:

  • ReplicatedRegistryImage::getImageId() — drop the imageName === null warning branch, throw ApplicationException instead.
  • ReplicatedRegistry — delete transformImageUrl() method and ECR_REGISTRY_URL constant.
  • Tests — drop testTransformImageUrl() + provider and testTransformImageUrlWhenDisabledThrowsException() + provider; replace testGetImageIdFallsBackToUriTransformationWhenDefinitionNameMissing() with testGetImageIdThrowsWhenDefinitionNameMissing() covering the new throw.

Release Notes

Plans for Customer Communication

None.

Impact Analysis

  • Stacks with replicated registry enabled (GCP, Azure): if any component lacks definition.name, image resolution will now fail with ApplicationException instead of silently rewriting the ECR URI. Audit beforehand confirms all components have definition.name.
  • Stacks with replicated registry disabled (AWS): unchanged — ReplicatedRegistryImage is not constructed at all on these stacks.

job-runner will be bumped in a follow-up PR (composer update keboola/dockerbundle --with-dependencies) once this lands.

Justification

The fallback was a temporary safety net during the replicated-registry rollout. Now that rollout is complete and every component has definition.name, the silent URI rewrite obscures real misconfiguration; failing loudly is preferred.

Deployment Plan

Merge & Deploy.

Rollback Plan

Revert this PR.

Post-Release Support Plan

Watch image-pull error rates on GCP/Azure stacks for ApplicationException: Component "…" is missing definition.name…. If a genuine component surfaces missing definition.name, fix the component definition rather than reverting this PR.

@linear
Copy link
Copy Markdown

linear Bot commented May 6, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant