proomt

Search

Search posts, papers, and topics

All posts

CodeshipStephen Connolly12 min readintermediate

The Credentials API in Jenkins

Summary

The post explains the motivation behind Jenkins' Credentials API, recounts early design mistakes (duplicated username/password types, over‑reliance on the type system), introduces the “Oracles of Identity” concept, and shows how credential domains let users declaratively bind credentials to the right services.

  • Design APIs so a single credential can be reused across many services; otherwise the API fails its core purpose.
  • Avoid using the type system to “color” credentials – it creates duplicate implementations and tight coupling.
  • Model credential scoping with *domains* that describe the identity store (Oracle of Identity) a credential belongs to; this lets plugins filter appropriate credentials at runtime.
  • Separate credential storage from usage: prefer short‑lived services with injected tokens over persisting secrets whenever possible.

Credential sprawl leads to operational pain (e.g., frequent LDAP password rotations) and security risk. A well‑designed, domain‑aware credentials system reduces admin overhead, improves traceability, and makes CI/CD pipelines more maintainable.

6/10

Related reading

  1. Article: Architecting Secure and Scalable Facial Verification Systems

    A real‑world post‑mortem of a high‑volume face verification service that moved from a naïve synchronous API to an async, layered pipeline (edge validation, preprocessing, decoupled detection/verification, decision engine) to achieve 8.5k rpm, p99 < 1.8 s, 30 % cost savings, and strict privacy controls.

    InfoQinfoq.com15 min
  2. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min
  3. Jenkins Configuration as Code: Documentation

    Jenkins Configuration as Code (JCasC) lets you define the Jenkins controller via declarative YAML that mirrors the UI model. The plugin can generate exhaustive documentation and a JSON schema for the YAML, enabling IDE assistance. It also offers a REST API to dry‑run configs before applying them. The post links to related series entries and community resources.

    Codeshipcloudbees.com2 min
  4. Optimize Your Identity Flows with Auth0 Identity Conversion Suite

    Auth0 announced the early‑access Identity Conversion Suite, which adds two features—Anonymous Sessions (tracking a user before they log in via OAuth‑compatible tokens) and Experiment Center (feature‑flag‑driven A/B testing of auth flows). The post explains the intended use cases (guest checkout, secure anonymous API access, passwordless sign‑up, MFA sizing) but provides no implementation details,…

    Auth0auth0.com7 min
  5. Run Jenkins as a Service with Private SaaS Edition

    A marketing announcement for CloudBees' new Private SaaS Edition, a managed Jenkins‑as‑a‑Service offering that runs on private or virtual private clouds using Docker, Mesos, OpenStack or EC2. No technical details, architecture diagrams, or implementation guidance are provided.

    Codeshipcloudbees.com1 minrelease