code: func (a *Agent) keyringProcess(args *structs.KeyringRequest) (*structs.KeyringResponses, error) {
  	var reply structs.KeyringResponses
  
  	if _, ok := a.delegate.(*consul.Server); !ok {
  		return nil, fmt.Errorf("keyring operations must run against a server node")
  	}
  	if err := a.RPC("Internal.KeyringOperation", args, &reply); err != nil {
  		return &reply, err
  	}
  
  	return &reply, nil
  }
docs: // keyringProcess is used to abstract away the semantic similarities in
  // performing various operations on the encryption keyring.