The credentials for all of my various NodeRed connections keep disappearing. MQTT, Email user/pass, Google Home, etc... Any node that stores credentials will have it's credentials wiped out from time to time when I make a flow change. Restarting NodeRed will also cause it to lose the credentials.
I've tried running NodeRed from the command line so I can easily see what the logs show, but there is no error message when the credentials.
The flow.json I'm running used to be part of a NodeRed server with Projects enabled. I turned off projects and migrated the flow. Everything runs fine, until the credentials disappear...
Have you set credentialSecret in your settings file? If not, it is possible something is corrupting the .config.json file that stores the auto-generated encryption key. If that gets lost, the runtime won't be able to decrypt the credentials file and they will get reset - the runtime does log in the console if that happens.
This is why we strongly recommend setting credentialSecret
I resolved this, but I'll answer the questions just in case it's helpful to someone in the future.
This was a local install on Raspbian (buster). Installed via NPM.
I resolved my issue by exporting my flow json, deleting the entire flow json file, and re-importing it all. Once I did that, credentials started saving as expected again.