uffizzi_core 2.2.9 → 2.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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