Numeric IDs in a Secret's stringData must be quoted

An unquoted Discord or Telegram user ID in stringData becomes a YAML number. The apply fails, and a long ID has already lost precision by the time you read the error.

I put the allowed user IDs for two chat bots into a SOPS-encrypted Secret as stringData, written the way they look:

stringData:
  TELEGRAM_ALLOWED_USERS: 123456789

Flux refused to apply it with expected string, got valueUnstructured. stringData has to hold strings, and YAML reads an unquoted run of digits as a number.

There was a second problem hiding in that. The Discord ID has 18 digits, more than a float can hold exactly, and in the error output it was already rounded to a number ending in 00. So big IDs lose precision as floats, and the number in the error message wasn’t the one I had written.

Quote them:

stringData:
  TELEGRAM_ALLOWED_USERS: "123456789"

The same goes for any numeric value that is really an identifier, such as user and channel IDs.