Skip to content

box

box is Cafaye’s operated control plane. It coordinates the Cafaye side of a customer’s deployment — entitlements, installations, releases and approvals — and mints the short-lived, single-use capabilities a customer’s box (the machine cafe box setup installs onto) redeems on itself. It is written in Ruby as an API-only Rails service.

box is Cafaye-operated and is never installed on a customer box. It runs on Cafaye infrastructure, is not part of a customer source bundle or the kit deployment substrate, and has no user interface of its own — the frontend is website (see box/docs/BOUNDARIES.md). The one noun to keep straight: Cafaye Box is the product a customer runs; box is the control plane Cafaye runs, and it is the service on this page.

What it holds, and what it structurally cannot

Section titled “What it holds, and what it structurally cannot”

box mints capabilities; it does not hold registry material. A GitHub App key lives in keyholder, not here, because a GitHub App private key is a secret-shaped value and box’s boundaries refuse to hold one (BOUNDARIES.md, “Box holds no readable customer secret”). Provider credentials a customer connects are stored as ciphertext sealed to the box’s public key: a test asserts no plaintext provider secret reaches the database.

Authorization is deliberately thin. box performs no JWT verification of its own — it forwards the caller’s bearer token to identity’s own authenticated endpoints, so the fleet keeps one verifier. identity is a hard runtime dependency (required: true), stated that way because the failure mode is a 503, not a degraded mode.

Terminal window
bin/ci # bundle, rubocop, brakeman, bundler-audit, the Rails suite

On macOS the suite runs serially (PARALLEL_WORKERS=1) because the parallel workers fork with the pg gem connected and segfault the Ruby VM; Linux CI opts into parallelism on purpose.

  • Repository: private — proprietary to Cafaye (OPS-D2)
  • Language: Ruby (Rails, API-only)
  • Dependencies: identity (required)
  • Events: none — box publishes no event types and subscribes to none