You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Publishing a container image from a release tag does not work. The publish-docker job in ci.yml fails at "Login to Docker Hub" with Username and password required — the repository has no DOCKERHUB_USERNAME/DOCKERHUB_TOKEN secrets. It failed on 0.2.5, the first tag the repo has ever had, so it has never worked.
Meanwhile the actual deployments pull from a private Harbor registry:
So there are two problems, and the second is the important one: there is no automated path from a tag to a deployable image, and a release job that always fails is a release job nobody reads.
Why this matters more than a normal CI gap
This service is a drop-in replacement for the Google Static Maps and Geocoding APIs — same query surface, same lat,lng ordering, same markers/path/size/scale descriptors — with a set of advantages that only materialise if people can actually run it:
No per-request cost. Google bills per static map and per geocode; this bills nothing, because the tiles and the geocoding index are yours.
No 640×480 cap. Google's free static-map size limit does not exist here: maps render at whatever resolution you ask for, up to the configured maximum, which is what makes them usable in print-quality reports.
An infinite right to use. OpenStreetMap data under ODbL, attributed in the rendered image. No terms that can be repriced or withdrawn.
Your data stays yours. Geocoding a customer's site addresses no longer sends them to a third party.
Self-hostable end to end — tiles, geocoding and rendering all run in your own infrastructure, with no outbound dependency at request time.
A public image is how someone evaluates all of that in ten minutes rather than a day. Today they must clone and build.
Decisions needed
Which registry is canonical for releases? Docker Hub (public, matches the open-source positioning and the README's panoramicdata/maps reference) or Harbor (private, what the clusters actually pull)? Publishing to both is legitimate — public for adopters, private for our own deployment — but it should be a decision rather than an accident.
Where do the credentials live? A Docker Hub access token with push scope for this repository, stored as repository secrets. Harbor equally needs a robot account if CI is to push there.
Acceptance
A pushed tag produces a pulled-and-runnable image, with the tag version and latest, on whichever registry is chosen.
If both registries are in scope, both are published and the workflow fails loudly when either cannot be.
docker run instructions in the README are accurate against the published image, including the tiles/geocoder configuration it needs to be useful (see the Helm chart issue for the full stack).
Summary
Publishing a container image from a release tag does not work. The
publish-dockerjob inci.ymlfails at "Login to Docker Hub" withUsername and password required— the repository has noDOCKERHUB_USERNAME/DOCKERHUB_TOKENsecrets. It failed on0.2.5, the first tag the repo has ever had, so it has never worked.Meanwhile the actual deployments pull from a private Harbor registry:
pdl-harbor-prod.panoramicdata.com/library/maps:0.2.0pdl-harbor-test.panoramicdata.com/library/maps:0.2.0So there are two problems, and the second is the important one: there is no automated path from a tag to a deployable image, and a release job that always fails is a release job nobody reads.
Why this matters more than a normal CI gap
This service is a drop-in replacement for the Google Static Maps and Geocoding APIs — same query surface, same
lat,lngordering, samemarkers/path/size/scaledescriptors — with a set of advantages that only materialise if people can actually run it:A public image is how someone evaluates all of that in ten minutes rather than a day. Today they must clone and build.
Decisions needed
panoramicdata/mapsreference) or Harbor (private, what the clusters actually pull)? Publishing to both is legitimate — public for adopters, private for our own deployment — but it should be a decision rather than an accident.Acceptance
latest, on whichever registry is chosen.docker runinstructions in the README are accurate against the published image, including the tiles/geocoder configuration it needs to be useful (see the Helm chart issue for the full stack)./health, so what is deployed can be confirmed rather than assumed (already true since /health should report the running service version #11).Related