소스 검색

support namespace for provisioner job

Alexander Belanger 4 년 전
부모
커밋
9236a10831

+ 1 - 0
api/server/handlers/provision/helpers.go

@@ -57,6 +57,7 @@ func GetSharedProvisionerOpts(conf *config.Config, infra *models.Infra) (*provis
 		DryRun:              true,
 		Infra:               infra,
 		ProvImageTag:        conf.ServerConf.ProvisionerImageTag,
+		ProvJobNamespace:    conf.ServerConf.ProvisionerJobNamespace,
 		ProvImagePullSecret: conf.ServerConf.ProvisionerImagePullSecret,
 		TFHTTPBackendURL:    conf.ServerConf.ProvisionerBackendURL,
 		CredentialExchange: &provisioner.ProvisionCredentialExchange{

+ 1 - 0
api/server/shared/config/env/envconfs.go

@@ -59,6 +59,7 @@ type ServerConf struct {
 	// Options for the provisioner jobs
 	ProvisionerImageTag        string `env:"PROV_IMAGE_TAG,default=latest"`
 	ProvisionerImagePullSecret string `env:"PROV_IMAGE_PULL_SECRET"`
+	ProvisionerJobNamespace    string `env:"PROV_JOB_NAMESPACE,default=default"`
 	ProvisionerBackendURL      string `env:"PROV_BACKEND_URL"`
 
 	SegmentClientKey string `env:"SEGMENT_CLIENT_KEY"`

+ 1 - 1
internal/kubernetes/agent.go

@@ -990,7 +990,7 @@ func (a *Agent) Provision(
 	}
 
 	// apply the provisioner job template
-	_, err = a.Clientset.BatchV1().Jobs("default").Create(
+	_, err = a.Clientset.BatchV1().Jobs(opts.ProvJobNamespace).Create(
 		context.TODO(),
 		job,
 		metav1.CreateOptions{},

+ 2 - 1
internal/kubernetes/provisioner/provisioner.go

@@ -34,6 +34,7 @@ type ProvisionOpts struct {
 	DryRun              bool
 	Infra               *models.Infra
 	ProvImageTag        string
+	ProvJobNamespace    string
 	ProvImagePullSecret string
 	TFHTTPBackendURL    string
 	CredentialExchange  *ProvisionCredentialExchange
@@ -83,7 +84,7 @@ func GetProvisionerJobTemplate(opts *ProvisionOpts) (*batchv1.Job, error) {
 	return &batchv1.Job{
 		ObjectMeta: metav1.ObjectMeta{
 			Name:      opts.Infra.GetUniqueName(),
-			Namespace: "default",
+			Namespace: opts.ProvJobNamespace,
 			Labels:    labels,
 		},
 		Spec: batchv1.JobSpec{