Skip to content
Snippets Groups Projects
Commit cf6258af authored by Kamil Trzcińśki's avatar Kamil Trzcińśki
Browse files

Fix billing checking

parent b44583e9
No related branches found
No related tags found
No related merge requests found
class Projects::Clusters::GcpController < Projects::ApplicationController
before_action :authorize_read_cluster!
before_action :authorize_google_api, except: [:login]
before_action :authorize_google_project_billing, only: [:new]
before_action :authorize_google_project_billing, only: [:new, :create]
before_action :authorize_create_cluster!, only: [:new, :create]
before_action :verify_billing, only: [:create]
 
Loading
Loading
Loading
Loading
@@ -2,7 +2,10 @@ class CheckGcpProjectBillingService
def execute(token)
client = GoogleApi::CloudPlatform::Client.new(token, nil)
client.projects_list.select do |project|
client.projects_get_billing_info(project.name).billingEnabled
begin
client.projects_get_billing_info(project.project_id).billing_enabled
rescue
end
end
end
end
Loading
Loading
@@ -23,13 +23,13 @@ class CheckGcpProjectBillingWorker
end
 
def self.redis_shared_state_key_for(token)
"gitlab:gcp:#{token.hash}:billing_enabled"
"gitlab:gcp:#{Digest::SHA1.hexdigest(token)}:billing_enabled"
end
 
def perform(token_key)
return unless token_key
 
token = self.get_session_token(token_key)
token = self.class.get_session_token(token_key)
return unless token
return unless try_obtain_lease_for(token)
 
Loading
Loading
Loading
Loading
@@ -51,11 +51,11 @@ module GoogleApi
end
end
 
def projects_get_billing_info(project_name)
def projects_get_billing_info(project_id)
service = Google::Apis::CloudbillingV1::CloudbillingService.new
service.authorization = access_token
 
service.get_project_billing_info("projects/#{project_name}")
service.get_project_billing_info("projects/#{project_id}")
end
 
def projects_zones_clusters_get(project_id, zone, cluster_id)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment