uffizzi_core 2.2.9 → 2.2.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a52f42bacbdff043bd159262bcf9e1be15e311be071c06ec724acaec8a685ac4
4
- data.tar.gz: 74c425b3eaad9ced453430a6c4799865343e0d5c03c88421a5eede1829e2213b
3
+ metadata.gz: 9419a80d61cb906e699b4096f7ed6f10fc01f32a6718a977c38387d04af04cb9
4
+ data.tar.gz: 279eda26ef9283fc173d93f5b7fc166780ffaa51e2dd83b0be7fbea1ba7862cc
5
5
  SHA512:
6
- metadata.gz: f6afcb69bb62680618cef5d489b195725da5eaa93e098658274142e27c9ea5d9d6d6b5936c6c7bc393b2d47c7278d3c4d5a785ab2af5646f0cdea864ceffaa65
7
- data.tar.gz: 437d441bc3b847037a1efc3920031b5e56636c85d8847f3b7ad6991afaafde64f1d2863c01edb607dba4563ea6f1ee097685c2ba0a496e5c8783a9ae7ad20968
6
+ metadata.gz: 646d0199efbd24eddd77def2b0f8a629e16f81b3f6f871a9961b2cde46f37b5609fbc6662eec3f5e74e74a879ddba1cf504776a767c738ab8127eb28a555e9a5
7
+ data.tar.gz: 98c028198257d7bd268b4c6bfaa7a6663be35530f6ed1218d2108e7d6602a43122538a6c54cec92d5ff0d7c247d2e6f1a50a32885600e43a13554a15d514235a
@@ -73,6 +73,12 @@ module UffizziCore::DependencyInjectionConcern
73
73
  module_class(:controller_settings)
74
74
  end
75
75
 
76
+ def ci_module
77
+ return unless module_exists?(:ci_module)
78
+
79
+ module_class(:ci_module)
80
+ end
81
+
76
82
  private
77
83
 
78
84
  def module_exists?(module_name)
@@ -9,8 +9,9 @@ class UffizziCore::Api::Cli::V1::Projects::ClustersController < UffizziCore::Api
9
9
 
10
10
  def index
11
11
  clusters = resource_project.clusters.enabled
12
+ return respond_with clusters if request_by_admin? || valid_request_from_ci_workflow?
12
13
 
13
- respond_with clusters
14
+ respond_with clusters.deployed_by_user(current_user)
14
15
  end
15
16
 
16
17
  def create
@@ -37,7 +38,20 @@ class UffizziCore::Api::Cli::V1::Projects::ClustersController < UffizziCore::Api
37
38
  private
38
39
 
39
40
  def resource_cluster
40
- @resource_cluster ||= resource_project.clusters.enabled.find_by!(name: params[:name])
41
+ active_project_clusters = resource_project.clusters.enabled
42
+ @resource_cluster ||= if request_by_admin? || valid_request_from_ci_workflow?
43
+ active_project_clusters.find_by!(name: params[:name])
44
+ else
45
+ active_project_clusters.deployed_by_user(current_user).find_by!(name: params[:name])
46
+ end
47
+ end
48
+
49
+ def request_by_admin?
50
+ current_user.admin_access_to_project?(resource_project)
51
+ end
52
+
53
+ def valid_request_from_ci_workflow?
54
+ ci_module.valid_request_from_ci_workflow?(params)
41
55
  end
42
56
 
43
57
  def cluster_params
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class UffizziCore::Cluster::DeleteJob < UffizziCore::ApplicationJob
4
- sidekiq_options queue: :deployments, retry: 5
4
+ sidekiq_options queue: :clusters,
5
+ lock: :until_executed,
6
+ retry: Settings.default_job_retry_count
5
7
 
6
8
  def perform(id)
7
9
  Rails.logger.info("DEPLOYMENT_PROCESS cluster_id=#{id} DeleteJob")
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class UffizziCore::Cluster::DeployJob < UffizziCore::ApplicationJob
4
- sidekiq_options queue: :deployments, retry: 5
4
+ sidekiq_options queue: :clusters, retry: Settings.default_job_retry_count
5
5
 
6
6
  def perform(id)
7
7
  cluster = UffizziCore::Cluster.find(id)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class UffizziCore::Cluster::ManageDeployingJob < UffizziCore::ApplicationJob
4
- sidekiq_options queue: :deployments, retry: 5
4
+ sidekiq_options queue: :clusters, retry: Settings.default_job_retry_count
5
5
 
6
6
  def perform(id, try = 1)
7
7
  cluster = UffizziCore::Cluster.find(id)
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class UffizziCore::Deployment::DeleteJob < UffizziCore::ApplicationJob
4
- sidekiq_options queue: :deployments, retry: 5
4
+ sidekiq_options queue: :disable_deployments,
5
+ lock: :until_executed,
6
+ retry: Settings.default_job_retry_count
5
7
 
6
8
  def perform(id)
7
9
  Rails.logger.info("DEPLOYMENT_PROCESS deployment_id=#{id} DeleteJob")
@@ -53,7 +53,7 @@ module UffizziCore::Concerns::Models::User
53
53
  end
54
54
 
55
55
  def admin_access_to_project?(project)
56
- projects.by_ids(project).by_accounts(memberships.by_role_admin.select(:account_id)).exists?
56
+ project.user_projects.where(user_id: id, role: UffizziCore::UserProject.role.admin).exists?
57
57
  end
58
58
  end
59
59
  end
@@ -6,5 +6,6 @@ module UffizziCore::ClusterRepo
6
6
  included do
7
7
  scope :deployed, -> { where(state: UffizziCore::Cluster::STATE_DEPLOYED) }
8
8
  scope :enabled, -> { where.not(state: UffizziCore::Cluster::STATE_DISABLED) }
9
+ scope :deployed_by_user, ->(user) { where(deployed_by: user) }
9
10
  end
10
11
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class UffizziCore::CiService
4
+ class << self
5
+ def valid_request_from_ci_workflow?(_params)
6
+ false
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UffizziCore
4
- VERSION = '2.2.9'
4
+ VERSION = '2.2.10'
5
5
  end
data/lib/uffizzi_core.rb CHANGED
@@ -33,6 +33,7 @@ module UffizziCore
33
33
  deployment_memory_module: 'UffizziCore::Deployment::MemoryService',
34
34
  template_memory_module: 'UffizziCore::Template::MemoryService',
35
35
  controller_settings: 'UffizziCore::ControllerSettingsService',
36
+ ci_module: 'UffizziCore::CiService',
36
37
  }
37
38
  mattr_accessor :table_names, default: {
38
39
  accounts: :uffizzi_core_accounts,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uffizzi_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.9
4
+ version: 2.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Thurman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-08-07 00:00:00.000000000 Z
12
+ date: 2023-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aasm
@@ -423,6 +423,20 @@ dependencies:
423
423
  - - ">="
424
424
  - !ruby/object:Gem::Version
425
425
  version: '0'
426
+ - !ruby/object:Gem::Dependency
427
+ name: sidekiq-unique-jobs
428
+ requirement: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - ">="
431
+ - !ruby/object:Gem::Version
432
+ version: '0'
433
+ type: :runtime
434
+ prerelease: false
435
+ version_requirements: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - ">="
438
+ - !ruby/object:Gem::Version
439
+ version: '0'
426
440
  - !ruby/object:Gem::Dependency
427
441
  name: swagger_yard
428
442
  requirement: !ruby/object:Gem::Requirement
@@ -981,6 +995,7 @@ files:
981
995
  - app/serializers/uffizzi_core/controller/deploy_containers/host_volume_file_serializer.rb
982
996
  - app/services/uffizzi_core/account_service.rb
983
997
  - app/services/uffizzi_core/activity_item_service.rb
998
+ - app/services/uffizzi_core/ci_service.rb
984
999
  - app/services/uffizzi_core/cluster_service.rb
985
1000
  - app/services/uffizzi_core/compose_file/builders/container_builder_service.rb
986
1001
  - app/services/uffizzi_core/compose_file/builders/container_config_files_builder_service.rb