diff --git a/guides/common/images/provisioning-image-finish.png b/guides/common/images/provisioning-image-finish.png new file mode 100644 index 00000000000..8966e8e65fa Binary files /dev/null and b/guides/common/images/provisioning-image-finish.png differ diff --git a/guides/image-sources/provisioning-image-finish.plantuml b/guides/image-sources/provisioning-image-finish.plantuml new file mode 100644 index 00000000000..937e7150071 --- /dev/null +++ b/guides/image-sources/provisioning-image-finish.plantuml @@ -0,0 +1,47 @@ +@startuml + +!include foreman.pstyle + +title Image-based provisioning with Finish script configuration + +actor User +participant "Provisioned\nInstance" as Host +participant "Foreman" as Foreman +participant "Foreman\nProxy" as Proxy +participant "Infrastructure\nCloud" as Cloud +participant DNS +!if ($puppet) +participant "Puppet\nserver" as Puppet +!endif + +note over Foreman : Has an image with SSH credentials\ndefined in compute resource +note over Host : Powered off + +== Create host in Foreman == + +User -> Foreman : Create host\nwith a cloud resource and the image +group Template [Finish] + Foreman -> Proxy : Render the Finish script +end +Foreman -> Cloud : Create a new instance +Cloud -> Foreman : Report the IP address +Foreman -> Proxy : Create DNS records +Proxy -> DNS : Forward DNS records +Foreman -> Cloud : Start the instance +Cloud -> Host : Boot +Foreman -> Host : Execute the Finish script by using SSH + +== Finish script == + +!include prov-initial-configuration.iuml +Host -> Foreman : Call home\n(disables build mode) + +!if ($puppet) +== First Puppet run == + +!include puppet-run.iuml +!endif + +note over Host : In operation + +@enduml