github.com/kubewharf/katalyst-core@v0.5.3/pkg/config/controller/spd.go (about)

     1  /*
     2  Copyright 2022 The Katalyst Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package controller
    18  
    19  import "time"
    20  
    21  type SPDConfig struct {
    22  	// ReSyncPeriod controls the resync period to generate spd
    23  	ReSyncPeriod time.Duration
    24  
    25  	// SPDWorkloadGVResources define those SPD concerned GVRs
    26  	SPDWorkloadGVResources []string
    27  	// SPDPodLabelIndexerKeys are used
    28  	SPDPodLabelIndexerKeys []string
    29  
    30  	// EnableCNCCache is to sync spd cnc target config
    31  	EnableCNCCache bool
    32  
    33  	IndicatorPlugins []string
    34  
    35  	BaselinePercent map[string]int64
    36  }
    37  
    38  func NewSPDConfig() *SPDConfig {
    39  	return &SPDConfig{
    40  		BaselinePercent: map[string]int64{},
    41  	}
    42  }