When configuring the microservices, and topology manager, we have to make use of pre-defined roles that grant various permissions. These are summarised here in the documentation.
The roles are cm, cd, provider and implementer. I have seen examples of cm and cd in use (via the cmuser and cduser accounts configured in the cd_ambient_conf.xml of the discovery/token service.), but it is not always clear when one should choose one and when the other. I have not seen any examples of using provider or implementer.
I'm left wondering what scenarios are envisaged where provider and implementer would be useful. Can we also add our own roles, and if so, when would this make sense? Is there an easy way to know when to use cmuser and cduser?