uffizzi_core 2.0.25 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb +6 -0
- data/app/controllers/uffizzi_core/api/cli/v1/projects/deployments/activity_items_controller.rb +1 -1
- data/app/controllers/uffizzi_core/api/cli/v1/projects/deployments/containers_controller.rb +1 -1
- data/app/controllers/uffizzi_core/api/cli/v1/projects/deployments_controller.rb +1 -1
- data/app/lib/uffizzi_core/concerns/models/user.rb +1 -8
- data/app/repositories/uffizzi_core/deployment_repo.rb +1 -1
- data/app/services/uffizzi_core/deployment_service.rb +8 -3
- data/lib/uffizzi_core/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ff3664e2d0ace5264aea60fd9a6c2b6f592632b3e5f844411a230941ee953da
|
4
|
+
data.tar.gz: b41024e92002bbac34eb430fd6da45740c921c595515b4c8e82b6d184a04a421
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2af201493e2a9fb7a6cc8793586bfd8881270cb13fe76804e35dda0d5ecfff87d9d608dbdc54276ba2db7839208c38baa8e861fa15d692d5b322f81c4bda916b
|
7
|
+
data.tar.gz: 9f41c789e248872b742cfda598b40c38b3a9e8298d86fa890c80e56943440de19e74e8ab904e482b3d03d1562f99bc91ce475b3b6cb11459346f0d2eefc8af98
|
@@ -37,6 +37,12 @@ module UffizziCore::DependencyInjectionConcern
|
|
37
37
|
module_class(:notification_module)
|
38
38
|
end
|
39
39
|
|
40
|
+
def deployment_module
|
41
|
+
return unless module_exists?(:deployment_module)
|
42
|
+
|
43
|
+
module_class(:deployment_module)
|
44
|
+
end
|
45
|
+
|
40
46
|
private
|
41
47
|
|
42
48
|
def module_exists?(module_name)
|
data/app/controllers/uffizzi_core/api/cli/v1/projects/deployments/activity_items_controller.rb
CHANGED
@@ -15,7 +15,7 @@ class UffizziCore::Api::Cli::V1::Projects::Deployments::ActivityItemsController
|
|
15
15
|
# @response 401 Not authorized
|
16
16
|
# @response 404 Not found
|
17
17
|
def index
|
18
|
-
deployment = resource_project.deployments.
|
18
|
+
deployment = resource_project.deployments.enabled.find(params[:deployment_id])
|
19
19
|
|
20
20
|
unless deployment.active?
|
21
21
|
return render json: { errors: { title: [I18n.t('deployment.invalid_state', id: deployment.id, state: deployment.state)] } },
|
@@ -23,7 +23,7 @@ class UffizziCore::Api::Cli::V1::Projects::Deployments::ContainersController <
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def k8s_container_description
|
26
|
-
deployment ||= resource_project.deployments.
|
26
|
+
deployment ||= resource_project.deployments.enabled.find(params[:deployment_id])
|
27
27
|
container = deployment.containers.active.find_by!(service_name: params[:container_name])
|
28
28
|
last_state = UffizziCore::ContainerService.last_state(container)
|
29
29
|
|
@@ -168,7 +168,7 @@ class UffizziCore::Api::Cli::V1::Projects::DeploymentsController < UffizziCore::
|
|
168
168
|
end
|
169
169
|
|
170
170
|
def deployments
|
171
|
-
@deployments ||= resource_project.deployments.
|
171
|
+
@deployments ||= resource_project.deployments.enabled
|
172
172
|
end
|
173
173
|
|
174
174
|
def deployment_params
|
@@ -19,6 +19,7 @@ module UffizziCore::Concerns::Models::User
|
|
19
19
|
has_many :accounts, through: :memberships
|
20
20
|
has_many :user_projects, dependent: :destroy
|
21
21
|
has_many :projects, through: :user_projects
|
22
|
+
has_many :deployments, class_name: UffizziCore::Deployment.name, foreign_key: :deployed_by_id, dependent: :nullify
|
22
23
|
|
23
24
|
has_one_attached :avatar
|
24
25
|
|
@@ -32,14 +33,6 @@ module UffizziCore::Concerns::Models::User
|
|
32
33
|
accounts.find_by(kind: UffizziCore::Account.kind.personal)
|
33
34
|
end
|
34
35
|
|
35
|
-
def active_projects
|
36
|
-
projects.active
|
37
|
-
end
|
38
|
-
|
39
|
-
def deployments
|
40
|
-
UffizziCore::Deployment.where(project_id: active_projects)
|
41
|
-
end
|
42
|
-
|
43
36
|
def full_name
|
44
37
|
"#{first_name} #{last_name}"
|
45
38
|
end
|
@@ -8,7 +8,7 @@ module UffizziCore::DeploymentRepo
|
|
8
8
|
where(name: name)
|
9
9
|
}
|
10
10
|
scope :with_amazon_repos, -> { includes(containers: [:repo]).where(containers: { repos: { type: UffizziCore::Repo::Amazon.name } }) }
|
11
|
-
scope :
|
11
|
+
scope :enabled, -> { where(state: [:active, :failed]) }
|
12
12
|
scope :active_for_credential_id, ->(credential_id) {
|
13
13
|
active.joins(project: :credentials).merge(UffizziCore::Project.active).where(credentials: { id: credential_id })
|
14
14
|
}
|
@@ -12,6 +12,8 @@ class UffizziCore::DeploymentService
|
|
12
12
|
}.freeze
|
13
13
|
|
14
14
|
class << self
|
15
|
+
include UffizziCore::DependencyInjectionConcern
|
16
|
+
|
15
17
|
def create_from_compose(compose_file, project, user, params)
|
16
18
|
deployment_attributes = ActionController::Parameters.new(compose_file.template.payload)
|
17
19
|
deployment_form = UffizziCore::Api::Cli::V1::Deployment::CreateForm.new(deployment_attributes)
|
@@ -97,7 +99,7 @@ class UffizziCore::DeploymentService
|
|
97
99
|
end
|
98
100
|
|
99
101
|
def build_pull_request_subdomain(deployment)
|
100
|
-
repo_name, pull_request_number = pull_request_data(deployment)
|
102
|
+
_, repo_name, pull_request_number = pull_request_data(deployment)
|
101
103
|
raise UffizziCore::Deployment::LabelsNotFoundError if repo_name.nil? || pull_request_number.nil?
|
102
104
|
|
103
105
|
formatted_repo_name = format_url_safe(repo_name.split('/').last.downcase)
|
@@ -274,6 +276,9 @@ class UffizziCore::DeploymentService
|
|
274
276
|
envs.push('name' => 'UFFIZZI_URL', 'value' => "https://#{deployment.preview_url}")
|
275
277
|
envs.push('name' => 'UFFIZZI_DOMAIN', 'value' => deployment.preview_url)
|
276
278
|
|
279
|
+
preview_url = "https://#{deployment_module.build_preview_url(deployment)}" if deployment_module.present?
|
280
|
+
envs.push('name' => 'UFFIZZI_PREDICTABLE_URL', 'value' => preview_url || '')
|
281
|
+
|
277
282
|
container.variables = [] if container.variables.nil?
|
278
283
|
|
279
284
|
container.variables.push(*envs)
|
@@ -302,13 +307,13 @@ class UffizziCore::DeploymentService
|
|
302
307
|
def github_pull_request_data(deployment)
|
303
308
|
github_data = deployment.metadata.dig('labels', 'github')
|
304
309
|
|
305
|
-
[github_data['repository'], github_data.dig('event', 'number')]
|
310
|
+
[:github, github_data['repository'], github_data.dig('event', 'number')]
|
306
311
|
end
|
307
312
|
|
308
313
|
def gitlab_merge_request_data(deployment)
|
309
314
|
gitlab_data = deployment.metadata.dig('labels', 'gitlab')
|
310
315
|
|
311
|
-
[gitlab_data['repo'], gitlab_data.dig('merge_request', 'number')]
|
316
|
+
[:gitlab, gitlab_data['repo'], gitlab_data.dig('merge_request', 'number')]
|
312
317
|
end
|
313
318
|
|
314
319
|
def format_url_safe(name)
|
data/lib/uffizzi_core/version.rb
CHANGED
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.
|
4
|
+
version: 2.1.1
|
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-
|
12
|
+
date: 2023-02-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aasm
|