diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 11:27:35 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 11:27:35 +0300 |
commit | 7e9c479f7de77702622631cff2628a9c8dcbc627 (patch) | |
tree | c8f718a08e110ad7e1894510980d2155a6549197 /app/models/clusters | |
parent | e852b0ae16db4052c1c567d9efa4facc81146e88 (diff) |
Add latest changes from gitlab-org/gitlab@13-6-stable-eev13.6.0-rc42
Diffstat (limited to 'app/models/clusters')
-rw-r--r-- | app/models/clusters/agent_token.rb | 2 | ||||
-rw-r--r-- | app/models/clusters/applications/cert_manager.rb | 4 | ||||
-rw-r--r-- | app/models/clusters/applications/crossplane.rb | 2 | ||||
-rw-r--r-- | app/models/clusters/applications/elastic_stack.rb | 8 | ||||
-rw-r--r-- | app/models/clusters/applications/fluentd.rb | 2 | ||||
-rw-r--r-- | app/models/clusters/applications/helm.rb | 12 | ||||
-rw-r--r-- | app/models/clusters/applications/ingress.rb | 2 | ||||
-rw-r--r-- | app/models/clusters/applications/jupyter.rb | 2 | ||||
-rw-r--r-- | app/models/clusters/applications/knative.rb | 4 | ||||
-rw-r--r-- | app/models/clusters/applications/prometheus.rb | 6 | ||||
-rw-r--r-- | app/models/clusters/applications/runner.rb | 4 | ||||
-rw-r--r-- | app/models/clusters/cluster.rb | 3 | ||||
-rw-r--r-- | app/models/clusters/concerns/application_core.rb | 11 | ||||
-rw-r--r-- | app/models/clusters/concerns/application_data.rb | 2 | ||||
-rw-r--r-- | app/models/clusters/providers/aws.rb | 3 |
15 files changed, 40 insertions, 27 deletions
diff --git a/app/models/clusters/agent_token.rb b/app/models/clusters/agent_token.rb index e9f1ee4e033..5c9561ffa98 100644 --- a/app/models/clusters/agent_token.rb +++ b/app/models/clusters/agent_token.rb @@ -3,7 +3,7 @@ module Clusters class AgentToken < ApplicationRecord include TokenAuthenticatable - add_authentication_token_field :token, encrypted: :required + add_authentication_token_field :token, encrypted: :required, token_generator: -> { Devise.friendly_token(50) } self.table_name = 'cluster_agent_tokens' diff --git a/app/models/clusters/applications/cert_manager.rb b/app/models/clusters/applications/cert_manager.rb index 1efa44c39c5..d32fff14590 100644 --- a/app/models/clusters/applications/cert_manager.rb +++ b/app/models/clusters/applications/cert_manager.rb @@ -30,7 +30,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: 'certmanager', repository: repository, version: VERSION, @@ -43,7 +43,7 @@ module Clusters end def uninstall_command - Gitlab::Kubernetes::Helm::DeleteCommand.new( + helm_command_module::DeleteCommand.new( name: 'certmanager', rbac: cluster.platform_kubernetes_rbac?, files: files, diff --git a/app/models/clusters/applications/crossplane.rb b/app/models/clusters/applications/crossplane.rb index 420e56c1742..2b1a86706a4 100644 --- a/app/models/clusters/applications/crossplane.rb +++ b/app/models/clusters/applications/crossplane.rb @@ -29,7 +29,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: 'crossplane', repository: repository, version: VERSION, diff --git a/app/models/clusters/applications/elastic_stack.rb b/app/models/clusters/applications/elastic_stack.rb index 77996748b81..db18a29ec84 100644 --- a/app/models/clusters/applications/elastic_stack.rb +++ b/app/models/clusters/applications/elastic_stack.rb @@ -26,7 +26,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: 'elastic-stack', version: VERSION, rbac: cluster.platform_kubernetes_rbac?, @@ -39,7 +39,7 @@ module Clusters end def uninstall_command - Gitlab::Kubernetes::Helm::DeleteCommand.new( + helm_command_module::DeleteCommand.new( name: 'elastic-stack', rbac: cluster.platform_kubernetes_rbac?, files: files, @@ -96,7 +96,7 @@ module Clusters def post_install_script [ - "timeout -t60 sh /data/helm/elastic-stack/config/wait-for-elasticsearch.sh http://elastic-stack-elasticsearch-master:9200" + "timeout 60 sh /data/helm/elastic-stack/config/wait-for-elasticsearch.sh http://elastic-stack-elasticsearch-master:9200" ] end @@ -116,7 +116,7 @@ module Clusters # Chart version 3.0.0 moves to our own chart at https://gitlab.com/gitlab-org/charts/elastic-stack # and is not compatible with pre-existing resources. We first remove them. [ - Gitlab::Kubernetes::Helm::DeleteCommand.new( + helm_command_module::DeleteCommand.new( name: 'elastic-stack', rbac: cluster.platform_kubernetes_rbac?, files: files diff --git a/app/models/clusters/applications/fluentd.rb b/app/models/clusters/applications/fluentd.rb index c608d37be77..91aa422b859 100644 --- a/app/models/clusters/applications/fluentd.rb +++ b/app/models/clusters/applications/fluentd.rb @@ -30,7 +30,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: 'fluentd', repository: repository, version: VERSION, diff --git a/app/models/clusters/applications/helm.rb b/app/models/clusters/applications/helm.rb index 4a1bcac4bb7..d1d6defb713 100644 --- a/app/models/clusters/applications/helm.rb +++ b/app/models/clusters/applications/helm.rb @@ -4,6 +4,8 @@ require 'openssl' module Clusters module Applications + # DEPRECATED: This model represents the Helm 2 Tiller server, and is no longer being actively used. + # It is being kept around for a potential cleanup of the unused Tiller server. class Helm < ApplicationRecord self.table_name = 'clusters_applications_helm' @@ -49,7 +51,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InitCommand.new( + Gitlab::Kubernetes::Helm::V2::InitCommand.new( name: name, files: files, rbac: cluster.platform_kubernetes_rbac? @@ -57,7 +59,7 @@ module Clusters end def uninstall_command - Gitlab::Kubernetes::Helm::ResetCommand.new( + Gitlab::Kubernetes::Helm::V2::ResetCommand.new( name: name, files: files, rbac: cluster.platform_kubernetes_rbac? @@ -86,19 +88,19 @@ module Clusters end def create_keys_and_certs - ca_cert = Gitlab::Kubernetes::Helm::Certificate.generate_root + ca_cert = Gitlab::Kubernetes::Helm::V2::Certificate.generate_root self.ca_key = ca_cert.key_string self.ca_cert = ca_cert.cert_string end def tiller_cert - @tiller_cert ||= ca_cert_obj.issue(expires_in: Gitlab::Kubernetes::Helm::Certificate::INFINITE_EXPIRY) + @tiller_cert ||= ca_cert_obj.issue(expires_in: Gitlab::Kubernetes::Helm::V2::Certificate::INFINITE_EXPIRY) end def ca_cert_obj return unless has_ssl? - Gitlab::Kubernetes::Helm::Certificate + Gitlab::Kubernetes::Helm::V2::Certificate .from_strings(ca_key, ca_cert) end end diff --git a/app/models/clusters/applications/ingress.rb b/app/models/clusters/applications/ingress.rb index d5412714858..36324e7f3e0 100644 --- a/app/models/clusters/applications/ingress.rb +++ b/app/models/clusters/applications/ingress.rb @@ -62,7 +62,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: name, repository: repository, version: VERSION, diff --git a/app/models/clusters/applications/jupyter.rb b/app/models/clusters/applications/jupyter.rb index 056ea355de6..ff907c6847f 100644 --- a/app/models/clusters/applications/jupyter.rb +++ b/app/models/clusters/applications/jupyter.rb @@ -39,7 +39,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: name, version: VERSION, rbac: cluster.platform_kubernetes_rbac?, diff --git a/app/models/clusters/applications/knative.rb b/app/models/clusters/applications/knative.rb index 3047da12dd9..b1c3116d77c 100644 --- a/app/models/clusters/applications/knative.rb +++ b/app/models/clusters/applications/knative.rb @@ -70,7 +70,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: name, version: VERSION, rbac: cluster.platform_kubernetes_rbac?, @@ -94,7 +94,7 @@ module Clusters end def uninstall_command - Gitlab::Kubernetes::Helm::DeleteCommand.new( + helm_command_module::DeleteCommand.new( name: name, rbac: cluster.platform_kubernetes_rbac?, files: files, diff --git a/app/models/clusters/applications/prometheus.rb b/app/models/clusters/applications/prometheus.rb index 7679296699f..55a9a0ccb81 100644 --- a/app/models/clusters/applications/prometheus.rb +++ b/app/models/clusters/applications/prometheus.rb @@ -67,7 +67,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: name, repository: repository, version: VERSION, @@ -79,7 +79,7 @@ module Clusters end def patch_command(values) - ::Gitlab::Kubernetes::Helm::PatchCommand.new( + helm_command_module::PatchCommand.new( name: name, repository: repository, version: version, @@ -90,7 +90,7 @@ module Clusters end def uninstall_command - Gitlab::Kubernetes::Helm::DeleteCommand.new( + helm_command_module::DeleteCommand.new( name: name, rbac: cluster.platform_kubernetes_rbac?, files: files, diff --git a/app/models/clusters/applications/runner.rb b/app/models/clusters/applications/runner.rb index d07ea7b71dc..03f4caccccd 100644 --- a/app/models/clusters/applications/runner.rb +++ b/app/models/clusters/applications/runner.rb @@ -3,7 +3,7 @@ module Clusters module Applications class Runner < ApplicationRecord - VERSION = '0.21.1' + VERSION = '0.22.0' self.table_name = 'clusters_applications_runners' @@ -30,7 +30,7 @@ module Clusters end def install_command - Gitlab::Kubernetes::Helm::InstallCommand.new( + helm_command_module::InstallCommand.new( name: name, version: VERSION, rbac: cluster.platform_kubernetes_rbac?, diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb index b94ec3c6dea..3cf5542ae76 100644 --- a/app/models/clusters/cluster.rb +++ b/app/models/clusters/cluster.rb @@ -79,6 +79,9 @@ module Clusters validates :cluster_type, presence: true validates :domain, allow_blank: true, hostname: { allow_numeric_hostname: true } validates :namespace_per_environment, inclusion: { in: [true, false] } + validates :helm_major_version, inclusion: { in: [2, 3] } + + default_value_for :helm_major_version, 3 validate :restrict_modification, on: :update validate :no_groups, unless: :group_type? diff --git a/app/models/clusters/concerns/application_core.rb b/app/models/clusters/concerns/application_core.rb index 760576ea1eb..b82b1887308 100644 --- a/app/models/clusters/concerns/application_core.rb +++ b/app/models/clusters/concerns/application_core.rb @@ -12,6 +12,17 @@ module Clusters after_initialize :set_initial_status + def helm_command_module + case cluster.helm_major_version + when 3 + Gitlab::Kubernetes::Helm::V3 + when 2 + Gitlab::Kubernetes::Helm::V2 + else + raise "Invalid Helm major version" + end + end + def set_initial_status return unless not_installable? diff --git a/app/models/clusters/concerns/application_data.rb b/app/models/clusters/concerns/application_data.rb index 22e597e9747..00aeb7669ad 100644 --- a/app/models/clusters/concerns/application_data.rb +++ b/app/models/clusters/concerns/application_data.rb @@ -4,7 +4,7 @@ module Clusters module Concerns module ApplicationData def uninstall_command - Gitlab::Kubernetes::Helm::DeleteCommand.new( + helm_command_module::DeleteCommand.new( name: name, rbac: cluster.platform_kubernetes_rbac?, files: files diff --git a/app/models/clusters/providers/aws.rb b/app/models/clusters/providers/aws.rb index 35e8b751b3d..bfd01775620 100644 --- a/app/models/clusters/providers/aws.rb +++ b/app/models/clusters/providers/aws.rb @@ -5,9 +5,6 @@ module Clusters class Aws < ApplicationRecord include Gitlab::Utils::StrongMemoize include Clusters::Concerns::ProviderStatus - include IgnorableColumns - - ignore_column :created_by_user_id, remove_with: '13.4', remove_after: '2020-08-22' self.table_name = 'cluster_providers_aws' |