diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-12-05 15:00:02 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-12-05 15:00:02 +0300 |
commit | 4b66bdfa1af8fbef5d2af94a62e2522806cc7250 (patch) | |
tree | b63b843eca0e92ac2938ad8a49a979c2b8ab52e9 /app/models/clusters/platforms | |
parent | 04a882d8d3bd68bee71f5b7073cb7a8ce0149852 (diff) |
Second iteration of Move Kubernetes from service to Cluster page
Diffstat (limited to 'app/models/clusters/platforms')
-rw-r--r-- | app/models/clusters/platforms/kubernetes.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/clusters/platforms/kubernetes.rb b/app/models/clusters/platforms/kubernetes.rb index 7ab670cf1ef..9160a169452 100644 --- a/app/models/clusters/platforms/kubernetes.rb +++ b/app/models/clusters/platforms/kubernetes.rb @@ -34,12 +34,15 @@ module Clusters validates :api_url, url: true, presence: true validates :token, presence: true + validate :prevent_modification, on: :update + after_save :clear_reactive_cache! alias_attribute :ca_pem, :ca_cert delegate :project, to: :cluster, allow_nil: true delegate :enabled?, to: :cluster, allow_nil: true + delegate :managed?, to: :cluster, allow_nil: true alias_method :active?, :enabled? @@ -173,6 +176,17 @@ module Clusters def enforce_namespace_to_lower_case self.namespace = self.namespace&.downcase end + + def prevent_modification + return unless managed? + + if api_url_changed? || token_changed? || ca_pem_changed? + errors.add(:base, "cannot modify managed cluster") + return false + end + + true + end end end end |