mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
refactor: auth package logger (#3696)
Signed-off-by: Charles-Edouard Brétéché <charled.breteche@gmail.com>
This commit is contained in:
parent
f32ea23c9d
commit
8b36441cd1
3 changed files with 16 additions and 17 deletions
|
@ -4,7 +4,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
"github.com/go-logr/logr"
|
|
||||||
client "github.com/kyverno/kyverno/pkg/dclient"
|
client "github.com/kyverno/kyverno/pkg/dclient"
|
||||||
authorizationv1 "k8s.io/api/authorization/v1"
|
authorizationv1 "k8s.io/api/authorization/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
|
@ -17,21 +16,16 @@ type CanIOptions struct {
|
||||||
verb string
|
verb string
|
||||||
kind string
|
kind string
|
||||||
client *client.Client
|
client *client.Client
|
||||||
log logr.Logger
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//NewCanI returns a new instance of operation access controller evaluator
|
//NewCanI returns a new instance of operation access controller evaluator
|
||||||
func NewCanI(client *client.Client, kind, namespace, verb string, log logr.Logger) *CanIOptions {
|
func NewCanI(client *client.Client, kind, namespace, verb string) *CanIOptions {
|
||||||
o := CanIOptions{
|
return &CanIOptions{
|
||||||
client: client,
|
namespace: namespace,
|
||||||
log: log,
|
kind: kind,
|
||||||
|
verb: verb,
|
||||||
|
client: client,
|
||||||
}
|
}
|
||||||
|
|
||||||
o.namespace = namespace
|
|
||||||
o.kind = kind
|
|
||||||
o.verb = verb
|
|
||||||
|
|
||||||
return &o
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//RunAccessCheck checks if the caller can perform the operation
|
//RunAccessCheck checks if the caller can perform the operation
|
||||||
|
@ -68,7 +62,7 @@ func (o *CanIOptions) RunAccessCheck() (bool, error) {
|
||||||
// - verb
|
// - verb
|
||||||
// - resource
|
// - resource
|
||||||
// - subresource
|
// - subresource
|
||||||
logger := o.log.WithValues("kind", sar.Kind, "namespace", sar.Namespace, "name", sar.Name)
|
logger := logger.WithValues("kind", sar.Kind, "namespace", sar.Namespace, "name", sar.Name)
|
||||||
|
|
||||||
// Create the Resource
|
// Create the Resource
|
||||||
resp, err := o.client.CreateResource("", "SelfSubjectAccessReview", "", sar, false)
|
resp, err := o.client.CreateResource("", "SelfSubjectAccessReview", "", sar, false)
|
||||||
|
|
5
pkg/auth/log.go
Normal file
5
pkg/auth/log.go
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
package auth
|
||||||
|
|
||||||
|
import "sigs.k8s.io/controller-runtime/pkg/log"
|
||||||
|
|
||||||
|
var logger = log.Log.WithName("auth")
|
|
@ -35,7 +35,7 @@ func NewAuth(client *dclient.Client, log logr.Logger) *Auth {
|
||||||
|
|
||||||
// CanICreate returns 'true' if self can 'create' resource
|
// CanICreate returns 'true' if self can 'create' resource
|
||||||
func (a *Auth) CanICreate(kind, namespace string) (bool, error) {
|
func (a *Auth) CanICreate(kind, namespace string) (bool, error) {
|
||||||
canI := auth.NewCanI(a.client, kind, namespace, "create", a.log)
|
canI := auth.NewCanI(a.client, kind, namespace, "create")
|
||||||
ok, err := canI.RunAccessCheck()
|
ok, err := canI.RunAccessCheck()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
@ -45,7 +45,7 @@ func (a *Auth) CanICreate(kind, namespace string) (bool, error) {
|
||||||
|
|
||||||
// CanIUpdate returns 'true' if self can 'update' resource
|
// CanIUpdate returns 'true' if self can 'update' resource
|
||||||
func (a *Auth) CanIUpdate(kind, namespace string) (bool, error) {
|
func (a *Auth) CanIUpdate(kind, namespace string) (bool, error) {
|
||||||
canI := auth.NewCanI(a.client, kind, namespace, "update", a.log)
|
canI := auth.NewCanI(a.client, kind, namespace, "update")
|
||||||
ok, err := canI.RunAccessCheck()
|
ok, err := canI.RunAccessCheck()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
@ -55,7 +55,7 @@ func (a *Auth) CanIUpdate(kind, namespace string) (bool, error) {
|
||||||
|
|
||||||
// CanIDelete returns 'true' if self can 'delete' resource
|
// CanIDelete returns 'true' if self can 'delete' resource
|
||||||
func (a *Auth) CanIDelete(kind, namespace string) (bool, error) {
|
func (a *Auth) CanIDelete(kind, namespace string) (bool, error) {
|
||||||
canI := auth.NewCanI(a.client, kind, namespace, "delete", a.log)
|
canI := auth.NewCanI(a.client, kind, namespace, "delete")
|
||||||
ok, err := canI.RunAccessCheck()
|
ok, err := canI.RunAccessCheck()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
@ -65,7 +65,7 @@ func (a *Auth) CanIDelete(kind, namespace string) (bool, error) {
|
||||||
|
|
||||||
// CanIGet returns 'true' if self can 'get' resource
|
// CanIGet returns 'true' if self can 'get' resource
|
||||||
func (a *Auth) CanIGet(kind, namespace string) (bool, error) {
|
func (a *Auth) CanIGet(kind, namespace string) (bool, error) {
|
||||||
canI := auth.NewCanI(a.client, kind, namespace, "get", a.log)
|
canI := auth.NewCanI(a.client, kind, namespace, "get")
|
||||||
ok, err := canI.RunAccessCheck()
|
ok, err := canI.RunAccessCheck()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
|
Loading…
Add table
Reference in a new issue