Skip to content

credstore: expose 1Password backends (op / op-connect / op-desktop) #29

Closed

Description

@rianjs

Context

ByteNess v1.9.3 ships three 1Password backends (`op` Service Account, `op-connect`, `op-desktop`), all of which route through `github.com/1password/onepassword-sdk-go` which is currently pinned at `v0.4.1-beta.1` (pre-1.0). #24 deliberately deferred these to avoid putting a beta SDK on the credential-access critical path.

Trigger

Reopen this when:

  • `onepassword-sdk-go` releases a stable (non-beta) tag, OR
  • A user explicitly asks for one of these backends and accepts the beta-SDK risk in writing.

Scope (when picked up)

Mirror the `pass` pattern from #26:

  • Add `BackendOPSrvAccount = "op"` (the `op` BackendType in ByteNess is actually the Service Account backend, not the `op` CLI), `BackendOPConnect = "op-connect"`, `BackendOPDesktop = "op-desktop"`.
  • Extend `buildKeyringConfig` to populate the required `Config` fields per backend:
    • `op`: `OPVaultID` + `OPTimeout` (both currently sourced from env via the SDK).
    • `op-connect`: `OPConnectHost` + `OPConnectTokenEnv`.
    • `op-desktop`: `OPVaultID` (host is implicit via IPC).
  • Decide whether `OPVaultID` should be a credstore Options field or stay env-only (the SDK reads `OP_VAULT` etc. directly).
  • Tests: construction tests pinning each backend's required fields, plus `TestSelectBackendNeverAuto` per the `pass` and `memory` pattern.
  • Docs: §1.4 explicit-opt-in paragraph + §1.10 rewrite.

Constraints

Out of scope

  • Anything outside the three op variants.

Activity

  1. changed the title [-]credstore: expose 1Password backends (op / op-connect / op-desktop) when the upstream SDK leaves beta[/-] [+]credstore: expose 1Password backends (op / op-connect / op-desktop)[/+] on Jun 17, 2026
  2. rianjs commented on Jun 17, 2026

    @rianjs
    ContributorAuthor

    Companion to open-cli-collective/codereview-cli#296. That consumer issue explicitly requests 1Password profile support now and accepts the beta SDK dependency risk as part of the implementation/release review.

  3. added a commit that references this issue on Jun 17, 2026
    421ac60
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions