docs: def generate_binding_credentials(self, binding):
          """Generate binding credentials
          
          This function will permit to define the configuration to
          connect to the instance.
          Those credentials will be stored on a secret and exposed to a a Pod.
          
          We should at least returns the 'username' and 'password'.
          
          Args:
              binding (AtlasServiceBinding.Binding): A binding
              
          Returns:
              dict: All credentials and secrets.
              
          Raises:
              ErrClusterConfig: Connection string to the cluster is not available.
          """
          uri = self.clusters.get(binding.instance.get_cluster(), None)
          
          if not uri:
              raise ErrClusterConfig(binding.instance.get_cluster())
          
          # partial credentials
          creds = {"username" : self.generate_binding_username(binding),
                  "password" : pwgen(32, symbols=False),
                  "database" : binding.instance.get_dbname()}
          
          # uri
          uri = uri % (
              creds["username"],
              creds["password"],
              creds["database"])
          
          creds["uri"] = uri
          
          # return creds
          return creds