Skip to content

feat(service-map): show Google Cloud as the platform for services on GCP - #1495

Closed
JeremyFunk wants to merge 2 commits into
feat/gcp-infra-pagefrom
feat/gcp-service-map-hosting
Closed

JeremyFunk wants to merge 2 commits into
feat/gcp-infra-pagefrom
feat/gcp-service-map-hosting

Conversation

@JeremyFunk

@JeremyFunk JeremyFunk commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #1336.

Services on Google Cloud did not read as Google Cloud on the service map:

  • Cloud Run / Cloud Functions: the gcpDetector our GCP docs recommend sets faas.name, so the classifier called them lambda and drew the AWS Lambda icon.
  • GKE: drawn as plain Kubernetes.

Change:

  • cloud.provider = gcp classifies as a new gcp platform, checked before the Lambda and Kubernetes rules (API classifier and the local-ui copy).
  • Node shows the Google Cloud mark with a "Google Cloud" tooltip; platform colour mode has a Google Cloud colour and legend entry (legend now uses proper labels instead of capitalize).
  • GoogleCloudIcon moved from apps/web into @maple/ui icons (re-exported from @/components/icons, so existing imports keep working).

Tested: local-ui classifier test (Cloud Run + GKE cases), packages/ui service-map tests; rendered on /lab/bench/service-map in platform colour mode (icon, tooltip, legend).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…ted on GCP

Google Cloud's resource detector sets faas.name on Cloud Run and Cloud
Functions, so those services were drawn as AWS Lambda, and GKE services as
plain Kubernetes. cloud.provider=gcp now classifies as a gcp platform with
the Google Cloud mark, tooltip, colour and legend entry.
@maple-review-bot

maple-review-bot Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 8/10 · likely safe to merge
Every consumer of the ServicePlatform literal was read and updated with it; only the cloud API's classifier branch itself has no test.
quality 100/100 · no findings · tests partial · risk medium

Adds a gcp platform to the service map, classified from cloud.provider = gcp ahead of the Lambda and Kubernetes rules, with the Google Cloud mark, colour and legend entry. The platform union is updated at every consumer, so it is safe to merge.

  • gcp platform added to the classifier in the API route and local-ui copy
  • ServicePlatformLiteral and the web type gain gcp
  • Google Cloud icon, colour, and legend entry on the node/canvas
  • GoogleCloudIcon/GoogleCloudMonoIcon moved into @maple/ui and re-exported
What was checked
  • Every consumer of the platform literal: PLATFORM_COLORS, node switch, legend, 3D machineKind, web type union
  • GoogleCloudIcon/GoogleCloudMonoIcon still resolve for existing @/components/icons importers after the move
  • Both classifiers updated (query-engine.http.ts:263, use-local-service-map.ts:111); no third copy of the rule exists

539b170 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 80264e1d-0a2b-4cf9-a6ba-a9af50651b27

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@maple-review-bot

maple-review-bot Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 9/10 · safe to merge
Contained; both classifier copies and the icon move agree, and the local-ui test pins the new order. The GCP fix assumes gcpDetector emits cloud.provider.
quality 100/100 · no findings · tests partial · risk medium

Adds a gcp platform to the service map, checked before the Lambda and Kubernetes rules, with a Google Cloud icon, colour and legend entry. Small, consistent across the API and local-ui classifiers; safe to merge.

  • toServicePlatformRow and classifyPlatform classify cloud.provider = gcp before Lambda and Kubernetes
  • ServicePlatform gains gcp in the domain wire schema and both TypeScript unions
  • GoogleCloudIcon moved to @maple/ui, re-exported from @/components/icons
  • Platform legend uses fixed labels; PLATFORM_COLORS gains a Google Cloud colour
What was checked
  • Both classifier copies apply the gcp rule in the same position (query-engine.http.ts:263, use-local-service-map.ts:111)
  • google-cloud.tsx resolves ./icon in packages/ui; no remaining import of the old @/components/icons/google-cloud path
  • Every platform switch is exhaustive (satisfies Record<ServicePlatform | "unknown", string>, getPlatformIcon), so the new member cannot silently fall through

d0db410 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@JeremyFunk

Copy link
Copy Markdown
Collaborator Author

Folded into #1335 (commit b5378d6): the fix belongs with the docs that recommend gcpDetector.

@JeremyFunk JeremyFunk closed this Oct 15, 2026
@JeremyFunk
JeremyFunk deleted the feat/gcp-service-map-hosting branch October 15, 2026 18:12
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