Skip to content

Commit e42e8a8

Browse files
authored
feat: add support for multiple images in plugins (#689)
Signed-off-by: Gabriel Bernal <[email protected]>
1 parent cd66c38 commit e42e8a8

File tree

3 files changed

+63
-18
lines changed

3 files changed

+63
-18
lines changed

cmd/operator/main.go

+13-11
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,19 @@ import (
3636
// prometheus-operator. For thanos we use the default version from
3737
// prometheus-operator.
3838
var defaultImages = map[string]string{
39-
"prometheus": "",
40-
"alertmanager": "",
41-
"thanos": obopo.DefaultThanosImage,
42-
"ui-dashboards": "quay.io/openshift-observability-ui/console-dashboards-plugin:v0.4.0",
43-
"ui-troubleshooting-panel": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v0.4.0",
44-
"ui-distributed-tracing": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.4.0",
45-
"ui-logging": "quay.io/openshift-observability-ui/logging-view-plugin:v6.1.0",
46-
"ui-monitoring": "quay.io/openshift-observability-ui/monitoring-console-plugin:release-coo-1.1",
47-
"korrel8r": "quay.io/korrel8r/korrel8r:0.7.4",
48-
"health-analyzer": "quay.io/openshiftanalytics/cluster-health-analyzer:v0.3.0",
49-
"perses": "quay.io/persesdev/perses:v0.50.1",
39+
"prometheus": "",
40+
"alertmanager": "",
41+
"thanos": obopo.DefaultThanosImage,
42+
"ui-dashboards": "quay.io/openshift-observability-ui/console-dashboards-plugin:v0.4.0",
43+
"ui-troubleshooting-panel": "quay.io/openshift-observability-ui/troubleshooting-panel-console-plugin:v0.4.0",
44+
"ui-distributed-tracing-pf4": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.3.0",
45+
"ui-distributed-tracing": "quay.io/openshift-observability-ui/distributed-tracing-console-plugin:v0.4.0",
46+
"ui-logging-pf4": "quay.io/openshift-observability-ui/logging-view-plugin:v6.0.0",
47+
"ui-logging": "quay.io/openshift-observability-ui/logging-view-plugin:v6.1.0",
48+
"ui-monitoring": "quay.io/openshift-observability-ui/monitoring-console-plugin:release-coo-1.1",
49+
"korrel8r": "quay.io/korrel8r/korrel8r:0.7.4",
50+
"health-analyzer": "quay.io/openshiftanalytics/cluster-health-analyzer:v0.3.0",
51+
"perses": "quay.io/persesdev/perses:v0.50.1",
5052
}
5153

5254
func imagesUsed() []string {

pkg/controllers/uiplugin/compatibility_matrix.go

+23-3
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ var compatibilityMatrix = []CompatibilityEntry{
5656
{
5757
PluginType: uiv1alpha1.TypeDistributedTracing,
5858
MinClusterVersion: "v4.11",
59+
MaxClusterVersion: "v4.15",
60+
ImageKey: "ui-distributed-tracing-pf4",
61+
SupportLevel: TechPreview,
62+
Features: []string{},
63+
},
64+
{
65+
PluginType: uiv1alpha1.TypeDistributedTracing,
66+
MinClusterVersion: "v4.15",
5967
MaxClusterVersion: "",
6068
ImageKey: "ui-distributed-tracing",
6169
SupportLevel: TechPreview,
@@ -65,15 +73,15 @@ var compatibilityMatrix = []CompatibilityEntry{
6573
PluginType: uiv1alpha1.TypeLogging,
6674
MinClusterVersion: "v4.11",
6775
MaxClusterVersion: "v4.12",
68-
ImageKey: "ui-logging",
76+
ImageKey: "ui-logging-pf4",
6977
SupportLevel: GeneralAvailability,
7078
Features: []string{},
7179
},
7280
{
7381
PluginType: uiv1alpha1.TypeLogging,
7482
MinClusterVersion: "v4.12",
7583
MaxClusterVersion: "v4.13",
76-
ImageKey: "ui-logging",
84+
ImageKey: "ui-logging-pf4",
7785
SupportLevel: GeneralAvailability,
7886
Features: []string{
7987
"dev-console",
@@ -83,7 +91,7 @@ var compatibilityMatrix = []CompatibilityEntry{
8391
PluginType: uiv1alpha1.TypeLogging,
8492
MinClusterVersion: "v4.13",
8593
MaxClusterVersion: "v4.14",
86-
ImageKey: "ui-logging",
94+
ImageKey: "ui-logging-pf4",
8795
SupportLevel: GeneralAvailability,
8896
Features: []string{
8997
"dev-console",
@@ -93,6 +101,18 @@ var compatibilityMatrix = []CompatibilityEntry{
93101
{
94102
PluginType: uiv1alpha1.TypeLogging,
95103
MinClusterVersion: "v4.14",
104+
MaxClusterVersion: "v4.15",
105+
ImageKey: "ui-logging-pf4",
106+
SupportLevel: GeneralAvailability,
107+
Features: []string{
108+
"dev-console",
109+
"alerts",
110+
"dev-alerts",
111+
},
112+
},
113+
{
114+
PluginType: uiv1alpha1.TypeLogging,
115+
MinClusterVersion: "v4.15",
96116
MaxClusterVersion: "",
97117
ImageKey: "ui-logging",
98118
SupportLevel: GeneralAvailability,

pkg/controllers/uiplugin/compatibility_matrix_test.go

+27-4
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
7272
{
7373
pluginType: uiv1alpha1.TypeLogging,
7474
clusterVersion: "4.13",
75-
expectedKey: "ui-logging",
75+
expectedKey: "ui-logging-pf4",
7676
expectedErr: nil,
7777
expectedFeatures: []string{
7878
"dev-console",
@@ -82,7 +82,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
8282
{
8383
pluginType: uiv1alpha1.TypeLogging,
8484
clusterVersion: "v4.13.45",
85-
expectedKey: "ui-logging",
85+
expectedKey: "ui-logging-pf4",
8686
expectedErr: nil,
8787
expectedFeatures: []string{
8888
"dev-console",
@@ -92,7 +92,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
9292
{
9393
pluginType: uiv1alpha1.TypeLogging,
9494
clusterVersion: "v4.14",
95-
expectedKey: "ui-logging",
95+
expectedKey: "ui-logging-pf4",
9696
expectedErr: nil,
9797
expectedFeatures: []string{
9898
"dev-console",
@@ -103,6 +103,17 @@ func TestLookupImageAndFeatures(t *testing.T) {
103103
{
104104
pluginType: uiv1alpha1.TypeLogging,
105105
clusterVersion: "v4.14.1",
106+
expectedKey: "ui-logging-pf4",
107+
expectedErr: nil,
108+
expectedFeatures: []string{
109+
"dev-console",
110+
"alerts",
111+
"dev-alerts",
112+
},
113+
},
114+
{
115+
pluginType: uiv1alpha1.TypeLogging,
116+
clusterVersion: "v4.15",
106117
expectedKey: "ui-logging",
107118
expectedErr: nil,
108119
expectedFeatures: []string{
@@ -125,7 +136,7 @@ func TestLookupImageAndFeatures(t *testing.T) {
125136
{
126137
pluginType: uiv1alpha1.TypeLogging,
127138
clusterVersion: "4.11",
128-
expectedKey: "ui-logging",
139+
expectedKey: "ui-logging-pf4",
129140
expectedErr: nil,
130141
},
131142
{
@@ -157,6 +168,18 @@ func TestLookupImageAndFeatures(t *testing.T) {
157168
{
158169
pluginType: uiv1alpha1.TypeDistributedTracing,
159170
clusterVersion: "4.11",
171+
expectedKey: "ui-distributed-tracing-pf4",
172+
expectedErr: nil,
173+
},
174+
{
175+
pluginType: uiv1alpha1.TypeDistributedTracing,
176+
clusterVersion: "4.14",
177+
expectedKey: "ui-distributed-tracing-pf4",
178+
expectedErr: nil,
179+
},
180+
{
181+
pluginType: uiv1alpha1.TypeDistributedTracing,
182+
clusterVersion: "4.15",
160183
expectedKey: "ui-distributed-tracing",
161184
expectedErr: nil,
162185
},

0 commit comments

Comments
 (0)