node-operation-validator

module
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2024 License: Apache-2.0

README

node-operation-validator

This project is a webhook that enforces restrictions on certain operations performed on nodes in a cluster. The webhook handles four operation cases: delete, create, cordon, uncordon. Depending on the operation and the user performing it, certain requirements must be met, such as adding a reason annotation or being a privileged user.

Each operation has its own set of requirements that must be met in order for the operation to be performed.

Validated Operations

Delete

Can only be performed by a privileged user who is not in the forbidden users list, and a reason annotation must be added to explain the reason for the deletion.

Create

Can be performed by any privileged user, but including a reason annotation is not allowed.

Cordon

Requires a reason annotation and can only be performed by a privileged user.

Uncordon

Not allowed if there is a reason annotation present.

Additional Features

Forbidden Users

The webhook also maintains a list of forbidden users who are not allowed to perform certain operations.

Logs

The logs of the webhook provide details about the operations performed on the nodes, including the user who performed the operation, the reason for doing it, and the date and time it occurred.

Getting started

Deploying the controller
$ make deploy IMG=ghcr.io/dana-team/node-operation-validator:<release>
Install with Helm

Helm chart docs are available on charts/node-operation-validator directory.

Make sure cert-manager is installed as a prerequisite.

$ helm upgrade --install node-operation-validator --namespace node-operation-webhook-system --create-namespace oci://ghcr.io/dana-team/helm-charts/node-operation-validator --version <release>
Build your own image
$ make docker-build docker-push IMG=<registry>/node-operation-validator:<tag>

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL