Skip to content

Commit b25493c

Browse files
authored
Add diagram of image-based provisioning with user data (#3306)
1 parent ece482f commit b25493c

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
@startuml
2+
3+
!include foreman.pstyle
4+
5+
title Image-based provisioning with user-data configuration
6+
7+
actor User
8+
participant "Provisioned\ninstance" as Host
9+
participant "Foreman" as Foreman
10+
participant "Foreman\nProxy" as Proxy
11+
participant "Infrastructure\ncloud" as Cloud
12+
participant DNS
13+
!if ($puppet)
14+
participant "Puppet\nserver" as Puppet
15+
!endif
16+
17+
note over Foreman : Has an image\nwith the //User Data// flag
18+
note over Host : Powered off
19+
20+
== Create host in Foreman ==
21+
22+
User -> Foreman : Create host\nwith a cloud resource and the image
23+
Foreman -> Cloud : Create a new instance
24+
Cloud -> Foreman : Report the IP address
25+
Foreman -> Proxy : Create DNS records
26+
Proxy -> DNS : Forward DNS records
27+
Foreman -> Cloud : Start the instance
28+
Cloud -> Host : Boot
29+
group Template [user_data]
30+
Foreman -> Foreman : Render user data
31+
end
32+
Foreman -> Cloud: Send rendered user data over SSH
33+
Cloud -> Host: Pass rendered user data
34+
35+
== User data script ==
36+
37+
!include prov-initial-configuration.iuml
38+
Host -> Foreman : Call home\n(disables build mode)
39+
40+
!if ($puppet)
41+
== First Puppet run ==
42+
43+
!include puppet-run.iuml
44+
!endif
45+
46+
note over Host : In operation
47+
48+
@enduml

0 commit comments

Comments
 (0)