code: func (sink *influxdbSink) checkSanitizedKey(key *core.HistoricalKey) error {
  	if key.NodeName != "" && !nameAllowedChars.MatchString(key.NodeName) {
  		return fmt.Errorf("Invalid node name %q", key.NodeName)
  	}
  
  	if key.NamespaceName != "" && !nameAllowedChars.MatchString(key.NamespaceName) {
  		return fmt.Errorf("Invalid namespace name %q", key.NamespaceName)
  	}
  
  	if key.PodName != "" && !nameAllowedChars.MatchString(key.PodName) {
  		return fmt.Errorf("Invalid pod name %q", key.PodName)
  	}
  
  	// NB: this prevents access to some of the free containers with slashes in their name
  	// (e.g. system.slice/foo.bar), but the Heapster API seems to choke on the slashes anyway
  	if key.ContainerName != "" && !nameAllowedChars.MatchString(key.ContainerName) {
  		return fmt.Errorf("Invalid container name %q", key.ContainerName)
  	}
  
  	if key.PodId != "" && !nameAllowedChars.MatchString(key.PodId) {
  		return fmt.Errorf("Invalid pod id %q", key.PodId)
  	}
  
  	return nil
  }
docs: // checkSanitizedKey errors out if invalid characters are found in the key, since InfluxDB does not widely
  // support bound parameters yet (see https://github.com/influxdata/influxdb/pull/6634) and we need to
  // sanitize our inputs.