mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-10-31 02:13:29 +00:00 
			
		
		
		
	Add moby run packet to boot on baremetal Packet.net hosts
				
					
				
			This uses the Packet.net API and iPXE to boot a Moby host. There are several enhancements coming soon, such as SSH key customisation, but this PR is sufficient to boot a host and then use the web interface to get console access. The user must currently upload the built artefacts to a public URL and specify it via --base-url, e.g.: moby run packet --api-key <key> --project-id <id> \ --base-url http://recoil.org/~avsm/ipxe --hostname test-moby packet See #1424 #1245 for related issues. Signed-off-by: Anil Madhavapeddy <anil@docker.com>
This commit is contained in:
		
							
								
								
									
										53
									
								
								vendor/github.com/packethost/packngo/user.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								vendor/github.com/packethost/packngo/user.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| package packngo | ||||
|  | ||||
| const userBasePath = "/users" | ||||
|  | ||||
| // UserService interface defines available user methods | ||||
| type UserService interface { | ||||
| 	Get(string) (*User, *Response, error) | ||||
| } | ||||
|  | ||||
| // User represents a Packet user | ||||
| type User struct { | ||||
| 	ID          string  `json:"id"` | ||||
| 	FirstName   string  `json:"first_name,omitempty"` | ||||
| 	LastName    string  `json:"last_name,omitempty"` | ||||
| 	FullName    string  `json:"full_name,omitempty"` | ||||
| 	Email       string  `json:"email,omitempty"` | ||||
| 	TwoFactor   string  `json:"two_factor_auth,omitempty"` | ||||
| 	AvatarURL   string  `json:"avatar_url,omitempty"` | ||||
| 	Facebook    string  `json:"twitter,omitempty"` | ||||
| 	Twitter     string  `json:"facebook,omitempty"` | ||||
| 	LinkedIn    string  `json:"linkedin,omitempty"` | ||||
| 	Created     string  `json:"created_at,omitempty"` | ||||
| 	Updated     string  `json:"updated_at,omitempty"` | ||||
| 	TimeZone    string  `json:"timezone,omitempty"` | ||||
| 	Emails      []Email `json:"email,omitempty"` | ||||
| 	PhoneNumber string  `json:"phone_number,omitempty"` | ||||
| 	URL         string  `json:"href,omitempty"` | ||||
| } | ||||
|  | ||||
| func (u User) String() string { | ||||
| 	return Stringify(u) | ||||
| } | ||||
|  | ||||
| // UserServiceOp implements UserService | ||||
| type UserServiceOp struct { | ||||
| 	client *Client | ||||
| } | ||||
|  | ||||
| // Get method gets a user by userID | ||||
| func (s *UserServiceOp) Get(userID string) (*User, *Response, error) { | ||||
| 	req, err := s.client.NewRequest("GET", userBasePath, nil) | ||||
| 	if err != nil { | ||||
| 		return nil, nil, err | ||||
| 	} | ||||
|  | ||||
| 	user := new(User) | ||||
| 	resp, err := s.client.Do(req, user) | ||||
| 	if err != nil { | ||||
| 		return nil, resp, err | ||||
| 	} | ||||
|  | ||||
| 	return user, resp, err | ||||
| } | ||||
		Reference in New Issue
	
	Block a user