I think it’d be wise to restructure homeassistant’s config folder into three (maybe more depending on need) subfolders: config_pub
, config_private
, and dynamic
. In addition I suggested we completely eliminate the .storage
folder. These changes will make it much easier to determine what files are valuable and public, valuable and private, and not valuable for creating backups.
Here’s my reasoning: right now when I go to where /config
is in my docker installed ha-core instance I see a ton of different files (especially if i include the files in .storage
). It’s hard to tell which of these files fall in the these different categories:
- Commit to git, it’s okay if they are seen and are basic backbone configurations.
- Backup but not to public git, these have security tokens and other auth related stuff I don’t want exposed.
- Don’t back up at all, no reason to because it’s stuff like OZW logs.
For instance, I like to configure my lovelace UI using the GUI, but WHY is it stored in the hidden .storage
folder along with a ton of other stuff that shouldn’t be backed up publicly?! This makes no sense to me, why wouldn’t it just store to ui-lovelace.yaml
? Or if there is risk of file conflicts between handcrafted lovelace and GUI made ones it can store store to ui-lovelace-gui.yaml
and be included with the normal ui-lovelace.yaml
.
If every file from config
and .storage
were separated into their own folders that determined their importance for backing up it would make it so much easier. I simply git commit config_pub
, I backup config_private
to somewhere safe in cold storage, and I gitignore dynamic
because it has stuff like logs that are generated during sessions that I don’t necessarily need permanently.