Skip to content

Commit

Permalink
small update
Browse files Browse the repository at this point in the history
  • Loading branch information
natasha41575 committed Dec 13, 2022
1 parent 21ab663 commit 113af5e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 17 deletions.
10 changes: 1 addition & 9 deletions e2e/testdata/porch/rpkg-lifecycle/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,4 @@ commands:
- git-017a8366a5e0d9b35ae6dc489d4d3f68046d6034
- --namespace=rpkg-lifecycle
stderr: |
git-017a8366a5e0d9b35ae6dc489d4d3f68046d6034 deleted
- args:
- alpha
- rpkg
- get
- git-017a8366a5e0d9b35ae6dc489d4d3f68046d6034
- --namespace=rpkg-lifecycle
stderr: "Error: the server could not find the requested resource (get packagerevisions.porch.kpt.dev git-017a8366a5e0d9b35ae6dc489d4d3f68046d6034) \n"
exitCode: 1
git-017a8366a5e0d9b35ae6dc489d4d3f68046d6034 failed (admission webhook "packagerevdeletion.google.com" denied the request: failed to delete package revision "git-017a8366a5e0d9b35ae6dc489d4d3f68046d6034": packagerevisions must be proposed for deletion by setting spec.deletionProposed to 'true' prior to deletion")
23 changes: 15 additions & 8 deletions porch/webhooks/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,10 @@ func setupWebhooks(ctx context.Context) error {
if err := createValidatingWebhook(ctx, caBytes); err != nil {
return err
}
runWebhookServer(filepath.Join(certStorageDir, "tls.crt"),
filepath.Join(certStorageDir, "tls.key"))
if err := runWebhookServer(filepath.Join(certStorageDir, "tls.crt"),
filepath.Join(certStorageDir, "tls.key")); err != nil {
return err
}
return nil
}

Expand Down Expand Up @@ -221,10 +223,11 @@ func createValidatingWebhook(ctx context.Context, caCert []byte) error {
return nil
}

func runWebhookServer(certFile, keyFile string) {
func runWebhookServer(certFile, keyFile string) error {
cert, err := tls.LoadX509KeyPair(certFile, keyFile)
if err != nil {
panic(err)
klog.Errorf("could not load cert and key files: %v", err)
return err
}

klog.Infoln("Starting webhook server")
Expand All @@ -237,8 +240,11 @@ func runWebhookServer(certFile, keyFile string) {
}

if err := server.ListenAndServeTLS("", ""); err != nil {
klog.Errorf("could not start server: %w", err)
klog.Errorf("could not start server: %v", err)
return err
}

return nil
}

func admissionReviewFromRequest(r *http.Request, deserializer runtime.Decoder) (*admissionv1.AdmissionReview, error) {
Expand Down Expand Up @@ -286,7 +292,7 @@ func validateDeletion(w http.ResponseWriter, r *http.Request) {
return
}

// Decode the package rev from the AdmissionReview.
// Get the package revision object
cfg, err := config.GetConfig()
if err != nil {
klog.Errorf("could not get config: %s", err.Error())
Expand All @@ -312,10 +318,11 @@ func validateDeletion(w http.ResponseWriter, r *http.Request) {
}
} else {
admissionResponse.Allowed = false
errMsg := "packagerevisions must be proposed for deletion by setting spec.deletionProposed to 'true' prior to deletion"
admissionResponse.Result = &metav1.Status{
Status: "Failure",
Message: fmt.Sprintf("Failed to delete package revision %q", pr.Name),
Reason: "PackageRevisions must be proposed for deletion by setting spec.deletionProposed to 'true' prior to deletion.",
Message: fmt.Sprintf("failed to delete package revision %q: %s", pr.Name, errMsg),
Reason: metav1.StatusReason(errMsg),
}
}

Expand Down

0 comments on commit 113af5e

Please sign in to comment.