Unlocking the Catalog: Providing a Platform CLI for Backstage
summary
N26 builds an internal CLI called PCLI that lets CI and terminals call Backstage APIs without manual curl and devtools token hacks, hitting a catalog of ~80,000 entities across ~1,200 repos. It uses an external IdP + device flow to persist refresh tokens in the macOS keychain, validates via a JWKS endpoint, and exposes commands like catalog owned, catalog at, and automations run-target. Implemented in Go, instrumented with OpenTelemetry, it reduces portal-team bottlenecks and enables GitHub Actions and large-scale scripted changes.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:04Catalog philosophy and N26’s custom
- 3:09Data collection challenges
- 5:20CLI necessity for Backstage
- 7:07Initial solutions and quick wins
- 8:11Dynamic credentials with JVKS
- 11:22Backstage CLI tool design
- 12:51OIDC device flow switch
- 14:13CLI authentication and API access
- 15:15Adoption tracking and feedback
- 16:39Key CLI commands like catalog owns
- 17:44Context-aware commands
- 19:10Expanding CLI use cases
- 20:36Advanced automation with scripts
- 21:19Q&A
related talks
27mBuilding an Internal Developer Platform with Backstage Plugins
32mIs Backstage for me?
26mAn Easier Path to a Rich Catalog
29mWhat Does Backstage Really Offer – Looking Beyond Catalog and Templates and Into...
35mBackstage: Restoring Order To Your Chaos
39mUnlocking Backstage's potential: insights and solutions for a smoother developer experience
24mWhat We Learned During Our Journey in Using Backstage at DAZN
42mNavigating Backstage: A Year in Developer Life
