Solutions

Cloud & cost

Find the environments nobody tore down.

#cloud-costprivate channel2 tool calls

Testing clusters fill with per-feature environments nobody tears down. Asked which are still up, it lists them from the container metrics with their pods and their age, and puts the count beside them — the tearing down stays with a person.

cloud-cost

Sam2:15 PM

@attest_tag which temporary environments are still up on the testing cluster?

attest_tagApp2:16 PM

  • gcp_query_metrics · container uptime · testing cluster · 11 namespaces
  • run_js · classify namespaces · 7 per-feature

11 namespaces with activity on the testing cluster; 7 look like per-feature environments:

  • t-prefixed namespaces — 5, each a feature branch's stack, the oldest up 19 days
  • 2 feature-tagged deployments in the shared api namespace
  • The rest: kube-system, monitoring, argocd and the platform namespaces

Pods and age per namespace are in the table. Say which to keep and I’ll draft the list for whoever tears them down — that is not something I can do from here.

google/gemini-flash10.9k in520 out$0.0057Configure

Names, figures, repositories and customers are changed; token counts and cost are illustrative. The ask, and the shape of the answer, are as they were.

How the turn went

Pods rather than machines, a heuristic stated as one, and no button.

  1. 01

    Pods, not machines

    Container uptime from Monitoring, grouped by namespace: what is actually running on the cluster, rather than the nodes under it.

  2. 02

    Classification, stated as a heuristic

    Prefix and label conventions decide what “looks like” a temporary environment. It says “look like”, because that is what it knows.

  3. 03

    The list, and no button

    Teardown is a write the presets cannot make. The list arrives made; the decision and the change are a person’s.

What it needs

The setup, in the console.

Connection
The GCP monitoring preset, read-only, one connection per project, attached to the channel that asks about cost. Test connection makes the preset's check call before you save.
Credential
A service account key with the Viewer role for logs or monitoring on the project. Sealed with AES-256-GCM in the database; the proxy signs each request, and the key is never in a prompt.
Scope
The channel where the cluster's owners talk; the same connection answers “how many VMs?”

What it will not do

Enforced outside the model.

  • It cannot delete a namespace or scale a deployment: the presets carry no write.

  • Nothing about the project can be changed through the GCP presets. A query is a read, and the presets carry no write at all — whatever the prompt, or a log line, says.

Try it

Say it in a channel it is in.

The sentence as it was typed. It works in any channel the bot has been invited to that carries the connection above — no command syntax, no form, and follow-ups in the thread need no mention.

@attest_tag which temporary environments are still up on the testing cluster?

  • Google Cloud
  • gcp_query_metrics
  • run_js

Bring the channel this would live in.

Sign up, connect the service above in one channel, and type this sentence yourself — or run the same binary on your own infrastructure.

All solutions