diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-10-02 21:58:50 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-10-02 21:58:50 +0900 |
commit | 34e66c427dde2070c2c09a07ce08f991e46de92f (patch) | |
tree | d0894218a41a2b67313fc232f19cc734f3dc7b67 /app/models | |
parent | 2cb1d617d90b4a9311e3a35434bec958f266d22a (diff) | |
download | gitlab-ce-34e66c427dde2070c2c09a07ce08f991e46de92f.tar.gz |
PollingInterval, rename to gke_clusters, has_one :cluster
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/gcp/cluster.rb (renamed from app/models/ci/cluster.rb) | 27 | ||||
-rw-r--r-- | app/models/project.rb | 2 |
2 files changed, 22 insertions, 7 deletions
diff --git a/app/models/ci/cluster.rb b/app/models/gcp/cluster.rb index 93f582f565a..006cb1feb0c 100644 --- a/app/models/ci/cluster.rb +++ b/app/models/gcp/cluster.rb @@ -1,25 +1,25 @@ -module Ci +module Gcp class Cluster < ActiveRecord::Base - extend Gitlab::Ci::Model + extend Gitlab::Gcp::Model - belongs_to :project + belongs_to :project, inverse_of: :cluster belongs_to :user belongs_to :service attr_encrypted :password, - mode: :per_attribute_iv_and_salt, + mode: :per_attribute_iv, insecure_mode: true, key: Gitlab::Application.secrets.db_key_base, algorithm: 'aes-256-cbc' attr_encrypted :kubernetes_token, - mode: :per_attribute_iv_and_salt, + mode: :per_attribute_iv, insecure_mode: true, key: Gitlab::Application.secrets.db_key_base, algorithm: 'aes-256-cbc' attr_encrypted :gcp_token, - mode: :per_attribute_iv_and_salt, + mode: :per_attribute_iv, insecure_mode: true, key: Gitlab::Application.secrets.db_key_base, algorithm: 'aes-256-cbc' @@ -54,6 +54,21 @@ module Ci save!(validate: false) end + def created!(endpoint, ca_cert, kubernetes_token, username, password) + self.status = :created + self.enabled = true + self.endpoint = endpoint + self.ca_cert = ca_cert + self.kubernetes_token = kubernetes_token + self.username = username + self.password = password + self.service = project.find_or_initialize_service('kubernetes') + self.gcp_token = nil + self.gcp_operation_id = nil + + save! + end + def on_creation? scheduled? || creating? end diff --git a/app/models/project.rb b/app/models/project.rb index 6b896746864..5d6a8bdbaeb 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -163,6 +163,7 @@ class Project < ActiveRecord::Base has_one :import_data, class_name: 'ProjectImportData', inverse_of: :project, autosave: true has_one :project_feature, inverse_of: :project has_one :statistics, class_name: 'ProjectStatistics' + has_one :cluster, class_name: 'Gcp::Cluster', inverse_of: :project # Container repositories need to remove data from the container registry, # which is not managed by the DB. Hence we're still using dependent: :destroy @@ -171,7 +172,6 @@ class Project < ActiveRecord::Base has_many :commit_statuses has_many :pipelines, class_name: 'Ci::Pipeline' - has_many :clusters, class_name: 'Ci::Cluster' # Ci::Build objects store data on the file system such as artifact files and # build traces. Currently there's no efficient way of removing this data in |