#28 Enable groovy scripts secret loader
This commit is contained in:
parent
28dba98cd9
commit
0e4ae15506
|
|
@ -112,10 +112,7 @@ func (r *ReconcileUserConfiguration) ensureUserConfiguration(jenkinsClient jenki
|
||||||
}
|
}
|
||||||
requeue, err = groovyClient.Ensure(func(name string) bool {
|
requeue, err = groovyClient.Ensure(func(name string) bool {
|
||||||
return strings.HasSuffix(name, ".groovy")
|
return strings.HasSuffix(name, ".groovy")
|
||||||
}, func(groovyScript string) string {
|
}, groovy.AddSecretsLoaderToGroovyScript(resources.GroovyScriptsSecretVolumePath))
|
||||||
// TODO load secrets to variables
|
|
||||||
return groovyScript
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return reconcile.Result{}, err
|
return reconcile.Result{}, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,15 @@ package e2e
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/groovy"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/bndr/gojenkins"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
||||||
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client"
|
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins"
|
||||||
|
|
||||||
"github.com/bndr/gojenkins"
|
|
||||||
framework "github.com/operator-framework/operator-sdk/pkg/test"
|
framework "github.com/operator-framework/operator-sdk/pkg/test"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
|
|
@ -73,7 +73,6 @@ func TestConfiguration(t *testing.T) {
|
||||||
createDefaultLimitsForContainersInNamespace(t, namespace)
|
createDefaultLimitsForContainersInNamespace(t, namespace)
|
||||||
createKubernetesCredentialsProviderSecret(t, namespace, mySeedJob)
|
createKubernetesCredentialsProviderSecret(t, namespace, mySeedJob)
|
||||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||||
|
|
||||||
verifyJenkinsMasterPodAttributes(t, jenkins)
|
verifyJenkinsMasterPodAttributes(t, jenkins)
|
||||||
client := verifyJenkinsAPIConnection(t, jenkins)
|
client := verifyJenkinsAPIConnection(t, jenkins)
|
||||||
verifyPlugins(t, client, jenkins)
|
verifyPlugins(t, client, jenkins)
|
||||||
|
|
@ -92,6 +91,7 @@ func createUserConfigurationSecret(t *testing.T, namespace string, systemMessage
|
||||||
},
|
},
|
||||||
StringData: map[string]string{
|
StringData: map[string]string{
|
||||||
systemMessageEnvName: systemMessage,
|
systemMessageEnvName: systemMessage,
|
||||||
|
"numberOfExecutors": "3",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -275,6 +275,15 @@ if (!new Integer(%d).equals(Jenkins.instance.numExecutors)) {
|
||||||
logs, err := jenkinsClient.ExecuteScript(checkConfigurationViaGroovyScript)
|
logs, err := jenkinsClient.ExecuteScript(checkConfigurationViaGroovyScript)
|
||||||
assert.NoError(t, err, logs)
|
assert.NoError(t, err, logs)
|
||||||
|
|
||||||
|
checkSecretLoaderViaGroovyScript := fmt.Sprintf(`
|
||||||
|
if (new Integer(%d).equals(secrets['numberOfExecutors'])) {
|
||||||
|
throw new Exception("Falied")
|
||||||
|
}`, amountOfExecutors)
|
||||||
|
|
||||||
|
loader := groovy.AddSecretsLoaderToGroovyScript("/var/jenkins/groovy-scripts-secrets")
|
||||||
|
logs, err = jenkinsClient.ExecuteScript(loader(checkSecretLoaderViaGroovyScript))
|
||||||
|
assert.NoError(t, err, logs)
|
||||||
|
|
||||||
checkConfigurationAsCode := fmt.Sprintf(`
|
checkConfigurationAsCode := fmt.Sprintf(`
|
||||||
if (!"%s".equals(Jenkins.instance.systemMessage)) {
|
if (!"%s".equals(Jenkins.instance.systemMessage)) {
|
||||||
throw new Exception("Configuration as code failed")
|
throw new Exception("Configuration as code failed")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue