github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/worker/caasadmission/filter.go (about)

     1  // Copyright 2021 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package caasadmission
     5  
     6  import (
     7  	apis "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  )
     9  
    10  // admissionObjectIgnores defines a slice of GVK's that should be ignored by
    11  // the caasadmission controller.
    12  var admissionObjectIgnores = []apis.GroupVersionKind{
    13  	// ignoring SelfSubjectAccessReview checks because of bug lp-1910989
    14  	{
    15  		Group:   "authorization.k8s.io",
    16  		Kind:    "SelfSubjectAccessReview",
    17  		Version: "v1",
    18  	},
    19  	{
    20  		Group:   "authorization.k8s.io",
    21  		Kind:    "SelfSubjectRulesReview",
    22  		Version: "v1",
    23  	},
    24  	{
    25  		Group:   "authorization.k8s.io",
    26  		Kind:    "SelfSubjectAccessReview",
    27  		Version: "v1beta1",
    28  	},
    29  	{
    30  		Group:   "authorization.k8s.io",
    31  		Kind:    "SelfSubjectRulesReview",
    32  		Version: "v1beta1",
    33  	},
    34  	{
    35  		Group:   "authorization.k8s.io",
    36  		Kind:    "SubjectAccessReview",
    37  		Version: "v1",
    38  	},
    39  	{
    40  		Group:   "authorization.k8s.io",
    41  		Kind:    "SubjectAccessReview",
    42  		Version: "v1beta1",
    43  	},
    44  	{
    45  		Group:   "authorization.k8s.io",
    46  		Kind:    "LocalSubjectAccessReview",
    47  		Version: "v1",
    48  	},
    49  	{
    50  		Group:   "authorization.k8s.io",
    51  		Kind:    "LocalSubjectAccessReview",
    52  		Version: "v1beta1",
    53  	},
    54  }
    55  
    56  // compareAPIGroupVersionKind compares two api GroupVersionKind objects for
    57  // eqauoity.
    58  func compareAPIGroupVersionKind(a apis.GroupVersionKind, b apis.GroupVersionKind) bool {
    59  	return a.Group == b.Group && a.Kind == b.Kind && a.Version == b.Version
    60  }