diff options
| author | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-12-03 15:04:34 +0100 |
|---|---|---|
| committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-12-03 15:04:34 +0100 |
| commit | ec09883b3683b6cf59e01933170972d3e3c0faf1 (patch) | |
| tree | 49a0374a30ad8881818d5ad9700f4defb92c6d3e /app/models/clusters | |
| parent | 7af2161ca50484fea77ef816dc98ba66ff848681 (diff) | |
| download | gitlab-ce-ec09883b3683b6cf59e01933170972d3e3c0faf1.tar.gz | |
Fix prevent modification
Diffstat (limited to 'app/models/clusters')
| -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 |
