Add app-based mapping options for app configs#6992
Open
mdegat01 wants to merge 2 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces app-based mapping options for app configuration and local app folders in the Supervisor app configuration schema and Docker mount generation, while keeping the legacy add-on-based names supported for compatibility.
Changes:
- Add new mapping types (
apps,app_config,all_app_configs) alongside legacy equivalents (addons,addon_config,all_addon_configs). - Emit warnings when legacy map types are used and when legacy + new types are combined (legacy is ignored).
- Update Docker mount resolution to prefer app-based mappings and to use new default container targets (
/apps,/app_configs) for the new mapping types.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/docker/test_app.py | Adds mount-resolution tests for new mapping types and app-vs-legacy preference behavior. |
| tests/apps/test_config.py | Adds schema validation tests to ensure warnings are logged for legacy and incompatible mapping combinations. |
| supervisor/docker/const.py | Introduces new default container paths for app-based mappings and retains legacy constants. |
| supervisor/docker/app.py | Updates mount selection logic to support and prefer app-based mapping types (with legacy fallback). |
| supervisor/apps/validate.py | Extends map entry parsing/validation to accept new mapping types and adds warnings for legacy/incompatible usage. |
| supervisor/apps/const.py | Adds new MappingType enum values and marks legacy ones as deprecated. |
| supervisor/apps/app.py | Treats both app_config and addon_config as enabling the app’s public config folder mount. |
Copilot stopped work on behalf of
mdegat01 due to an error
July 1, 2026 20:29
agners
reviewed
Jul 3, 2026
| CONFIG = "config" | ||
| SSL = "ssl" | ||
| ADDONS = "addons" | ||
| APPS = "apps" |
Member
There was a problem hiding this comment.
Should we maybe name this one a bit different anyways? Like local_app_metadata or something like this? 🤔
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed change
Add app-based mapping options for app configuration folders and local app folders. The new
apps,app_config, andall_app_configsmappings are preferred, while the legacyaddons,addon_config, andall_addon_configsvalues remain supported for compatibility. Validation now warns on legacy usage and incompatible legacy/new combinations, and Docker mounts prefer the app-based option when both are present.This likely warrants a developer blog post describing the new mapping names and how to migrate from the legacy addon-based names.
Type of change
Additional information
Checklist
ruff format supervisor tests)If API endpoints or add-on configuration are added/changed: