Documentation ¶
Index ¶
- Constants
- type APICoverageRecorder
- func (a *APICoverageRecorder) GetResourceCoverage(w http.ResponseWriter, r *http.Request)
- func (a *APICoverageRecorder) GetResourceCoveragePercentages(w http.ResponseWriter, r *http.Request)
- func (a *APICoverageRecorder) GetTotalCoverage(w http.ResponseWriter, r *http.Request)
- func (a *APICoverageRecorder) Init()
- func (a *APICoverageRecorder) RecordResourceCoverage(w http.ResponseWriter, r *http.Request)
- type APICoverageWebhook
Constants ¶
const ( // ResourceQueryParam query param name to provide the resource. ResourceQueryParam = "resource" // ResourceCoverageEndPoint is the endpoint for Resource Coverage API ResourceCoverageEndPoint = "/resourcecoverage" // TotalCoverageEndPoint is the endpoint for Total Coverage API TotalCoverageEndPoint = "/totalcoverage" // ResourcePercentageCoverageEndPoint is the end point for Resource Percentage // coverages API ResourcePercentageCoverageEndPoint = "/resourcepercentagecoverage" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APICoverageRecorder ¶
type APICoverageRecorder struct { Logger *zap.SugaredLogger ResourceForest resourcetree.ResourceForest ResourceMap map[schema.GroupVersionKind]resourcesemantics.GenericCRD NodeRules resourcetree.NodeRules FieldRules resourcetree.FieldRules DisplayRules view.DisplayRules // contains filtered or unexported fields }
APICoverageRecorder type contains resource tree to record API coverage for resources.
func (*APICoverageRecorder) GetResourceCoverage ¶
func (a *APICoverageRecorder) GetResourceCoverage(w http.ResponseWriter, r *http.Request)
GetResourceCoverage retrieves resource coverage data for the passed in resource via query param.
func (*APICoverageRecorder) GetResourceCoveragePercentages ¶
func (a *APICoverageRecorder) GetResourceCoveragePercentages( w http.ResponseWriter, r *http.Request)
GetResourceCoveragePercentags goes over all the resources setup for the apicoverage tool and returns percentage coverage for each resource.
func (*APICoverageRecorder) GetTotalCoverage ¶
func (a *APICoverageRecorder) GetTotalCoverage(w http.ResponseWriter, r *http.Request)
GetTotalCoverage goes over all the resources setup for the apicoverage tool and returns total coverage values.
func (*APICoverageRecorder) Init ¶
func (a *APICoverageRecorder) Init()
Init initializes the resources trees for set resources.
func (*APICoverageRecorder) RecordResourceCoverage ¶
func (a *APICoverageRecorder) RecordResourceCoverage(w http.ResponseWriter, r *http.Request)
RecordResourceCoverage updates the resource tree with the request.
type APICoverageWebhook ¶
type APICoverageWebhook struct { // WebhookName is the name of the validation webhook we create to intercept API calls. WebhookName string // ServiceName is the name of K8 service under which the webhook runs. ServiceName string // DeploymentName is the deployment name for the webhook. DeploymentName string // Namespace is the namespace in which everything above lives. Namespace string // Port where the webhook is served. Port int // RegistrationDelay controls how long validation requests // occurs after the webhook is started. This is used to avoid // potential races where registration completes and k8s apiserver // invokes the webhook before the HTTP server is started. RegistrationDelay time.Duration // ClientAuthType declares the policy the webhook server will follow for TLS Client Authentication. ClientAuth tls.ClientAuthType // CaCert is the CA Cert for the webhook server. CaCert []byte // FailurePolicy policy governs the webhook validation decisions. FailurePolicy admissionregistrationv1beta1.FailurePolicyType // Logger is the configured logger for the webhook. Logger *zap.SugaredLogger // KubeClient is the K8 client to the target cluster. KubeClient kubernetes.Interface }
APICoverageWebhook encapsulates necessary configuration details for the api-coverage webhook.
func BuildWebhookConfiguration ¶
func BuildWebhookConfiguration(componentCommonName string, webhookName string, namespace string) *APICoverageWebhook
BuildWebhookConfiguration builds the APICoverageWebhook object using the provided names.
func (*APICoverageWebhook) SetupWebhook ¶
func (acw *APICoverageWebhook) SetupWebhook(handler http.Handler, resources map[schema.GroupVersionKind]resourcesemantics.GenericCRD, namespace string, stop <-chan struct{}) error
SetupWebhook sets up the webhook with the provided http.handler, resourcegroup Map, namespace and stop channel.