#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