HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
googlecloudplatform
gcr-cleaner
HISTORICAL RECORD2022–2022
googlecloudplatform / gcr-cleaner · Not publicly available

gcr-cleaner

Discover this repository through its Hacker News conversations.

2Distinct people
2Mentions
0Explicit recommenders
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour2 dated mentions

Observed mentions: 2022-08-22 15:07:23 UTC to 2022-08-22 18:42:28 UTC.

012022-08-22 15:00:00 UTC to 2022-08-22 16:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 22, 15:002022-08-22 16:00:00 UTC to 2022-08-22 17:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 22, 16:002022-08-22 17:00:00 UTC to 2022-08-22 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-08-22 18:00:00 UTC to 2022-08-22 19:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 22, 18:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Aug 22, 15:002022-08-22 15:00:00 UTC2022-08-22 16:00:00 UTC101
Aug 22, 16:002022-08-22 16:00:00 UTC2022-08-22 17:00:00 UTC000
Aug 22, 17:002022-08-22 17:00:00 UTC2022-08-22 18:00:00 UTC000
Aug 22, 18:002022-08-22 18:00:00 UTC2022-08-22 19:00:00 UTC101

What Hacker News says

2 sources
> https://cloud.google.com/storage/docs/lifecycle#numberofnewe... That is object specific though, so probably won't work unless I use exactly one image. > derefr 3 hours ago | parent | context | flag | on: Tell HN: Google Cloud suspended our production pro... > But even if: I would like to e.g. keep the latest 100 images always. I doubt this would be possible with a simply GCS polcy without writing custom code or something like a cron job. https://cloud.google.com/storage/docs/lifecycle#numberofnewe... > > GCR is deprecated and I'm using Artifact Registry. (sorry for the confusion) > > You're right that this functionality seems to not be built into the Artifact Registry backend (and that's weird†), but it does still exist: see https://github.com/GoogleCloudPlatform/gcr-cleaner (found linked from https://cloud.google.com/artifact-regis
Read the rest
try/docs/docker/manag...), and specifically the `keep` flag for it. No, it does not "exist". It's either builtin and then it exists, or it doesn't. What you linked is a way for me to build it myself. And I found this AND this solution is even linked in the years old Google ticket. And guess what, they didn't build it. On AWS no problem. As I said: years behind. Sure, I can setup my own cron job (or here cloud run function / github action). But that's not what I expect from a leading cloud vendor. This is not a niche feature! Please don't defend it, Google doesn't deserve it. Credits to whoever build the 3rd party solution, but Google really failed here. > Depending on how you design the client, it can also "mandate manual usage" — i.e. ensure that the developer is interactively running the process for the process to proceed Just no. Let's face it: Google is just too incompetent to do it. Not the developers there, but the company as a whole in the way it is organized. Even IF it were as you said and it would be a philosophy, they could say that close the ticket, but it's still open. I can list you dozens of similar things with GCP and related Google services.
In Tell HN: Google Cloud suspended our production projects at 1am on Saturday
> But even if: I would like to e.g. keep the latest 100 images always. I doubt this would be possible with a simply GCS polcy without writing custom code or something like a cron job. https://cloud.google.com/storage/docs/lifecycle#numberofnewe... > GCR is deprecated and I'm using Artifact Registry. (sorry for the confusion) You're right that this functionality seems to not be built into the Artifact Registry backend (and that's weird†), but it does still exist: see https://github.com/GoogleCloudPlatform/gcr-cleaner (found linked from https://cloud.google.com/artifact-registry/docs/docker/manag...), and specifically the `keep` flag for it. Note also how the project is hosted under the GoogleCloudPlatform GH org. To me, when I see GCP projects that are set up like this (in the GH org but disclaimed as "not official" in the GCP docs), this
Read the rest
suggests that Google engineers built it knowing it's a pain point; and those engineers will support it to the best of their ability in the capacity of being maintainers of this open-source project; but Google as a company don't want to officially support it (yet), and so your GCP support contract won't get you any business-level support for it. It's sort of like how, in Postgres, there is code which is maintained by the Postgres maintainers, but which lives under contrib/ as an extension. It's essentially a lability-waiver for that component. --- † I do have a guess as to why Google do things this way. At least where dev tools are concerned, Google seems to eschew the usual distributed-systems architecture for long-running jobs (of having a thin API client binary that submits jobs to a cloud-side control-plane daemon, which then drives the job forward, and which can then be polled/subscribed for job status by said client.) Rather, Google seemingly have a philosophy of designing local fat clients that reach into the cloud to drive backend processes as the "control node" for those processes. The Cloud Dataflow (⇒ Apache Beam) architecture is designed this way, for example. I believe it's the reason that the Google Cloud SDK ships with so many binaries — there are a lot of fat clients in there that actually drive logic, rather than just sending messages to daemons that drive the logic. And, presuming developers are issued good workstations, I can see the advantages of this architecture. A local control node synchronously knows its own status, rather than having to poll for it; a local control node can use local resources (like how Cloud Dataflow can consume and produce local files on the ends of the pipeline with the same streaming efficiency as a regular CLI text-processing shell command); and an operation started by mistake, with local control, can be cancelled by just ctrl+c-ing the control process. Depending on how you design the client, it can also "mandate manual usage" — i.e. ensure that the developer is interactively running the process for the process to proceed, and therefore that said dev is available in case anything goes wrong. (I've personally dropped [async daemon-driven] Continuous Deployment, in favor of this sort of "synchronous dev-workstation-driven deployment.") I wish someone at Google would write up a paper on this philosophy; it's pretty clearly implicit in a lot of their work, but I've never seen it mentioned explicitly anywhere. (Maybe it's just one dev-tools lead who has influenced a lot of these projects, doing what they think is "obvious"?)
In Tell HN: Google Cloud suspended our production projects at 1am on Saturday

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.