Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/clusters/applications/jupyter.rb')
-rw-r--r--app/models/clusters/applications/jupyter.rb128
1 files changed, 0 insertions, 128 deletions
diff --git a/app/models/clusters/applications/jupyter.rb b/app/models/clusters/applications/jupyter.rb
deleted file mode 100644
index 9c0e90d59ed..00000000000
--- a/app/models/clusters/applications/jupyter.rb
+++ /dev/null
@@ -1,128 +0,0 @@
-# frozen_string_literal: true
-
-require 'securerandom'
-
-module Clusters
- module Applications
- # DEPRECATED for removal in %14.0
- # See https://gitlab.com/groups/gitlab-org/-/epics/4280
- class Jupyter < ApplicationRecord
- VERSION = '0.9.0'
-
- self.table_name = 'clusters_applications_jupyter'
-
- include ::Clusters::Concerns::ApplicationCore
- include ::Clusters::Concerns::ApplicationStatus
- include ::Clusters::Concerns::ApplicationVersion
- include ::Clusters::Concerns::ApplicationData
-
- belongs_to :oauth_application, class_name: 'Doorkeeper::Application'
-
- attribute :version, default: VERSION
-
- def set_initial_status
- return unless not_installable?
- return unless cluster&.application_ingress_available?
-
- ingress = cluster.application_ingress
- self.status = status_states[:installable] if ingress.external_ip_or_hostname?
- end
-
- def chart
- "#{name}/jupyterhub"
- end
-
- def repository
- 'https://jupyterhub.github.io/helm-chart/'
- end
-
- def values
- content_values.to_yaml
- end
-
- def install_command
- helm_command_module::InstallCommand.new(
- name: name,
- version: VERSION,
- rbac: cluster.platform_kubernetes_rbac?,
- chart: chart,
- files: files,
- repository: repository
- )
- end
-
- def callback_url
- "http://#{hostname}/hub/oauth_callback"
- end
-
- def oauth_scopes
- 'api read_repository write_repository'
- end
-
- private
-
- def specification
- {
- "ingress" => {
- "hosts" => [hostname],
- "tls" => [{
- "hosts" => [hostname],
- "secretName" => "jupyter-cert"
- }]
- },
- "hub" => {
- "extraEnv" => {
- "GITLAB_HOST" => gitlab_url
- },
- "cookieSecret" => cookie_secret
- },
- "proxy" => {
- "secretToken" => secret_token
- },
- "auth" => {
- "state" => {
- "cryptoKey" => crypto_key
- },
- "gitlab" => {
- "clientId" => oauth_application.uid,
- "clientSecret" => oauth_application.secret,
- "callbackUrl" => callback_url,
- "gitlabProjectIdWhitelist" => cluster.projects.ids,
- "gitlabGroupWhitelist" => cluster.groups.map(&:to_param)
- }
- },
- "singleuser" => {
- "extraEnv" => {
- "GITLAB_CLUSTER_ID" => cluster.id.to_s,
- "GITLAB_HOST" => gitlab_host
- }
- }
- }
- end
-
- def crypto_key
- @crypto_key ||= SecureRandom.hex(32)
- end
-
- def gitlab_url
- Gitlab.config.gitlab.url
- end
-
- def gitlab_host
- Gitlab.config.gitlab.host
- end
-
- def content_values
- YAML.load_file(chart_values_file).deep_merge!(specification)
- end
-
- def secret_token
- @secret_token ||= SecureRandom.hex(32)
- end
-
- def cookie_secret
- @cookie_secret ||= SecureRandom.hex(32)
- end
- end
- end
-end