mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-07-18 23:06:31 +00:00
Add blog post for public addon config folder (#1970)
Co-authored-by: Franck Nijhof <git@frenck.dev>
This commit is contained in:
parent
efec569cf4
commit
b2f0536898
52
blog/2023-11-06-public-addon-config.md
Normal file
52
blog/2023-11-06-public-addon-config.md
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
author: Mike Degatano
|
||||
authorURL: https://github.com/mdegat01
|
||||
title: "Public Addon Config"
|
||||
---
|
||||
|
||||
Add-ons can now have a public folder for config or data files, which users can see
|
||||
and modify, but it is still backed up with the add-on.
|
||||
|
||||
Many add-ons ask users to provide files as part of the addon configuration. Or generate
|
||||
files that they want users to be able to see and potentially modify. They typically
|
||||
handle this by including `config` and/or `share` in the list of folders to map.
|
||||
|
||||
The problem with this is twofold:
|
||||
|
||||
1. Nothing in `config` or `share` is backed up with the add-on. So, backups of that add-on do not include all the necessary files to run it after restore.
|
||||
2. Add-ons that map `config` have far more access than they should since `config` includes all secrets and credentials used in your Home Assistant integrations.
|
||||
|
||||
There is now a better solution for add-on developers. Add-ons can include `addon_config`
|
||||
in the list of folders to map. Then, the supervisor will create a folder for that add-on
|
||||
at `/addon_configs/<your addon slug>` and map that to `/config` within the add-on
|
||||
container. If your addon needs to be able to create and modify files in this folder
|
||||
in addition to collecting files from users, use `addon_config:rw` instead.
|
||||
|
||||
To read more about this feature and some of the use cases, see [Add-on advanced options](/docs/add-ons/configuration#add-on-advanced-options).
|
||||
|
||||
## Backwards compatibility with `/config`
|
||||
|
||||
You may notice that the new public config folder is mapped to `/config`. Which is
|
||||
previously where Home Assistant's config folder was mapped if you added `config`
|
||||
to the `map` field.
|
||||
|
||||
This option is intended to replace the need for add-ons to map Home Assistant's
|
||||
config into their container. As such, an add-on cannot include both `config` and
|
||||
`addon_config` in the `map` field.
|
||||
|
||||
Going forward, if you do need to make Home Assistant's config available to your
|
||||
add-on, you should list `homeassistant_config` as a folder in the `map` field. Then
|
||||
Home Assistant's config folder will be mapped to `/homeassistant` within the container.
|
||||
|
||||
## New `addon_configs` folder
|
||||
|
||||
Some add-ons need access to all these add-on-specific config folders. For example:
|
||||
|
||||
1. Samba
|
||||
2. SSH
|
||||
3. Studio Code Server
|
||||
|
||||
Essentially, these add-ons provide alternative means of editing the configuration
|
||||
files of Home Assistant and its add-ons. Add-ons like these should add `addon_configs:rw`
|
||||
to the list of folders in the map field. This will map the entire addon configs
|
||||
folder within the container at `/addon_configs`.
|
Loading…
x
Reference in New Issue
Block a user