Added no_new_privileges: true, user: 1000, and seccomp_profile: default to all app manifests. Created community app review checklist. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Community App Review Checklist
Use this checklist when reviewing community-submitted app manifests for the Archipelago marketplace.
Security Requirements (Non-Negotiable)
readonly_root: true(or documented justification forfalse)capabilities: []— drop ALL, add only required with justificationno_new_privileges: trueuser: 1000(or UID > 1000, never root)seccomp_profile: defaultapparmor_profilespecified- Image tag pinned to specific version (no
:latest) image_signaturefield present (Cosign verification)- No secrets or credentials in environment variables (use secrets manager)
- Volumes use
/var/lib/archipelago/{app-id}/paths only
Manifest Completeness
app.idfollows kebab-case namingapp.nameis human-readableapp.versionfollows SemVerapp.descriptionis accurate and conciseresourcessection has cpu_limit, memory_limit, disk_limithealth_checkconfigured with reasonable interval/timeoutportsuse non-privileged ports (>1024) where possibledependencieslisted (storage, other apps)
Functional Testing
- Container starts successfully on dev server
- Health check passes within 60 seconds
- Web UI loads via nginx proxy at
/app/{id}/ - App functions correctly (basic smoke test)
- Container stops cleanly (no orphan processes)
- Data persists across container restart
- Resource usage stays within declared limits
Integration
- No port conflicts with existing apps
- Network policy appropriate (isolated vs archy-net)
- Dependencies start before this app
- App icon at
neode-ui/public/assets/img/app-icons/{id}.png
Review Outcome
- Approved: Meets all requirements, tested on dev server
- Needs Changes: List specific issues to fix
- Rejected: Fundamental security or compatibility issues