Skip to content

Commit

Permalink
simplify sigstore featurgate logs
Browse files Browse the repository at this point in the history
Signed-off-by: Qi Wang <qiwan@redhat.com>
  • Loading branch information
QiWang19 committed Mar 5, 2024
1 parent 57b680e commit 25fd6a3
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -217,15 +217,6 @@ func New(

ctrl.configInformerFactory = configInformerFactory

enabled, err := ctrl.sigstoreAPIEnabled()
if enabled {
if err := ctrl.addImagePolicyObservers(); err != nil {
klog.Infof("skipping error adding image policy observers: %v", err)
}
} else {
klog.Infof("skipping adding image policy observers with SigstoreImageVerification Featuregate value: %v, error: %v", enabled, err)
}

return ctrl
}

Expand All @@ -237,18 +228,16 @@ func (ctrl *Controller) Run(workers int, stopCh <-chan struct{}) {
listerCaches := []cache.InformerSynced{ctrl.mcpListerSynced, ctrl.mccrListerSynced, ctrl.ccListerSynced,
ctrl.imgListerSynced, ctrl.icspListerSynced, ctrl.idmsListerSynced, ctrl.itmsListerSynced, ctrl.clusterVersionListerSynced}

enabled, err := ctrl.sigstoreAPIEnabled()
if enabled {
err = ctrl.addImagePolicyObservers()
if err != nil {
klog.Infof("skipping error adding image policy observers: %v", err)
} else {
klog.Info("addded image policy observers")
if ctrl.sigstoreAPIEnabled() {
if !ctrl.addedPolicyObservers {
ctrl.addImagePolicyObservers()
klog.Info("addded image policy observers with sigstore featuregate enabled")
ctrl.configInformerFactory.Start(stopCh)
ctrl.addedPolicyObservers = true
}
if ctrl.addedPolicyObservers {
listerCaches = append(listerCaches, ctrl.clusterImagePolicyListerSynced)
}
} else {
klog.Infof("skipping adding image policy observers with SigstoreImageVerification Featuregate value: %v, error: %v", enabled, err)
}

if !cache.WaitForCacheSync(stopCh, listerCaches...) {
Expand Down Expand Up @@ -326,22 +315,15 @@ func (ctrl *Controller) itmsConfDeleted(_ interface{}) {
ctrl.imgQueue.Add("openshift-config")
}

func (ctrl *Controller) addImagePolicyObservers() error {
if ctrl.addedPolicyObservers {
return fmt.Errorf("already added policy observers")
}
func (ctrl *Controller) addImagePolicyObservers() {
ctrl.clusterImagePolicyInformer = ctrl.configInformerFactory.Config().V1alpha1().ClusterImagePolicies()
if _, err := ctrl.clusterImagePolicyInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
ctrl.clusterImagePolicyInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
AddFunc: ctrl.clusterImagePolicyAdded,
UpdateFunc: ctrl.clusterImagePolicyUpdated,
DeleteFunc: ctrl.clusterImagePolicyDeleted,
}); err != nil {
return fmt.Errorf("error adding clusterImagePolicyInformer event handler: %v", err)
}
})
ctrl.clusterImagePolicyLister = ctrl.clusterImagePolicyInformer.Lister()
ctrl.clusterImagePolicyListerSynced = ctrl.clusterImagePolicyInformer.Informer().HasSynced
ctrl.addedPolicyObservers = true
return nil
}

func (ctrl *Controller) clusterImagePolicyAdded(_ interface{}) {
Expand All @@ -356,13 +338,14 @@ func (ctrl *Controller) clusterImagePolicyDeleted(_ interface{}) {
ctrl.imgQueue.Add("openshift-config")
}

func (ctrl *Controller) sigstoreAPIEnabled() (bool, error) {
func (ctrl *Controller) sigstoreAPIEnabled() bool {
featureGates, err := ctrl.featureGateAccess.CurrentFeatureGates()
if err != nil {
klog.Infof("error getting current featuregates: %v", err)
return false, err
return false
}
return featureGates.Enabled(apicfgv1.FeatureGateSigstoreImageVerification), nil
klog.Infof("getting sigstoreImageVerification featureGate value: %v", featureGates)
return featureGates.Enabled(apicfgv1.FeatureGateSigstoreImageVerification)
}

func (ctrl *Controller) updateContainerRuntimeConfig(oldObj, newObj interface{}) {
Expand Down Expand Up @@ -875,11 +858,8 @@ func (ctrl *Controller) syncImageConfig(key string) error {
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
clusterScopePolicies map[string]signature.PolicyRequirements
)
enabled, err := ctrl.sigstoreAPIEnabled()
if err != nil {
klog.Infof("error getting SigstoreImageVerification Featuregate value: %v", err)
}
if enabled && ctrl.addedPolicyObservers {

if ctrl.sigstoreAPIEnabled() && ctrl.addedPolicyObservers {
// Find all ClusterImagePolicy objects
clusterImagePolicies, err = ctrl.clusterImagePolicyLister.List(labels.Everything())
if err != nil && errors.IsNotFound(err) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,10 @@ func (f *fixture) runExpectError(mcpname string) {

func (f *fixture) runController(mcpname string, expectError bool) {
c := f.newController()

if !c.addedPolicyObservers {
c.addImagePolicyObservers()
c.addedPolicyObservers = true
}
err := c.syncImgHandler(mcpname)
if !expectError && err != nil {
f.t.Errorf("error syncing image config: %v", err)
Expand Down

0 comments on commit 25fd6a3

Please sign in to comment.