Skip to content

Commit

Permalink
feat: add support for multiple images in plugins (#689)
Browse files Browse the repository at this point in the history
Signed-off-by: Gabriel Bernal <[email protected]>
  • Loading branch information
jgbernalp authored Feb 28, 2025
1 parent cd66c38 commit e42e8a8
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 18 deletions.
24 changes: 13 additions & 11 deletions cmd/operator/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,19 @@ import (
// prometheus-operator. For thanos we use the default version from
// prometheus-operator.
var defaultImages = map[string]string{
"prometheus": "",
"alertmanager": "",
"thanos": obopo.DefaultThanosImage,
"ui-dashboards": "quay.io/openshift-observability-ui/console-dashboards-plugin:v0.4.0",
"ui-troubleshooting-panel": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v0.4.0",
"ui-distributed-tracing": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.4.0",
"ui-logging": "quay.io/openshift-observability-ui/logging-view-plugin:v6.1.0",
"ui-monitoring": "quay.io/openshift-observability-ui/monitoring-console-plugin:release-coo-1.1",
"korrel8r": "quay.io/korrel8r/korrel8r:0.7.4",
"health-analyzer": "quay.io/openshiftanalytics/cluster-health-analyzer:v0.3.0",
"perses": "quay.io/persesdev/perses:v0.50.1",
"prometheus": "",
"alertmanager": "",
"thanos": obopo.DefaultThanosImage,
"ui-dashboards": "quay.io/openshift-observability-ui/console-dashboards-plugin:v0.4.0",
"ui-troubleshooting-panel": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v0.4.0",
"ui-distributed-tracing-pf4": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.3.0",
"ui-distributed-tracing": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.4.0",
"ui-logging-pf4": "quay.io/openshift-observability-ui/logging-view-plugin:v6.0.0",
"ui-logging": "quay.io/openshift-observability-ui/logging-view-plugin:v6.1.0",
"ui-monitoring": "quay.io/openshift-observability-ui/monitoring-console-plugin:release-coo-1.1",
"korrel8r": "quay.io/korrel8r/korrel8r:0.7.4",
"health-analyzer": "quay.io/openshiftanalytics/cluster-health-analyzer:v0.3.0",
"perses": "quay.io/persesdev/perses:v0.50.1",
}

func imagesUsed() []string {
Expand Down
26 changes: 23 additions & 3 deletions pkg/controllers/uiplugin/compatibility_matrix.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@ var compatibilityMatrix = []CompatibilityEntry{
{
PluginType: uiv1alpha1.TypeDistributedTracing,
MinClusterVersion: "v4.11",
MaxClusterVersion: "v4.15",
ImageKey: "ui-distributed-tracing-pf4",
SupportLevel: TechPreview,
Features: []string{},
},
{
PluginType: uiv1alpha1.TypeDistributedTracing,
MinClusterVersion: "v4.15",
MaxClusterVersion: "",
ImageKey: "ui-distributed-tracing",
SupportLevel: TechPreview,
Expand All @@ -65,15 +73,15 @@ var compatibilityMatrix = []CompatibilityEntry{
PluginType: uiv1alpha1.TypeLogging,
MinClusterVersion: "v4.11",
MaxClusterVersion: "v4.12",
ImageKey: "ui-logging",
ImageKey: "ui-logging-pf4",
SupportLevel: GeneralAvailability,
Features: []string{},
},
{
PluginType: uiv1alpha1.TypeLogging,
MinClusterVersion: "v4.12",
MaxClusterVersion: "v4.13",
ImageKey: "ui-logging",
ImageKey: "ui-logging-pf4",
SupportLevel: GeneralAvailability,
Features: []string{
"dev-console",
Expand All @@ -83,7 +91,7 @@ var compatibilityMatrix = []CompatibilityEntry{
PluginType: uiv1alpha1.TypeLogging,
MinClusterVersion: "v4.13",
MaxClusterVersion: "v4.14",
ImageKey: "ui-logging",
ImageKey: "ui-logging-pf4",
SupportLevel: GeneralAvailability,
Features: []string{
"dev-console",
Expand All @@ -93,6 +101,18 @@ var compatibilityMatrix = []CompatibilityEntry{
{
PluginType: uiv1alpha1.TypeLogging,
MinClusterVersion: "v4.14",
MaxClusterVersion: "v4.15",
ImageKey: "ui-logging-pf4",
SupportLevel: GeneralAvailability,
Features: []string{
"dev-console",
"alerts",
"dev-alerts",
},
},
{
PluginType: uiv1alpha1.TypeLogging,
MinClusterVersion: "v4.15",
MaxClusterVersion: "",
ImageKey: "ui-logging",
SupportLevel: GeneralAvailability,
Expand Down
31 changes: 27 additions & 4 deletions pkg/controllers/uiplugin/compatibility_matrix_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
{
pluginType: uiv1alpha1.TypeLogging,
clusterVersion: "4.13",
expectedKey: "ui-logging",
expectedKey: "ui-logging-pf4",
expectedErr: nil,
expectedFeatures: []string{
"dev-console",
Expand All @@ -82,7 +82,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
{
pluginType: uiv1alpha1.TypeLogging,
clusterVersion: "v4.13.45",
expectedKey: "ui-logging",
expectedKey: "ui-logging-pf4",
expectedErr: nil,
expectedFeatures: []string{
"dev-console",
Expand All @@ -92,7 +92,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
{
pluginType: uiv1alpha1.TypeLogging,
clusterVersion: "v4.14",
expectedKey: "ui-logging",
expectedKey: "ui-logging-pf4",
expectedErr: nil,
expectedFeatures: []string{
"dev-console",
Expand All @@ -103,6 +103,17 @@ func TestLookupImageAndFeatures(t *testing.T) {
{
pluginType: uiv1alpha1.TypeLogging,
clusterVersion: "v4.14.1",
expectedKey: "ui-logging-pf4",
expectedErr: nil,
expectedFeatures: []string{
"dev-console",
"alerts",
"dev-alerts",
},
},
{
pluginType: uiv1alpha1.TypeLogging,
clusterVersion: "v4.15",
expectedKey: "ui-logging",
expectedErr: nil,
expectedFeatures: []string{
Expand All @@ -125,7 +136,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
{
pluginType: uiv1alpha1.TypeLogging,
clusterVersion: "4.11",
expectedKey: "ui-logging",
expectedKey: "ui-logging-pf4",
expectedErr: nil,
},
{
Expand Down Expand Up @@ -157,6 +168,18 @@ func TestLookupImageAndFeatures(t *testing.T) {
{
pluginType: uiv1alpha1.TypeDistributedTracing,
clusterVersion: "4.11",
expectedKey: "ui-distributed-tracing-pf4",
expectedErr: nil,
},
{
pluginType: uiv1alpha1.TypeDistributedTracing,
clusterVersion: "4.14",
expectedKey: "ui-distributed-tracing-pf4",
expectedErr: nil,
},
{
pluginType: uiv1alpha1.TypeDistributedTracing,
clusterVersion: "4.15",
expectedKey: "ui-distributed-tracing",
expectedErr: nil,
},
Expand Down

0 comments on commit e42e8a8

Please sign in to comment.