Projects and digest deploys
V1.5 adds a control plane on top of the Hub. Images still live in the registry. Runtime identity is the digest. A tag is only an alias.
Signed-in sidebar. Administrators see the full Platform group. Developers see Team only in that group (invite + API tokens). Deploy from the CLI still works for developers.
- Projects — organization / project / environment / service / deployment
- Artifact graph — one digest, SBOM, scan, signature, every environment that runs it
- Audit
- Team — org roles and
modpr_pat_…tokens - Usage
Local loop
- Push a long-running image (
nginx, notCMD echo). - Open Projects (administrators) or run
modpr deploy. Your personal org matches your username. Default project isdefaultwithstagingandproduction. - Create a service with
YOUR_USER/your-image:v1. MoDPR resolves the tag to a digest, evaluates policy, and starts labeled replicas on this Docker host. - Open the artifact graph from the digest. Promote staging → production by digest. Rollback re-deploys the old digest.
CLI
modpr login YOUR_USER modpr org ls modpr deploy YOUR_USER default staging web YOUR_USER/web:v1 modpr paas ps YOUR_USER default staging modpr graph sha256:…
Production policy denies the latest tag, requires a digest, SBOM, and a platform signature. Staging is looser. Local SBOM/scan/sign are platform-generated (not Trivy/Syft/Cosign). Kubernetes manifests are stored, not applied on the laptop. BYOC is a record-only stub.
Full operator notes: repository file docs/PAAS.md.