uffizzi_core 2.0.25 → 2.1.1
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 +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
|