feat: Added support for enabling metrics in Feast Operator (#5317) by jfw-ppi · Pull Request #5748 · feast-dev/feast
container.StartupProbe = &corev1.Probe{
deploySettings := FeastServiceConstants[feastType] deploySettings.Args = append([]string{}, deploySettings.Args...) if feastType == OnlineFeastType && feast.isMetricsEnabled(feastType) { deploySettings.Args = append([]string{deploySettings.Args[0], "--metrics"}, deploySettings.Args[1:]...) } targetPort := deploySettings.TargetHttpPort tls := feast.getTlsConfigs(feastType)
if feastType == OnlineFeastType && feast.isMetricsEnabled(feastType) { svc.Spec.Ports = append(svc.Spec.Ports, corev1.ServicePort{ Name: "metrics", Port: MetricsPort, Protocol: corev1.ProtocolTCP, TargetPort: intstr.FromInt(int(MetricsPort)), }) }
return controllerutil.SetControllerReference(feast.Handler.FeatureStore, svc, feast.Handler.Scheme) }
func (feast *FeastServices) isMetricsEnabled(feastType FeastServiceType) bool { if feastType != OnlineFeastType { return false }
if serviceConfigs := feast.getServerConfigs(feastType); serviceConfigs != nil && serviceConfigs.Metrics != nil { return *serviceConfigs.Metrics }
return false }
func (feast *FeastServices) getNodeSelectorForType(feastType FeastServiceType) *map[string]string { if serviceConfigs := feast.getServerConfigs(feastType); serviceConfigs != nil { return serviceConfigs.ContainerConfigs.OptionalCtrConfigs.NodeSelector
func applyCtrConfigs(container *corev1.Container, containerConfigs feastdevv1alpha1.ContainerConfigs) { container.Image = *containerConfigs.DefaultCtrConfigs.Image if containerConfigs.DefaultCtrConfigs.Image != nil { container.Image = *containerConfigs.DefaultCtrConfigs.Image } // apply optional container configs if containerConfigs.OptionalCtrConfigs.Env != nil { container.Env = envOverride(container.Env, *containerConfigs.OptionalCtrConfigs.Env)