Initial commit of PVC Bootstrap system
Adds the PVC Bootstrap system, which allows the automated deployment of one or more PVC clusters.
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								docs/images/pvcbootstrapd-net.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/images/pvcbootstrapd-net.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 40 KiB | 
							
								
								
									
										
											BIN
										
									
								
								docs/images/pvcbootstrapd-phy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/images/pvcbootstrapd-phy.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 56 KiB | 
							
								
								
									
										13
									
								
								docs/swagger.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								docs/swagger.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
|   <head> | ||||
|     <title>PVC Bootstrap API Documentation</title> | ||||
|     <meta charset="utf-8"/> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
|     <style> body { margin: 0; padding: 0; } </style> | ||||
|   </head> | ||||
|   <body> | ||||
|     <redoc spec-url='./swagger.json' hide-loading></redoc> | ||||
|     <script src="https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js"> </script> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										191
									
								
								docs/swagger.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								docs/swagger.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,191 @@ | ||||
| { | ||||
|     "definitions": { | ||||
|         "Message": { | ||||
|             "properties": { | ||||
|                 "message": { | ||||
|                     "description": "A text message describing the result", | ||||
|                     "example": "The foo was successfully maxed", | ||||
|                     "type": "string" | ||||
|                 } | ||||
|             }, | ||||
|             "type": "object" | ||||
|         } | ||||
|     }, | ||||
|     "host": "localhost:9999", | ||||
|     "info": { | ||||
|         "title": "PVC Bootstrap API", | ||||
|         "version": "1.0" | ||||
|     }, | ||||
|     "paths": { | ||||
|         "/": { | ||||
|             "get": { | ||||
|                 "description": "", | ||||
|                 "responses": { | ||||
|                     "200": { | ||||
|                         "description": "OK", | ||||
|                         "schema": { | ||||
|                             "$ref": "#/definitions/Message" | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|                 "summary": "Return basic details of the API", | ||||
|                 "tags": [ | ||||
|                     "root" | ||||
|                 ] | ||||
|             } | ||||
|         }, | ||||
|         "/checkin": { | ||||
|             "get": { | ||||
|                 "description": "", | ||||
|                 "responses": { | ||||
|                     "200": { | ||||
|                         "description": "OK", | ||||
|                         "schema": { | ||||
|                             "$ref": "#/definitions/Message" | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|                 "summary": "Return checkin details of the API", | ||||
|                 "tags": [ | ||||
|                     "checkin" | ||||
|                 ] | ||||
|             } | ||||
|         }, | ||||
|         "/checkin/dnsmasq": { | ||||
|             "post": { | ||||
|                 "consumes": [ | ||||
|                     "application/json" | ||||
|                 ], | ||||
|                 "description": "", | ||||
|                 "parameters": [ | ||||
|                     { | ||||
|                         "description": "An event checkin from an external bootstrap tool component.", | ||||
|                         "in": "body", | ||||
|                         "name": "dnsmasq_checkin_event", | ||||
|                         "schema": { | ||||
|                             "properties": { | ||||
|                                 "action": { | ||||
|                                     "description": "The action of the event.", | ||||
|                                     "example": "add", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "client_id": { | ||||
|                                     "description": "(add, old) The client ID from a DHCP request.", | ||||
|                                     "example": "01:ff:ff:ff:ab:cd:ef", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "hostname": { | ||||
|                                     "description": "(add, old) The client hostname from a DHCP request.", | ||||
|                                     "example": "pvc-installer-live", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "ipaddr": { | ||||
|                                     "description": "(add, old) The IP address from a DHCP request.", | ||||
|                                     "example": "10.199.199.10", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "macaddr": { | ||||
|                                     "description": "(add, old) The MAC address from a DHCP request.", | ||||
|                                     "example": "ff:ff:ff:ab:cd:ef", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "user_class": { | ||||
|                                     "description": "(add, old) The DHCP user-class option from a DHCP request.", | ||||
|                                     "example": "None", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "vendor_class": { | ||||
|                                     "description": "(add, old) The DHCP vendor-class option from a DHCP request.", | ||||
|                                     "example": "CPQRIB3 (HP Proliant DL360 G6 iLO)", | ||||
|                                     "type": "string" | ||||
|                                 } | ||||
|                             }, | ||||
|                             "required": [ | ||||
|                                 "action" | ||||
|                             ], | ||||
|                             "type": "object" | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 "responses": { | ||||
|                     "200": { | ||||
|                         "description": "OK", | ||||
|                         "schema": { | ||||
|                             "$ref": "#/definitions/Message" | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|                 "summary": "Register a checkin from the DNSMasq subsystem", | ||||
|                 "tags": [ | ||||
|                     "checkin" | ||||
|                 ] | ||||
|             } | ||||
|         }, | ||||
|         "/checkin/host": { | ||||
|             "post": { | ||||
|                 "consumes": [ | ||||
|                     "application/json" | ||||
|                 ], | ||||
|                 "description": "", | ||||
|                 "parameters": [ | ||||
|                     { | ||||
|                         "description": "An event checkin from an external bootstrap tool component.", | ||||
|                         "in": "body", | ||||
|                         "name": "host_checkin_event", | ||||
|                         "schema": { | ||||
|                             "properties": { | ||||
|                                 "action": { | ||||
|                                     "description": "The action of the event.", | ||||
|                                     "example": "begin", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "bmc_ipaddr": { | ||||
|                                     "description": "The IP addres of the system BMC interface.", | ||||
|                                     "example": "10.199.199.10", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "bmc_macaddr": { | ||||
|                                     "description": "The MAC address of the system BMC interface.", | ||||
|                                     "example": "ff:ff:ff:01:23:45", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "host_ipaddr": { | ||||
|                                     "description": "The IP address of the system provisioning interface.", | ||||
|                                     "example": "10.199.199.11", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "host_macaddr": { | ||||
|                                     "description": "The MAC address of the system provisioning interface.", | ||||
|                                     "example": "ff:ff:ff:ab:cd:ef", | ||||
|                                     "type": "string" | ||||
|                                 }, | ||||
|                                 "hostname": { | ||||
|                                     "description": "The system hostname.", | ||||
|                                     "example": "hv1.mydomain.tld", | ||||
|                                     "type": "string" | ||||
|                                 } | ||||
|                             }, | ||||
|                             "required": [ | ||||
|                                 "action" | ||||
|                             ], | ||||
|                             "type": "object" | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 "responses": { | ||||
|                     "200": { | ||||
|                         "description": "OK", | ||||
|                         "schema": { | ||||
|                             "$ref": "#/definitions/Message" | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|                 "summary": "Register a checkin from the Host subsystem", | ||||
|                 "tags": [ | ||||
|                     "checkin" | ||||
|                 ] | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     "swagger": "2.0" | ||||
| } | ||||
		Reference in New Issue
	
	Block a user