28 lines
657 B
Go
28 lines
657 B
Go
package base
|
|
|
|
import (
|
|
"regexp"
|
|
|
|
virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1"
|
|
|
|
docker "github.com/docker/distribution/reference"
|
|
)
|
|
|
|
var (
|
|
dockerImageRegexp = regexp.MustCompile(`^` + docker.TagRegexp.String() + `$`)
|
|
)
|
|
|
|
func (r *ReconcileJenkinsBaseConfiguration) validate(jenkins *virtuslabv1alpha1.Jenkins) bool {
|
|
if jenkins.Spec.Master.Image == "" {
|
|
r.logger.V(0).Info("Image not set")
|
|
return false
|
|
}
|
|
|
|
if !dockerImageRegexp.MatchString(jenkins.Spec.Master.Image) && !docker.ReferenceRegexp.MatchString(jenkins.Spec.Master.Image) {
|
|
r.logger.V(0).Info("Invalid image")
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|