uffizzi_core 0.5.0 → 0.6.0

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: 377c1d90c271757c6d8728d3f4d3dd6c7499b22f606bfbf37c4e6545b074bc90
4
- data.tar.gz: 4cbaac6e361d336cd4c13f004e2b76b9df0ac44638f2eeaa2e94afaff203c75b
3
+ metadata.gz: 906801fea12b493de551c88a90e6a8fb576d76e07cca94d599387a620dcca920
4
+ data.tar.gz: e42b3989f0cee2e2ca4a87c7231d477cffc426d73ba26368a5ed47a60ac2c569
5
5
  SHA512:
6
- metadata.gz: e68d968cd53a9ee833092724977d6b0752988225640488bf3c03af081bbcc00173c9e62a85ccf3403ef174a196bc86edbd4f1065dfc25c93dcbf4029015ee003
7
- data.tar.gz: 39cf4ac688207af05cdc2c7cdcc8451d2bcdd00d202e014fe9c275d63c53780868f7f2ad7bd4b1243fe6e2ac18389dde06b24e485d464338d4d776a91c34a849
6
+ metadata.gz: 7ccf182b08308c44d6b62c00832cefd031b34abad8b7c5eace999d6c34ec43976b5d2c577c5044bcf83299cef80776a55a9ebdd56a4dc82e12013bee47dd9582
7
+ data.tar.gz: 4e6a3c3921e8d360a73eeeb615c24039b362148a9f4119f04e0bfa7f8f9cff3ab8b27ed9f5923d033d482cd668f65e669a9af60609f2b060a0ed9276b56cdee2
@@ -43,34 +43,6 @@ class UffizziCore::DockerHubClient
43
43
  RequestResult.new(result: response.body)
44
44
  end
45
45
 
46
- def get_webhooks(slug:, registry:)
47
- url = BASE_URL + "/v2/repositories/#{slug}/webhook_pipeline/"
48
-
49
- response = connection.get(url, { registry: registry, page_size: 100 }) do |request|
50
- request.headers['Authorization'] = "JWT #{jwt}"
51
- end
52
-
53
- RequestResult.new(status: response.status, result: response.body)
54
- end
55
-
56
- def create_webhook(slug:, name:, expect_final_callback:, webhooks:)
57
- raise NotAuthorizedError if !authentificated?
58
-
59
- url = BASE_URL + "/v2/repositories/#{slug}/webhook_pipeline/"
60
-
61
- params = {
62
- name: name,
63
- expect_final_callback: expect_final_callback,
64
- webhooks: webhooks,
65
- }
66
-
67
- response = connection.post(url, params) do |request|
68
- request.headers['Authorization'] = "JWT #{jwt}"
69
- end
70
-
71
- RequestResult.new(status: response.status, result: response.body)
72
- end
73
-
74
46
  def accounts
75
47
  raise NotAuthorizedError if !authentificated?
76
48
 
@@ -115,16 +87,6 @@ class UffizziCore::DockerHubClient
115
87
  RequestResult.new(result: response.body)
116
88
  end
117
89
 
118
- def send_webhook_answer(url, params)
119
- conn = Faraday.new do |c|
120
- c.request(:json)
121
- c.adapter(Faraday.default_adapter)
122
- end
123
- response = conn.post(url, params)
124
-
125
- RequestResult.quiet.new(result: response.body)
126
- end
127
-
128
90
  def authentificated?
129
91
  jwt.present?
130
92
  end
@@ -23,7 +23,6 @@ class UffizziCore::DeploymentService
23
23
  update_subdomain!(deployment_form)
24
24
 
25
25
  UffizziCore::Deployment::CreateJob.perform_async(deployment_form.id)
26
- UffizziCore::Deployment::CreateWebhooksJob.perform_async(deployment_form.id)
27
26
  end
28
27
 
29
28
  deployment_form
@@ -208,28 +207,6 @@ class UffizziCore::DeploymentService
208
207
  deployment.save!
209
208
  end
210
209
 
211
- def create_webhooks(deployment)
212
- credential = deployment.project.account.credentials.docker_hub.active.first
213
-
214
- if !deployment.containers.with_docker_hub_repo.exists? || !credential.present?
215
- Rails.logger.info("DEPLOYMENT_PROCESS deployment_id=#{deployment.id} create_webhooks no dockerhub containers or credential")
216
- return
217
- end
218
-
219
- accounts = UffizziCore::DockerHubService.accounts(credential)
220
-
221
- deployment.containers.with_docker_hub_repo.find_each do |container|
222
- if !accounts.include?(container.repo.namespace)
223
- logger_message = "DEPLOYMENT_PROCESS deployment_id=#{deployment.id} no namespace(#{container.repo.namespace})
224
- in accounts(#{accounts.inspect})"
225
- Rails.logger.info(logger_message)
226
- next
227
- end
228
-
229
- UffizziCore::Credential::DockerHub::CreateWebhookJob.perform_async(credential.id, container.image, deployment.id)
230
- end
231
- end
232
-
233
210
  def pull_request_payload_present?(deployment)
234
211
  deployment.continuous_preview_payload.present? && deployment.continuous_preview_payload['pull_request'].present?
235
212
  end
@@ -1,44 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class UffizziCore::DockerHubService
4
- HOOK_NAME = 'Uffizzi OpenSource Deploy Webhook'
5
- HOOK_URL = "#{Settings.app.host}api/cli/v1/webhooks/docker_hub"
6
- REGISTRY = 'registry-1.docker.io'
7
-
8
4
  class << self
9
- def create_webhook(credential, image)
10
- client = user_client(credential)
11
-
12
- webhooks_response = client.get_webhooks(slug: image, registry: REGISTRY)
13
- Rails.logger.info("DockerHubService create_webhook get_webhooks_response=#{webhooks_response.inspect}")
14
-
15
- return false if webhooks_response.status != 200
16
-
17
- webhooks = webhooks_response.result['results']
18
-
19
- webhook = webhooks.detect { |hook| hook['name'] == HOOK_NAME }
20
-
21
- return true if !webhook.nil?
22
-
23
- params = {
24
- slug: image,
25
- name: HOOK_NAME,
26
- expect_final_callback: false,
27
- webhooks: [{ name: HOOK_NAME, hook_url: HOOK_URL, registry: REGISTRY }],
28
- }
29
-
30
- response = client.create_webhook(params)
31
-
32
- Rails.logger.info("DockerHubService create_webhook create_webhook_response=#{response.inspect} params=#{params.inspect}")
33
-
34
- response.status == 201
35
- end
36
-
37
- def send_webhook_answer(callback_url)
38
- params = { state: 'success', description: 'Successfully deployed to Uffizzi' }
39
- public_docker_hub_client.send_webhook_answer(callback_url, params)
40
- end
41
-
42
5
  def accounts(credential)
43
6
  client = user_client(credential)
44
7
  response = client.accounts
data/config/routes.rb CHANGED
@@ -7,14 +7,6 @@ UffizziCore::Engine.routes.draw do
7
7
  namespace :api, defaults: { format: :json } do
8
8
  namespace :cli do
9
9
  namespace :v1 do
10
- resource :webhooks, only: [] do
11
- post :docker_hub
12
- post :github
13
- post :azure
14
- post :amazon
15
- post :google
16
- end
17
-
18
10
  resources :projects, only: ['index', 'show', 'create', 'destroy'], param: :slug do
19
11
  scope module: :projects do
20
12
  resource :compose_file, only: ['show', 'create', 'destroy']
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UffizziCore
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.0'
5
5
  end
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: 0.5.0
4
+ version: 0.6.0
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: 2022-08-15 00:00:00.000000000 Z
12
+ date: 2022-08-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aasm
@@ -754,11 +754,9 @@ files:
754
754
  - app/jobs/uffizzi_core/activity_item/docker/update_digest_job.rb
755
755
  - app/jobs/uffizzi_core/application_job.rb
756
756
  - app/jobs/uffizzi_core/config_file/apply_job.rb
757
- - app/jobs/uffizzi_core/credential/docker_hub/create_webhook_job.rb
758
757
  - app/jobs/uffizzi_core/deployment/create_credential_job.rb
759
758
  - app/jobs/uffizzi_core/deployment/create_credentials_job.rb
760
759
  - app/jobs/uffizzi_core/deployment/create_job.rb
761
- - app/jobs/uffizzi_core/deployment/create_webhooks_job.rb
762
760
  - app/jobs/uffizzi_core/deployment/delete_credential_job.rb
763
761
  - app/jobs/uffizzi_core/deployment/delete_job.rb
764
762
  - app/jobs/uffizzi_core/deployment/deploy_containers_job.rb
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class UffizziCore::Credential::DockerHub::CreateWebhookJob < UffizziCore::ApplicationJob
4
- sidekiq_options queue: :accounts, retry: 5
5
-
6
- def perform(credential_id, image, deployment_id = nil)
7
- if deployment_id.present?
8
- Rails.logger.info("DEPLOYMENT_PROCESS deployment_id=#{deployment_id} DockerHub CreateWebhooksJob")
9
- end
10
-
11
- credential = UffizziCore::Credential.find(credential_id)
12
-
13
- UffizziCore::DockerHubService.create_webhook(credential, image)
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class UffizziCore::Deployment::CreateWebhooksJob < UffizziCore::ApplicationJob
4
- sidekiq_options queue: :deployments, retry: 5
5
-
6
- def perform(id)
7
- Rails.logger.info("DEPLOYMENT_PROCESS deployment_id=#{id} CreateWebhooksJob")
8
-
9
- deployment = UffizziCore::Deployment.find(id)
10
-
11
- UffizziCore::DeploymentService.create_webhooks(deployment)
12
- end
13
- end