Skip to content

Proposed scope for v1 of the native Ruby SDK #1

Description

@Abdul-Moiz31

Context:

Infisical/infisical#6387 — the old infisical-sdk gem is deprecated (legacy cross-language architecture), and this repo was created for a new native Ruby SDK. I committed to building it;

here's the v1 scope I'm planning, modeled on the other native SDKs (node-sdk-v2, go-sdk, java-sdk) for consistency.

Posting here before opening the PR so concerns can get raised early.

In scope for v1:

  • Gem skeleton (standard bundle gem layout, zero runtime dependencies — stdlib Net::HTTP + json, matching how lean the other SDKs keep their deps)
  • HTTP client with bearer token auth, JSON (de)serialization, exponential backoff + jitter retry on 429/network errors (mirrors Node/Go)
  • Universal Auth login (client_id + client_secret → access token) — the one auth method every other SDK implemented first
  • Secrets CRUD against /api/v3/secrets/raw: list, get, create, update, delete
  • Typed error hierarchy wrapping HTTP failures with status/url/method context
  • RSpec + WebMock test suite, GitHub Actions running tests + rubocop on PRs
  • README with a usage example

One question I can't resolve myself:

Should this SDK take over the infisical-sdk name on RubyGems (currently squatted by the dead legacy gem), or ship under a new package name? Affects the gemspec from the start, so flagging before I write it.

Will follow this up with a draft PR shortly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions