Skip to content

Add app-based mapping options for app configs#6992

Open
mdegat01 wants to merge 2 commits into
mainfrom
feature/app-mapping-rename
Open

Add app-based mapping options for app configs#6992
mdegat01 wants to merge 2 commits into
mainfrom
feature/app-mapping-rename

Conversation

@mdegat01

@mdegat01 mdegat01 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Proposed change

Add app-based mapping options for app configuration folders and local app folders. The new apps, app_config, and all_app_configs mappings are preferred, while the legacy addons, addon_config, and all_addon_configs values 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

  • New feature (which adds functionality to the supervisor)

Additional information

  • This PR fixes or closes issue: fixes #6745
  • This PR is related to issue:
  • Link to documentation pull request:
  • Link to cli pull request:
  • Link to client library pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Ruff (ruff format supervisor tests)
  • Tests have been added to verify that the new code works.

If API endpoints or add-on configuration are added/changed:

@mdegat01 mdegat01 added missing-documentation Added to pull requests that needs a docs, but none is linked new-feature A new feature needs-client-library Pull requests needs client library changes but none is linked labels Jul 1, 2026
@mdegat01 mdegat01 requested review from agners and Copilot July 1, 2026 20:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread supervisor/docker/app.py
Comment thread supervisor/apps/const.py
CONFIG = "config"
SSL = "ssl"
ADDONS = "addons"
APPS = "apps"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we maybe name this one a bit different anyways? Like local_app_metadata or something like this? 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed missing-documentation Added to pull requests that needs a docs, but none is linked needs-client-library Pull requests needs client library changes but none is linked new-feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change add-ons to apps in Supervisor configuration

3 participants