File tree Expand file tree Collapse file tree 4 files changed +56
-0
lines changed
pkg/package-server/apis/operators Expand file tree Collapse file tree 4 files changed +56
-0
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,9 @@ func CreateCSVDescription(csv *operatorsv1alpha1.ClusterServiceVersion) CSVDescr
22
22
Owned : descriptionsForAPIServices (csv .Spec .APIServiceDefinitions .Owned ),
23
23
Required : descriptionsForAPIServices (csv .Spec .APIServiceDefinitions .Required ),
24
24
},
25
+ NativeAPIs : csv .Spec .NativeAPIs ,
26
+ MinKubeVersion : csv .Spec .MinKubeVersion ,
27
+ RelatedImages : GetRelatedImages (csv ),
25
28
}
26
29
27
30
icons := make ([]Icon , len (csv .Spec .Icon ))
@@ -69,3 +72,21 @@ func descriptionsForAPIServices(apis []operatorsv1alpha1.APIServiceDescription)
69
72
}
70
73
return descriptions
71
74
}
75
+
76
+ // GetRelatedImages returns a list of images listed in Deployments
77
+ func GetRelatedImages (csv * operatorsv1alpha1.ClusterServiceVersion ) []string {
78
+ var images []string
79
+ imageSet := make (map [string ]struct {})
80
+
81
+ for _ , deployment := range csv .Spec .InstallStrategy .StrategySpec .DeploymentSpecs {
82
+ for _ , container := range deployment .Spec .Template .Spec .Containers {
83
+ imageSet [container .Image ] = struct {}{}
84
+ }
85
+ }
86
+
87
+ for k := range imageSet {
88
+ images = append (images , k )
89
+ }
90
+
91
+ return images
92
+ }
Original file line number Diff line number Diff line change @@ -107,6 +107,13 @@ type CSVDescription struct {
107
107
108
108
CustomResourceDefinitions operatorv1alpha1.CustomResourceDefinitions
109
109
APIServiceDefinitions operatorv1alpha1.APIServiceDefinitions
110
+ NativeAPIs []metav1.GroupVersionKind `json:"nativeapis,omitempty"`
111
+
112
+ // Minimum Kubernetes version for operator installation
113
+ MinKubeVersion string `json:"minkubeversion,omitempty"`
114
+
115
+ // List of related images
116
+ RelatedImages []string `json:"relatedimages,omitempty"`
110
117
}
111
118
112
119
// AppLink defines a link to an application
Original file line number Diff line number Diff line change @@ -16,6 +16,9 @@ func CreateCSVDescription(csv *operatorsv1alpha1.ClusterServiceVersion) CSVDescr
16
16
InstallModes : csv .Spec .InstallModes ,
17
17
CustomResourceDefinitions : csv .Spec .CustomResourceDefinitions ,
18
18
APIServiceDefinitions : csv .Spec .APIServiceDefinitions ,
19
+ NativeAPIs : csv .Spec .NativeAPIs ,
20
+ MinKubeVersion : csv .Spec .MinKubeVersion ,
21
+ RelatedImages : GetRelatedImages (csv ),
19
22
}
20
23
21
24
icons := make ([]Icon , len (csv .Spec .Icon ))
@@ -32,3 +35,21 @@ func CreateCSVDescription(csv *operatorsv1alpha1.ClusterServiceVersion) CSVDescr
32
35
33
36
return desc
34
37
}
38
+
39
+ // GetRelatedImages returns a list of images listed in Deployments
40
+ func GetRelatedImages (csv * operatorsv1alpha1.ClusterServiceVersion ) []string {
41
+ var images []string
42
+ imageSet := make (map [string ]struct {})
43
+
44
+ for _ , deployment := range csv .Spec .InstallStrategy .StrategySpec .DeploymentSpecs {
45
+ for _ , container := range deployment .Spec .Template .Spec .Containers {
46
+ imageSet [container .Image ] = struct {}{}
47
+ }
48
+ }
49
+
50
+ for k := range imageSet {
51
+ images = append (images , k )
52
+ }
53
+
54
+ return images
55
+ }
Original file line number Diff line number Diff line change @@ -109,6 +109,13 @@ type CSVDescription struct {
109
109
110
110
CustomResourceDefinitions operatorv1alpha1.CustomResourceDefinitions `json:"customresourcedefinitions,omitempty"`
111
111
APIServiceDefinitions operatorv1alpha1.APIServiceDefinitions `json:"apiservicedefinitions,omitempty"`
112
+ NativeAPIs []metav1.GroupVersionKind `json:"nativeapis,omitempty"`
113
+
114
+ // Minimum Kubernetes version for operator installation
115
+ MinKubeVersion string `json:"minkubeversion,omitempty"`
116
+
117
+ // List of related images
118
+ RelatedImages []string `json:"relatedimages,omitempty"`
112
119
}
113
120
114
121
// AppLink defines a link to an application
You can’t perform that action at this time.
0 commit comments