mirror of
https://github.com/kubevela/kubevela.git
synced 2026-08-19 20:46:37 +00:00
* refactor: pre-start hook implementation - Introduced a new `hook.go` file defining the `PreStartHook` interface for pre-start validation hooks. - Removed the old `pre_start_hook.go` file which contained the `SystemCRDValidationHook` implementation. - Updated the server initialization code to use the new hook structure, specifically integrating the `crdvalidation` package for pre-start validation. - Enhanced logging for pre-start hook execution to improve clarity on hook names and execution results. Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: move color writer implementation to logging package and update usage in server setup Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: rename Hook to CRDValidation for clarity and consistency Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: reorder import statements for consistency Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: replace hardcoded namespace with variable in cleanup function Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: rename CRDValidation type to Hook for consistency Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: enhance CRD validation hook with custom client support and improved error handling Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: extend timeout for CRD validation hook and improve error handling for slow API servers Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * refactor: remove redundant comments from PreStartHook definition Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> --------- Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
32 lines
1.1 KiB
Go
32 lines
1.1 KiB
Go
/*
|
|
Copyright 2022 The KubeVela Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package hooks
|
|
|
|
import "context"
|
|
|
|
// PreStartHook defines a hook that should be run before the controller starts working.
|
|
// Pre-start hooks are used for validation, initialization, and safety checks that must
|
|
// pass before the controller begins processing resources.
|
|
type PreStartHook interface {
|
|
// Run executes the hook's logic. If an error is returned, the controller
|
|
// startup will be aborted.
|
|
Run(ctx context.Context) error
|
|
|
|
// Name returns a human-readable name for the hook, used in logging.
|
|
Name() string
|
|
}
|