RFC: Two-Tier App Support Model (Flagship vs. Community Apps)
1. Goal
To reduce platform support costs and prevent resource exhaustion on low-end VPS instances (XS/S), we propose dividing the application catalog into two tiers:
- Flagship Apps (Official): Fully tested, secure, and officially supported. Enabled by default.
- Community Apps (Experimental): Community-contributed apps that run unsupported/best-effort. Hidden behind a user toggle and warning disclaimer.
2. Proposed Architecture & Implementations
A. Metadata Level (app-repository)
Extend the Pydantic schema in app_meta.py (specifically StoreInfo class) to support a new field support_tier:
"store_info": {
"support_tier": "flagship" | "community",
"is_featured": true
}
- Default value for
support_tier is "community" to ensure new or untested apps are disabled by default.
B. Shard Core API Validation (freeshard)
Update /shard_core/data_model/app_meta.py to parse the new support_tier property from metadata schemas.
C. Web Terminal UI (web-terminal)
- App Store Toggle: A toggle switch "Show Community Apps" in
Apps.vue (disabled by default).
- Disclaimer Modal: Enabling the toggle prompts the user to accept a warning disclaimer outlining that Community apps are unsupported, potentially unstable, and may exhaust VPS memory.
- Badging: Display distinct badges (
[ Flagship ] vs. [ Community ]) on application card entries to make support status obvious.
- LocalStorage Persistence: Store the toggle state in
localStorage to avoid showing the disclaimer repeatedly.
3. Visual Mockups
Legacy UI (Current Implementation)
This mockup visualizes the feature integrated into the current Bootstrap 4 layout of the web-terminal (using the top navigation bar and default light-grey card styling):

Target UI (Tailwind/Astro Redesign)
This mockup shows how the same feature will render once the dashboard is aligned with the modern design guide (using dark mode, sidebar navigation, and glassmorphic cards):

4. Next Steps / Action Items
RFC: Two-Tier App Support Model (Flagship vs. Community Apps)
1. Goal
To reduce platform support costs and prevent resource exhaustion on low-end VPS instances (XS/S), we propose dividing the application catalog into two tiers:
2. Proposed Architecture & Implementations
A. Metadata Level (
app-repository)Extend the Pydantic schema in
app_meta.py(specificallyStoreInfoclass) to support a new fieldsupport_tier:support_tieris"community"to ensure new or untested apps are disabled by default.B. Shard Core API Validation (
freeshard)Update
/shard_core/data_model/app_meta.pyto parse the newsupport_tierproperty from metadata schemas.C. Web Terminal UI (
web-terminal)Apps.vue(disabled by default).[ Flagship ]vs.[ Community ]) on application card entries to make support status obvious.localStorageto avoid showing the disclaimer repeatedly.3. Visual Mockups
Legacy UI (Current Implementation)
This mockup visualizes the feature integrated into the current Bootstrap 4 layout of the
web-terminal(using the top navigation bar and default light-grey card styling):Target UI (Tailwind/Astro Redesign)
This mockup shows how the same feature will render once the dashboard is aligned with the modern design guide (using dark mode, sidebar navigation, and glassmorphic cards):
4. Next Steps / Action Items
"support_tier"metadata to all 42 app blueprints.support_tierproperty validation in the PydanticStoreInfomodel.Apps.vueandAppStoreEntry.vue.