github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/k8s/errors.go (about)

     1  package k8s
     2  
     3  import (
     4  	"net/http"
     5  	"strings"
     6  
     7  	"k8s.io/apimachinery/pkg/api/errors"
     8  	apierrors "k8s.io/apimachinery/pkg/api/errors"
     9  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    10  )
    11  
    12  func newForbiddenError() *errors.StatusError {
    13  	return &errors.StatusError{
    14  		ErrStatus: metav1.Status{
    15  			Message: "unknown",
    16  			Reason:  "Forbidden",
    17  			Code:    http.StatusForbidden,
    18  		},
    19  	}
    20  }
    21  
    22  func isNotFoundError(err error) bool {
    23  	if err == nil {
    24  		return false
    25  	}
    26  	return apierrors.IsNotFound(err) ||
    27  		// Helm has it's own custom not found error.
    28  		strings.Contains(err.Error(), "object not found")
    29  }
    30  
    31  func isMissingKindError(err error) bool {
    32  	if err == nil {
    33  		return false
    34  	}
    35  	return strings.Contains(err.Error(), "no matches for kind")
    36  }