summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-09-12 08:08:17 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-09-12 08:08:17 +0000
commitf87809f78de9da04f38134ba5ce0cf9ddebf2f63 (patch)
tree428cac4c906069eb9d63ef32158c0c92b8348a0e
parenta3c3776b5c7fd5c3c6c7bc9ee846b4d105333b32 (diff)
parentaa15c9feecf7e8f69d65371d784c00d6552eebb9 (diff)
downloadgitlab-ce-f87809f78de9da04f38134ba5ce0cf9ddebf2f63.tar.gz
Merge branch 'dz-add-project-id-to-jupyter' into 'master'
Add GitLab project id to jupyter config installed via cluster apps See merge request gitlab-org/gitlab-ce!21341
-rw-r--r--app/models/clusters/applications/jupyter.rb9
-rw-r--r--spec/models/clusters/applications/jupyter_spec.rb13
2 files changed, 22 insertions, 0 deletions
diff --git a/app/models/clusters/applications/jupyter.rb b/app/models/clusters/applications/jupyter.rb
index 3d84eeed5a8..2371b0237d8 100644
--- a/app/models/clusters/applications/jupyter.rb
+++ b/app/models/clusters/applications/jupyter.rb
@@ -73,10 +73,19 @@ module Clusters
"clientSecret" => oauth_application.secret,
"callbackUrl" => callback_url
}
+ },
+ "singleuser" => {
+ "extraEnv" => {
+ "GITLAB_PROJECT_ID" => project_id
+ }
}
}
end
+ def project_id
+ cluster&.project&.id
+ end
+
def gitlab_url
Gitlab.config.gitlab.url
end
diff --git a/spec/models/clusters/applications/jupyter_spec.rb b/spec/models/clusters/applications/jupyter_spec.rb
index 591a01d78a9..44a64928e94 100644
--- a/spec/models/clusters/applications/jupyter_spec.rb
+++ b/spec/models/clusters/applications/jupyter_spec.rb
@@ -108,8 +108,21 @@ describe Clusters::Applications::Jupyter do
expect(values).to include('rbac')
expect(values).to include('proxy')
expect(values).to include('auth')
+ expect(values).to include('singleuser')
expect(values).to match(/clientId: '?#{application.oauth_application.uid}/)
expect(values).to match(/callbackUrl: '?#{application.callback_url}/)
end
+
+ context 'when cluster belongs to a project' do
+ let(:project) { create(:project) }
+
+ before do
+ application.cluster.projects << project
+ end
+
+ it 'sets GitLab project id' do
+ expect(values).to match(/GITLAB_PROJECT_ID: '?#{project.id}/)
+ end
+ end
end
end