Skip to content

Commit 63e4ba7

Browse files
committed
wip
1 parent c31d06e commit 63e4ba7

File tree

1 file changed

+28
-0
lines changed
  • src/shared/operatorconfig/enforcement

1 file changed

+28
-0
lines changed

src/shared/operatorconfig/enforcement/config.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package enforcement
33
import (
44
"github.com/amit7itz/goset"
55
"github.com/otterize/intents-operator/src/shared/operatorconfig/automate_third_party_network_policy"
6+
"github.com/otterize/intents-operator/src/shared/serviceidresolver/serviceidentity"
7+
"github.com/samber/lo"
8+
"github.com/sirupsen/logrus"
69
"github.com/spf13/pflag"
710
"github.com/spf13/viper"
811
)
@@ -20,6 +23,7 @@ type Config struct {
2023
EnableLinkerdPolicies bool
2124
EnforcedNamespaces *goset.Set[string]
2225
AutomateThirdPartyNetworkPolicies automate_third_party_network_policy.Enum
26+
MetricsScrapingServiceIdentities []serviceidentity.ServiceIdentity
2327
}
2428

2529
func (c Config) GetAutomateThirdPartyNetworkPolicy() automate_third_party_network_policy.Enum {
@@ -64,6 +68,7 @@ const (
6468
EnableGCPPolicyDefault = false
6569
EnableAzurePolicyKey = "enable-azure-iam-policy"
6670
EnableAzurePolicyDefault = false
71+
MetricsCollectionServerConfigKey = "metricsScrapingServer"
6772
)
6873

6974
func init() {
@@ -108,5 +113,28 @@ func GetConfig() Config {
108113
EnableAzurePolicy: viper.GetBool(EnableAzurePolicyKey),
109114
EnforcedNamespaces: goset.FromSlice(viper.GetStringSlice(ActiveEnforcementNamespacesKey)),
110115
AutomateThirdPartyNetworkPolicies: automate_third_party_network_policy.Enum(viper.GetString(AutomateThirdPartyNetworkPoliciesKey)),
116+
MetricsScrapingServiceIdentities: GetMetricsScrapingServiceIdentities(),
111117
}
112118
}
119+
120+
type ServiceIdentityConfig struct {
121+
Name string
122+
Namespace string
123+
Kind string
124+
}
125+
126+
func GetMetricsScrapingServiceIdentities() []serviceidentity.ServiceIdentity {
127+
controllers := make([]ServiceIdentityConfig, 0)
128+
err := viper.UnmarshalKey(MetricsCollectionServerConfigKey, &controllers)
129+
if err != nil {
130+
logrus.WithError(err).Panic("Failed to unmarshal metrics scraping server config")
131+
}
132+
133+
return lo.Map(controllers, func(controller ServiceIdentityConfig, _ int) serviceidentity.ServiceIdentity {
134+
return serviceidentity.ServiceIdentity{
135+
Name: controller.Name,
136+
Namespace: controller.Namespace,
137+
Kind: controller.Kind,
138+
}
139+
})
140+
}

0 commit comments

Comments
 (0)