raystack / raystack/frontier

Remove the deprecated API usage acknowledged in the staticcheck rollout

Open
#1,782 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
344
Forks
47
Avg merge
4d 4h
Merged PRs (30d)
26

Description

PR #1781 annotated every remaining use of a deprecated API with //nolint:staticcheck. Each annotation is deliberate, but all of them are debt. This issue tracks removing them. The sites, grouped by what unblocks each:

Actionable now
  • New Relic go-agent v2 → v3pkg/db/db.go and internal/store/spicedb/relation_repository.go import the deprecated v2 package. Migrating means the v3 import path and the reworked transaction/segment APIs at every telemetry call site.
  • e2e billing teststest/e2e/regression/billing_test.go uses the deprecated UpdateBillingAccountLimits RPC as a setup tool. UpdateBillingAccountDetails sets the same credit_min (note it also writes due_in_days).
Blocked on the API dropping the deprecated request fields

Handler fallbacks that must stay while old clients send the old shapes:

  • internal/api/v1beta1connect/billing_usage.gosince (superseded by start_range)
  • internal/api/v1beta1connect/billing_subscription.go — flat plan/immediate (superseded by plan_change)
  • internal/api/v1beta1connect/permission.gonamespace/name body fields (superseded by key)
  • internal/api/v1beta1connect/permission_check.go — split object fields (superseded by resource)
  • cmd/serve.go — the FullyConsistent config flag (superseded by consistency)
  • cmd/seed.go — seed data sends the deprecated permission body shape
Blocked on a lossless replacement for the deprecated response fields

internal/reconcile/permission_reconciler.go, cmd/permission.go, and the assertions in test/e2e/regression/service_registration_test.go read the deprecated namespace/name response fields. The replacement key round-trips lossily today: a namespace without a slash gains a /default suffix through SplitNamespaceResource, and names containing dots fail to split. These readers can migrate once key (or another field) carries the exact values.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with PR #1781 and the actionable files: pkg/db/db.go, internal/store/spicedb/relation_repository.go, and test/e2e/regression/billing_test.go. Trace the deprecated telemetry calls and billing setup usage, then check the listed blocked handlers and readers to understand their dependencies. Done means the actionable deprecated usages are removed and the remaining annotations have a clear API dependency preventing removal.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend, observability, testing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.