Skip to content

Commit 41aaed5

Browse files
committed
Add matchConds to webhook and extra testing
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
1 parent 428089e commit 41aaed5

4 files changed

Lines changed: 877 additions & 0 deletions

File tree

controllers/repositories/config/webhook/manifests.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ webhooks:
2626
path: /validate-repository
2727
port: 9443
2828
failurePolicy: Fail
29+
matchConditions:
30+
- expression: request.operation == 'CREATE' || request.operation == 'DELETE' || object.metadata.generation != oldObject.metadata.generation
31+
name: skip-non-spec-updates
2932
name: repository-validator.porch.kpt.dev
3033
rules:
3134
- apiGroups:

controllers/repositories/pkg/controllers/repository/repository_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ type RepositoryReconciler struct {
7878

7979
//+kubebuilder:webhookconfiguration:mutating=false,name=repository-validating-webhook-configuration
8080
//+kubebuilder:webhook:path=/validate-repository,mutating=false,failurePolicy=fail,groups=config.porch.kpt.dev,resources=repositories,verbs=create;update;delete,versions=v1alpha1,name=repository-validator.porch.kpt.dev,admissionReviewVersions=v1,sideEffects=None,serviceName=porch-controllers,serviceNamespace=porch-system,servicePort=9443,timeoutSeconds=30
81+
//+kubebuilder:webhookConfiguration:matchConditions=[{name: skip-non-spec-updates, rule: {expression: "request.operation == 'CREATE' || request.operation == 'DELETE' || object.metadata.generation != oldObject.metadata.generation"}}]
8182

8283
//+kubebuilder:rbac:groups=config.porch.kpt.dev,resources=repositories,verbs=get;list;watch;create;update;patch;delete
8384
//+kubebuilder:rbac:groups=config.porch.kpt.dev,resources=repositories/status,verbs=get;update;patch

0 commit comments

Comments
 (0)