#1 Split plugins in two groups:required by operator and required by user

This commit is contained in:
Tomasz Sęk
2019-02-16 20:29:59 +01:00
parent dd04c0cf5b
commit 08b6dfb691
13 changed files with 349 additions and 250 deletions
+4 -1
View File
@@ -22,7 +22,10 @@ type JenkinsMaster struct {
Image string `json:"image,omitempty"`
Annotations map[string]string `json:"masterAnnotations,omitempty"`
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
Plugins map[string][]string `json:"plugins,omitempty"`
// OperatorPlugins contains plugins required by operator
OperatorPlugins map[string][]string `json:"basePlugins,omitempty"`
// Plugins contains plugins required by user
Plugins map[string][]string `json:"plugins,omitempty"`
}
// JenkinsStatus defines the observed state of Jenkins
@@ -121,6 +121,21 @@ func (in *JenkinsMaster) DeepCopyInto(out *JenkinsMaster) {
}
}
in.Resources.DeepCopyInto(&out.Resources)
if in.OperatorPlugins != nil {
in, out := &in.OperatorPlugins, &out.OperatorPlugins
*out = make(map[string][]string, len(*in))
for key, val := range *in {
var outVal []string
if val == nil {
(*out)[key] = nil
} else {
in, out := &val, &outVal
*out = make([]string, len(*in))
copy(*out, *in)
}
(*out)[key] = outVal
}
}
if in.Plugins != nil {
in, out := &in.Plugins, &out.Plugins
*out = make(map[string][]string, len(*in))