Hello Google Cloud Community,
I’m investigating whether original runtime artifacts for Firebase Cloud Functions (2nd gen) can be recovered after their container images become unavailable through Artifact Registry. I’d appreciate guidance on supported recovery guarantees and read-only verification methods.
What I’ve verified
-
Source archives for seven functions have been recovered and checksum-verified.
-
Original function revisions and three successful Cloud Build records were previously accessible.
-
Two digest-addressed images in the Firebase-managed
gcf-artifactsrepository return HTTP 404 withNOT_FOUND/MANIFEST_UNKNOWN. -
Some historical Cloud Build log queries return HTTP 429, while Artifact Analysis queries return HTTP 403. These responses do not prove the underlying records are absent.
-
The exact historical npm dependency resolution and application dependency inventory remain unverified.
Questions
-
Does
MANIFEST_UNKNOWNfor a specific image digest mean the manifest is unavailable only at that registry endpoint, or might a supported managed copy exist elsewhere? -
Can an existing Cloud Functions Gen 2 revision provide access to its original runtime image if the corresponding registry manifest is no longer available? What happens if the function is later replaced?
-
Are original generated npm lockfiles, dependency resolution records, application SBOMs, or build provenance retained for Firebase-managed builds?
-
What read-only methods can establish the relationship between original source, Cloud Build, image digest, and deployed revision?
-
What should be checked when historical build-log requests return 429 or Artifact Analysis requests return 403?
I’m looking for documented behavior and evidence-based recovery options, not a rebuild or production remediation.
Important: This is a read-only investigation. I will not deploy, rebuild, restore, retag, or push images, or change production resources while investigating. Production deployment remains on hold until historical runtime recoverability is understood.
Thank you.