• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kitplummer / lowendinsight / 92f45dbfccf8457eca3cc7a357abb71855b198c2
89%
develop: 89%

Build:
Build:
LAST BUILD BRANCH: feat/request-id-correlation
DEFAULT BRANCH: develop
Ran 07 Mar 2026 01:36PM UTC
Jobs 5
Files 66
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Mar 2026 01:34PM UTC coverage: 88.113% (-1.9%) from 90.035%
92f45dbfccf8457eca3cc7a357abb71855b198c2

push

github

kitplummer
feat(auth): add API key foundation for multi-tenancy

Add dual auth (JWT + API key) with lei_ prefix keys, SHA-256 hashed
storage, and Ecto-backed org/key models. This is the foundation for
multi-tenant API access — scopes are tracked but not enforced yet.

- Add Ecto, Postgrex, Joken deps and Lei.Repo
- Create orgs and api_keys tables with migrations
- Add Lei.Org and Lei.ApiKey schemas with slug auto-generation
- Add Lei.ApiKeys context (find_or_create_org, create/auth/revoke)
- Add Lei.Auth plug with API key match before JWT fallback
- Wire auth into Lei.Web.Router, update router tests with JWT headers
- Add mix lei.gen_api_key CLI task for key provisioning
- Add Postgres service to CI workflow
- Fix helpers config serialization for Ecto config keys
- Add Ecto Sandbox to test_helper.exs
- 31 new tests covering schemas, context, and dual auth

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

53 of 71 new or added lines in 7 files covered. (74.65%)

26 existing lines in 4 files now uncovered.

1564 of 1775 relevant lines covered (88.11%)

6174.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
14
0.0
lib/mix/tasks/lei.gen_api_key.ex
2
90.0
lib/lei/auth.ex
1
95.65
lib/lei/api_keys.ex
1
85.71
-14.29% lib/lei/application.ex

Coverage Regressions

Lines Coverage ∆ File
16
3.57
-57.14% lib/hex/hex_scanner.ex
5
87.18
-7.69% lib/mix/tasks/lei/zarf_gate.ex
4
75.0
-18.75% lib/mix/tasks/lei/sarif.ex
1
95.52
-1.49% lib/sarif/sarif.ex
Jobs
ID Job ID Ran Files Coverage
1 92f45dbfccf8457eca3cc7a357abb71855b198c2.1 07 Mar 2026 01:36PM UTC 66
88.11
GitHub Action Run
2 92f45dbfccf8457eca3cc7a357abb71855b198c2.2 07 Mar 2026 01:37PM UTC 66
88.11
GitHub Action Run
3 92f45dbfccf8457eca3cc7a357abb71855b198c2.3 07 Mar 2026 01:37PM UTC 66
88.11
GitHub Action Run
4 92f45dbfccf8457eca3cc7a357abb71855b198c2.4 07 Mar 2026 01:38PM UTC 66
88.11
GitHub Action Run
5 92f45dbfccf8457eca3cc7a357abb71855b198c2.5 07 Mar 2026 01:38PM UTC 66
88.11
GitHub Action Run
Source Files on build 92f45dbfccf8457eca3cc7a357abb71855b198c2
  • Tree
  • List 66
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 92f45dbf on github
  • Prev Build on develop (#173DE904...)
  • Next Build on feat/api-key-foundation-v2 (#B3268EE7...)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc