diff --git a/components/component.go b/components/component.go index d8cf1b240e8..5ba4c40d990 100644 --- a/components/component.go +++ b/components/component.go @@ -135,6 +135,8 @@ func (c *Component) UpdatePrometheusConfig(_ client.Client, enable bool, compone KueueARules string `yaml:"kueue-alerting.rules"` TrainingOperatorRRules string `yaml:"trainingoperator-recording.rules"` TrainingOperatorARules string `yaml:"trainingoperator-alerting.rules"` + ModelRegistryRRules string `yaml:"model-registry-operator-recording.rules"` + ModelRegistryARules string `yaml:"model-registry-operator-alerting.rules"` } `yaml:"data"` } var configMap ConfigMap diff --git a/components/modelregistry/modelregistry.go b/components/modelregistry/modelregistry.go index 4e70cbf79bb..be8bb84602d 100644 --- a/components/modelregistry/modelregistry.go +++ b/components/modelregistry/modelregistry.go @@ -67,6 +67,7 @@ func (m *ModelRegistry) ReconcileComponent(ctx context.Context, cli client.Clien "IMAGES_REST_SERVICE": "RELATED_IMAGE_ODH_MODEL_REGISTRY_IMAGE", } enabled := m.GetManagementState() == operatorv1.Managed + monitoringEnabled := dscispec.Monitoring.ManagementState == operatorv1.Managed if enabled { if m.DevFlags != nil { @@ -102,5 +103,24 @@ func (m *ModelRegistry) ReconcileComponent(ctx context.Context, cli client.Clien } l.Info("apply extra manifests done") + // CloudService Monitoring handling + if platform == cluster.ManagedRhods { + if enabled { + if err := cluster.WaitForDeploymentAvailable(ctx, cli, ComponentName, dscispec.ApplicationsNamespace, 10, 1); err != nil { + return fmt.Errorf("deployment for %s is not ready to server: %w", ComponentName, err) + } + l.Info("deployment is done, updating monitoring rules") + } + if err := m.UpdatePrometheusConfig(cli, enabled && monitoringEnabled, ComponentName); err != nil { + return err + } + if err := deploy.DeployManifestsFromPath(ctx, cli, owner, + filepath.Join(deploy.DefaultManifestPath, "monitoring", "prometheus", "apps"), + dscispec.Monitoring.Namespace, + "prometheus", true); err != nil { + return err + } + l.Info("updating SRE monitoring done") + } return nil }