@@ -16,19 +16,45 @@ import (
1616)
1717
1818const (
19- brokerService = "broker-service"
20- highCpuUsage = "high_cpu_usage"
19+ brokerServiceDefault = "broker-service"
20+ brokerServiceEnv = "HIGH_CPU_USAGE_BROKER_SERVICE_NAME"
21+
22+ highCpuUsageDefault = "high_cpu_usage"
23+ highCpuUsageEnv = "HIGH_CPU_USAGE_FLAG_NAME"
2124
2225 cpuLimitValueDefault = "300m"
2326 cpuLimitValueEnv = "HIGH_CPU_USAGE_BROKER_SERVICE_CPU_LIMIT"
2427)
2528
2629type BrokerController struct {
27- logger * zap.SugaredLogger
30+ logger * zap.SugaredLogger
31+ brokerService string
32+ highCpuUsage string
33+ cpuLimitValue string
2834}
2935
3036func NewBrokerController (l * zap.SugaredLogger ) * BrokerController {
31- return & BrokerController {logger : l }
37+ brokerService := os .Getenv (brokerServiceEnv )
38+ if brokerService == "" {
39+ brokerService = brokerServiceDefault
40+ }
41+
42+ highCpuUsage := os .Getenv (highCpuUsageEnv )
43+ if highCpuUsage == "" {
44+ highCpuUsage = highCpuUsageDefault
45+ }
46+
47+ cpuLimitValue := os .Getenv (cpuLimitValueEnv )
48+ if cpuLimitValue == "" {
49+ cpuLimitValue = cpuLimitValueDefault
50+ }
51+
52+ return & BrokerController {
53+ logger : l ,
54+ brokerService : brokerService ,
55+ highCpuUsage : highCpuUsage ,
56+ cpuLimitValue : cpuLimitValue ,
57+ }
3258}
3359
3460func (c * BrokerController ) ApplyChange (
@@ -42,12 +68,7 @@ func (c *BrokerController) ApplyChange(
4268 return fmt .Errorf ("unable to cast %s object to appsv1.Deployment: %w" , obj .GetName (), controllers .ErrObjectCast )
4369 }
4470
45- cpuLimitStr , found := os .LookupEnv (cpuLimitValueEnv )
46- if ! found {
47- cpuLimitStr = cpuLimitValueDefault
48- }
49-
50- cpuLimit , err := resource .ParseQuantity (cpuLimitStr )
71+ cpuLimit , err := resource .ParseQuantity (c .cpuLimitValue )
5172 if err != nil {
5273 return fmt .Errorf ("can't use %s as resource quantity: %w" , cpuLimit .String (), err )
5374 }
@@ -112,7 +133,7 @@ func (c *BrokerController) GetResource(
112133 namespace string ,
113134 client kubernetes.Interface ,
114135) (operator.Object , error ) {
115- deployment , err := client .AppsV1 ().Deployments (namespace ).Get (ctx , brokerService , metav1.GetOptions {})
136+ deployment , err := client .AppsV1 ().Deployments (namespace ).Get (ctx , c . brokerService , metav1.GetOptions {})
116137 if err != nil {
117138 return nil , fmt .Errorf ("failed to get the deployment: %w" , err )
118139 }
@@ -123,5 +144,5 @@ func (c *BrokerController) GetResource(
123144}
124145
125146func (c * BrokerController ) GetFlagName () string {
126- return highCpuUsage
147+ return c . highCpuUsage
127148}
0 commit comments