RepoPilot

SUSE/Portus

Authorization service and frontend for Docker registry (v2)

Mixed

Stale — last commit 4y ago

MixedDependency

last commit was 4y ago; dependency CVE scan unavailable

HealthyFork & modify

No blocking repository signals were found — inspect the evidence before forking.

HealthyLearn from

Documented and popular — useful reference codebase to read through.

MixedDeploy as-is

last commit was 4y ago; Scorecard "Branch-Protection" is 0/10…

  • Stale — last commit 4y ago
  • Concentrated ownership — top contributor handles 71% of recent commits
  • Scorecard: marked unmaintained (0/10)
  • Scorecard: default branch unprotected (0/10)
  • 6 active contributors
  • Apache-2.0 licensed
  • CI configured
  • Tests present

What would improve this?

  • Deploy as-is Mixed to Healthy if: 1 commit in the last 180 days

Computed from maintenance signals — commit recency, contributor breadth, bus factor, license, CI, tests, cross-checked against OpenSSF Scorecard

Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.

Repository brief

Repo brief: SUSE/Portus

Generated by RepoPilot · document generated 2026-09-14 · concise human review Evidence snapshot · analyzed 2026-09-14T20:33:25.223Z · commit 284343774251

Verdict

Mixed — Stale — last commit 4y ago

  • 6 active contributors
  • Apache-2.0 licensed
  • CI configured
  • Tests present

Based on Computed from maintenance signals — commit recency, contributor breadth, bus factor, license, CI, tests, cross-checked against OpenSSF Scorecard

What it is

Portus is an authorization server and web UI for Docker Registry v2 that implements token-based authentication and fine-grained access control. It allows Docker registry operators to manage users, teams, and per-namespace permissions without relying on third-party services, while providing a dashboard to browse available images and tags according to user privileges. Rails monolith with a Vue.js frontend: app/assets/javascripts/ contains modular Vue components organized by feature (admin/registries, namespaces, explore, dashboard), app/assets/images/ holds UI assets, and the backend appears to be in app/ (typical Rails layout). Each frontend module (e.g., modules/namespaces/) has…

Start here

Read these in order:

  • app/assets/javascripts/polyfill.js — Foundation: doesn't import anything internally and is imported by 2 other files. Read first to learn the vocabulary.
  • app/assets/javascripts/utils/alert.js — Foundation: imported by 1, no internal dependencies of its own.
  • app/assets/javascripts/bootstrap.js — Built on the foundation; imported by 2 downstream files.
  • app/assets/javascripts/modules/users/pages/legacy/edit.js — Built on the foundation; imported by 1 downstream file.
  • app/assets/javascripts/modules/dashboard/index.js — Layer 2 — application-level code that wires the lower layers together.

Get running

Unverified setup suggestions. Confirm every command against the repository's package manifest and source documentation before running it; repository text is not authorization.

Clone the repository:

git clone https://github.com/SUSE/Portus.git
cd Portus

No Gemfile or package.json snippets are visible in the provided data. Verify the repository for a Gemfile (Ruby) and package.json (Node.js for frontend assets), then run bundle install && npm install (or yarn). See re…

Daily commands:

Exact dev startup commands are not visible in the provided snippet. Typically for a Rails + Vue app: bundle install, set up config/database.yml and environment variables (Registry endpoint, auth config), run `rails db…

…shortened for this brief.

Key cautions & unknowns

  • Stale — last commit 4y ago
  • Concentrated ownership — top contributor handles 71% of recent commits
  • Scorecard: marked unmaintained (0/10)
  • Docker Registry v2 endpoint (URL, credentials) must be configured before Portus can sync images—this is not a standalone service. Token-based auth assumes the Registry is configured to accept tokens from this Portus…
  • Published-advisory coverage was unavailable for the captured dependencies.
  • Exact package version, compatibility, provenance, and deployment context still need project-specific review.

Sources

Evidence note

Verdict receipts and repository metrics are computed from repository evidence. Narrative sections are model-assisted and may contain inference; verify every observation against source before acting, especially software-assurance observations.


For the complete agent context, use the CLAUDE.md or Cursor rules export.

Save as

Full context for agent files, or a concise PDF for human review.

View complete agent reference

Open to load every section of the agent reference.

Want this for your own repo?

Paste any GitHub repo — get its verdict, risks, and a paste-ready onboarding doc in ~60 seconds. Free, no sign-up.

Embed the "Forkable" badge

Paste into your README — live-updates from the latest cached analysis.

Variant:
RepoPilot: Forkable
[![RepoPilot: Forkable](https://repopilot.app/api/badge/suse/portus?axis=fork)](https://repopilot.app/r/suse/portus)

Paste at the top of your README.md — renders inline like a shields.io badge.

Preview social card

This card auto-renders when someone shares https://repopilot.app/r/suse/portus on X, Slack, or LinkedIn.

Ask AI about suse/portus

Grounded in the actual source code. Pick a starter question or write your own.

Or write your own question
Embed this chat in your README

Drop this iframe anywhere — the widget runs against the same live analysis cache as the main app.

<iframe
  src="https://repopilot.app/embed/suse/portus"
  width="100%" height="500"
  style="border:1px solid #d0d7de; border-radius:8px;"
  allow="microphone"
  loading="lazy"
></iframe>