code: func (p *Plugin) Admit(a admission.Attributes, o admission.ObjectInterfaces) error {
  	// If TaintNodesByCondition is not enabled, we don't need to do anything.
  	if !p.features.Enabled(features.TaintNodesByCondition) {
  		return nil
  	}
  
  	// Our job is just to taint nodes.
  	if a.GetResource().GroupResource() != nodeResource || a.GetSubresource() != "" {
  		return nil
  	}
  
  	node, ok := a.GetObject().(*api.Node)
  	if !ok {
  		return admission.NewForbidden(a, fmt.Errorf("unexpected type %T", a.GetObject()))
  	}
  
  	// Taint node with NotReady taint at creation if TaintNodesByCondition is
  	// enabled. This is needed to make sure that nodes are added to the cluster
  	// with the NotReady taint. Otherwise, a new node may receive the taint with
  	// some delay causing pods to be scheduled on a not-ready node.
  	// Node controller will remove the taint when the node becomes ready.
  	addNotReadyTaint(node)
  	return nil
  }
docs: // Admit is the main function that checks node identity and adds taints as needed.