Skip to content

Commit

Permalink
Merge pull request ManageIQ#2 from Adam-Grare/add_configuration_scrip…
Browse files Browse the repository at this point in the history
…t_source_and_payload

Add configuration script source and payload
  • Loading branch information
Fryguy authored and GitHub Enterprise committed Feb 13, 2024
2 parents 8805e12 + e93f8b8 commit 65e1fe4
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ConfigurationScriptPayload < ManageIQ::Providers::EmbeddedAutomationManager::ConfigurationScriptPayload
has_many :jobs, :class_name => 'OrchestrationStack', :foreign_key => :configuration_script_base_id

def run(vars = {}, _userid = nil)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
class ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ConfigurationScriptSource < ManageIQ::Providers::EmbeddedAutomationManager::ConfigurationScriptSource
FRIENDLY_NAME = "Embedded Terraform Repository".freeze

def self.display_name(number = 1)
n_('Repository (Embedded Terraform)', 'Repositories (Embedded Terraform)', number)
end

def sync
update!(:status => "running")

transaction do
current = configuration_script_payloads.index_by(&:name)

git_repository.update_repo
git_repository.with_worktree do |worktree|
worktree.ref = scm_branch
worktree.blob_list.each do |filename|
next if filename.start_with?(".") || !filename.end_with?(".tf")

payload = worktree.read_file(filename)
found = current.delete(filename) || self.class.module_parent::ConfigurationScriptPayload.new(:configuration_script_source_id => id)

found.update!(:name => filename, :manager_id => manager_id, :payload => payload, :payload_type => "json")
end
end

current.values.each(&:destroy)
configuration_script_payloads.reload
end

update!(:status => "successful", :last_updated_on => Time.zone.now, :last_update_error => nil)
rescue => error
update!(:status => "error", :last_updated_on => Time.zone.now, :last_update_error => error)
raise error
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
class ManageIQ::Providers::EmbeddedTerraform::AutomationManager::Credential < ManageIQ::Providers::EmbeddedAutomationManager::Authentication
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ScmCredential < ManageIQ::Providers::EmbeddedTerraform::AutomationManager::Credential
include ManageIQ::Providers::EmbeddedAutomationManager::ScmCredentialMixin

FRIENDLY_NAME = "Embedded Terraform SCM Credential".freeze
end

0 comments on commit 65e1fe4

Please sign in to comment.