Class: Proxy::AnsibleDirector::Actions::Meta::BuildPushEe

Inherits:
Dynflow::Action::Runner
  • Object
show all
Defined in:
lib/smart_proxy_ansible_director/actions/meta/build_push_ee.rb

Instance Method Summary collapse

Instance Method Details

#plan(args) ⇒ Object

“action_input”: {

  "execution_environment": {
    "id": 1,
    "content": {
      "base_image": "registry.fedoraproject.org/fedora:42",
      "ansible_core_version": "",
      "content_units": [
        {
          "type": "collection",
          "identifier": "nextcloud.admin",
          "version": "2.0.0",
          "source": "https://galaxy.ansible.com"
        }
      ]
    }
  }
}


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/smart_proxy_ansible_director/actions/meta/build_push_ee.rb', line 29

def plan(args)
  execution_environment_definition = args['execution_environment']

  ee_id = execution_environment_definition['id']
  execution_environment_content = execution_environment_definition['content']

  ee_base_image = execution_environment_content['base_image']
  ee_base_image_tag = 'latest'
  ee_ansible_core_version = execution_environment_content['ansible_core_version']
  ee_formatted_content = ::Proxy::AnsibleDirector::Helpers::ExecutionEnvironmentHelpers.format_content(
    execution_environment_content['content_units']
  )

  sequence do
    plan_action ::Proxy::AnsibleDirector::Actions::BuildExecutionEnvironment, {
      ee_id: ee_id,
      ee_base_image_url: ee_base_image,
      ee_built_image_tag: ee_base_image_tag,
      ee_ansible_core_version: ee_ansible_core_version,
      ee_formatted_content: ee_formatted_content,
      is_base_image: true
    }
    # COMPAT 3.16 - 3
    # Registry authorization has not been finalized.
    # Further, granular capability usage is difficult with the current execution stack.
    # plan_action ::Proxy::AnsibleDirector::Actions::PushExecutionEnvironment, {
    #  ee_id: ee_id
    # }
  end
end