mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-01 05:56:16 +00:00
Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
705d029a63 | |||
7be63384d4 | |||
dd78c86a60 | |||
262c5e040d | |||
ea396786e4 | |||
6966f06b1a | |||
53e20cbc2a | |||
270928af13 | |||
1e4a944acb | |||
d702b95e0c | |||
7b723bcba5 | |||
8b58834a31 | |||
cdbde063f0 | |||
a73476c1dd | |||
465951fd1e | |||
b63ddfc568 | |||
bfdf3533fd | |||
c1ae58772c | |||
5947ae80bb | |||
93a7bf9c3a | |||
a0940d4581 |
@ -12,3 +12,4 @@ sail
|
|||||||
*.yml
|
*.yml
|
||||||
!*.blade.php
|
!*.blade.php
|
||||||
!*.sh
|
!*.sh
|
||||||
|
resources/views/ssh/
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6ed1gv5ak6hEPcaV8D3Z4bf'
|
- 'Bearer ge6ZVa4kfD86hdv5a31EcbP'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -113,7 +113,7 @@ endpoints:
|
|||||||
name: command
|
name: command
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: qui
|
example: itaque
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -142,7 +142,7 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
command: qui
|
command: itaque
|
||||||
user: root
|
user: root
|
||||||
frequency: '* * * * *'
|
frequency: '* * * * *'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
@ -157,7 +157,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer VEfc5h3gva68PkZ46Deabd1'
|
- 'Bearer cdh5bD8gVPkf34e1ZEva6a6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -194,7 +194,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -204,7 +204,7 @@ endpoints:
|
|||||||
name: cronJob_id
|
name: cronJob_id
|
||||||
description: 'The ID of the cronJob.'
|
description: 'The ID of the cronJob.'
|
||||||
required: true
|
required: true
|
||||||
example: 5
|
example: 18
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -212,8 +212,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
cronJob_id: 5
|
cronJob_id: 18
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -230,7 +230,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 614DaP5vZ6edcaVEgfhk83b'
|
- 'Bearer fa5VgdkaD8cZ6vh34Pb16eE'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -267,7 +267,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -277,7 +277,7 @@ endpoints:
|
|||||||
name: cronJob_id
|
name: cronJob_id
|
||||||
description: 'The ID of the cronJob.'
|
description: 'The ID of the cronJob.'
|
||||||
required: true
|
required: true
|
||||||
example: 5
|
example: 10
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -285,8 +285,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
cronJob_id: 5
|
cronJob_id: 10
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -295,7 +295,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -303,7 +303,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gDV6bZ1dEckvf45P86eaha3'
|
- 'Bearer P8hkva3ZD4fgb166adEVce5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -52,7 +52,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"name":"clockman","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"wvonrueden","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"name":"amalia38","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"troy.rippin","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer efEV4g86bd5PZac6vak3Dh1'
|
- 'Bearer Z641ebPacDV6f38kEgdah5v'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -113,19 +113,19 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: nesciunt
|
example: et
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: nesciunt
|
name: et
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"name":"johanna76","status":"ready","created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"name":"harvey.haskell","status":"ready","created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -133,7 +133,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 3E6VD14dvaekbaZfh6Pg8c5'
|
- 'Bearer d4gbv56caV3aZ8D1h6kfEPe'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -170,7 +170,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -180,7 +180,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the database.'
|
description: 'The ID of the database.'
|
||||||
required: true
|
required: true
|
||||||
example: 6
|
example: 19
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -188,8 +188,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
id: 6
|
id: 19
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -198,7 +198,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"name":"chloe.huel","status":"ready","created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"name":"ruthie.koepp","status":"ready","created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -206,7 +206,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer fb5hVc38e1aDP6ZvkgEda46'
|
- 'Bearer P68VgDcaEZvk63f4b5aed1h'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -243,7 +243,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -253,7 +253,7 @@ endpoints:
|
|||||||
name: database_id
|
name: database_id
|
||||||
description: 'The ID of the database.'
|
description: 'The ID of the database.'
|
||||||
required: true
|
required: true
|
||||||
example: 6
|
example: 15
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -261,8 +261,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
database_id: 6
|
database_id: 15
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -271,7 +271,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -279,7 +279,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer cPVbhaZkfg5aEv46D183ed6'
|
- 'Bearer DkPc6d1heEv5a8fb4V63agZ'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -52,7 +52,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"username":"nyasia68","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"madyson20","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"username":"xgaylord","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"una37","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer egc5VaDdvabfP6843k61hZE'
|
- 'Bearer P4gD36fZeckvVh5ab86Ead1'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -113,7 +113,7 @@ endpoints:
|
|||||||
name: username
|
name: username
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: dignissimos
|
example: consequuntur
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -123,7 +123,7 @@ endpoints:
|
|||||||
name: password
|
name: password
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: OK+XEG2)
|
example: 'fI/i2.O4u&dla?eXvR2'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -140,14 +140,14 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
username: dignissimos
|
username: consequuntur
|
||||||
password: OK+XEG2)
|
password: 'fI/i2.O4u&dla?eXvR2'
|
||||||
host: '%'
|
host: '%'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"username":"amya.nitzsche","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"username":"kari.farrell","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -155,7 +155,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 31hgfcvEb6Pkaa48D6dZ5Ve'
|
- 'Bearer 5k8Vced1baaE6f4ZvDPgh36'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -192,7 +192,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -202,7 +202,7 @@ endpoints:
|
|||||||
name: databaseUser_id
|
name: databaseUser_id
|
||||||
description: 'The ID of the databaseUser.'
|
description: 'The ID of the databaseUser.'
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 18
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -210,8 +210,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
databaseUser_id: 4
|
databaseUser_id: 18
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -220,7 +220,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"username":"bergstrom.ericka","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"username":"caterina.mosciski","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -228,7 +228,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer aDv48631h5af6EdkcVbPZeg'
|
- 'Bearer 3kDveP5V8a6dghfa4E16cbZ'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -265,7 +265,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -283,7 +283,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
databaseUser_id: 4
|
databaseUser_id: 4
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
@ -292,19 +292,19 @@ endpoints:
|
|||||||
name: databases
|
name: databases
|
||||||
description: 'Array of database names to link to the user.'
|
description: 'Array of database names to link to the user.'
|
||||||
required: true
|
required: true
|
||||||
example: accusantium
|
example: non
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
databases: accusantium
|
databases: non
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"username":"fmurray","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"username":"kurtis05","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -312,7 +312,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer cf8ZPhV1k3d5DaEva46beg6'
|
- 'Bearer DgPea43EvV51a866dfbZckh'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -349,7 +349,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -359,7 +359,7 @@ endpoints:
|
|||||||
name: databaseUser_id
|
name: databaseUser_id
|
||||||
description: 'The ID of the databaseUser.'
|
description: 'The ID of the databaseUser.'
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 6
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -367,8 +367,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
databaseUser_id: 4
|
databaseUser_id: 6
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -377,7 +377,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -385,7 +385,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer hdEvkbaPVf4cZ65a8631eDg'
|
- 'Bearer 6ackVP8hEZd3164gD5evafb'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -52,7 +52,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":18074,"source":"189.27.156.82","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":41088,"source":"86.177.121.87","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":38781,"source":"79.116.255.150","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":32141,"source":"52.174.114.251","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer vhkc4aPa6ZdeV8D3Ef156gb'
|
- 'Bearer h3P5gD8E4dkeZ6abac6vfV1'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -113,7 +113,7 @@ endpoints:
|
|||||||
name: type
|
name: type
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: allow
|
example: deny
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- allow
|
- allow
|
||||||
@ -137,7 +137,7 @@ endpoints:
|
|||||||
name: port
|
name: port
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: voluptates
|
example: et
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -147,7 +147,7 @@ endpoints:
|
|||||||
name: source
|
name: source
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: saepe
|
example: voluptates
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -164,16 +164,16 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
type: allow
|
type: deny
|
||||||
protocol: udp
|
protocol: udp
|
||||||
port: voluptates
|
port: et
|
||||||
source: saepe
|
source: voluptates
|
||||||
mask: '0'
|
mask: '0'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":61992,"source":"47.222.76.48","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":47148,"source":"119.182.8.45","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -181,7 +181,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 1cEb5P66VeDkf8aahg3Zdv4'
|
- 'Bearer 6a8DVv5k3gZfEe6hb1daPc4'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -218,7 +218,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -228,7 +228,7 @@ endpoints:
|
|||||||
name: firewallRule_id
|
name: firewallRule_id
|
||||||
description: 'The ID of the firewallRule.'
|
description: 'The ID of the firewallRule.'
|
||||||
required: true
|
required: true
|
||||||
example: 7
|
example: 29
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -236,8 +236,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
firewallRule_id: 7
|
firewallRule_id: 29
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -246,7 +246,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":43107,"source":"135.73.216.16","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":2317,"source":"44.161.134.114","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -254,7 +254,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6VaPhkD5vd1Z8e6E3cba4gf'
|
- 'Bearer P4bZdV1geED3kfh568aa6cv'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -291,7 +291,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -301,7 +301,7 @@ endpoints:
|
|||||||
name: firewallRule_id
|
name: firewallRule_id
|
||||||
description: 'The ID of the firewallRule.'
|
description: 'The ID of the firewallRule.'
|
||||||
required: true
|
required: true
|
||||||
example: 7
|
example: 29
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -309,8 +309,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
firewallRule_id: 7
|
firewallRule_id: 29
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -319,7 +319,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -327,7 +327,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer v81d5Efch636aVgZebaPkD4'
|
- 'Bearer Dh3kcaafdg6E5ZvV46ePb81'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -29,7 +29,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"success":true,"version":"2.0.0"}'
|
content: '{"success":true,"version":"2.1.0"}'
|
||||||
headers:
|
headers:
|
||||||
cache-control: 'no-cache, private'
|
cache-control: 'no-cache, private'
|
||||||
content-type: application/json
|
content-type: application/json
|
||||||
|
@ -30,7 +30,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":29,"name":"Zachary Lueilwitz","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":30,"name":"Mrs. Kiarra Heller IV","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":3,"name":"Jeffry Dickinson","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":4,"name":"Miss Tianna Dietrich PhD","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -38,7 +38,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer eb14DEPv6cdah65VfZgka38'
|
- 'Bearer 5DaveP3d6b6khEZVcg4fa18'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -81,7 +81,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":29,"name":"Hershel Spinka","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":3,"name":"Isidro Franecki","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -89,7 +89,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer V1E3566Pf4gkvh8dDZabeca'
|
- 'Bearer a6P53EvkcZV6D4ghad1efb8'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -132,7 +132,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":29,"name":"Emery Kiehn","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":3,"name":"Rhoda Parisian","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -140,7 +140,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer haD6e36VZbkf4P8aEcvd15g'
|
- 'Bearer v48Ve5ZghdcbE1akP66fD3a'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -182,19 +182,19 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the project.'
|
description: 'The name of the project.'
|
||||||
required: true
|
required: true
|
||||||
example: ut
|
example: ullam
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: ut
|
name: ullam
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":29,"name":"Mable Prohaska","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":3,"name":"Mr. Dashawn Jacobson Sr.","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -202,7 +202,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer V14kPa5deva8Ebgc36f6hDZ'
|
- 'Bearer fvEdh3Vgbk56Z4a61eP8caD'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -245,7 +245,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -253,7 +253,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer k1D68d5ePavVZag6h4fb3cE'
|
- 'Bearer eg4c3vZ1Dhaa68d6PEfk5bV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -41,7 +41,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Dorthy Toy","ssh_user":"vito","ip":"172.132.95.155","local_ip":"118.57.197.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Carrie Sporer","ssh_user":"vito","ip":"184.242.162.173","local_ip":"135.244.50.22","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Amina DuBuque","ssh_user":"vito","ip":"163.77.69.73","local_ip":"137.139.200.70","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Floy Cummerata","ssh_user":"vito","ip":"62.53.140.25","local_ip":"34.59.35.195","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -49,7 +49,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 8VE41PdZcvb6kgafD635ahe'
|
- 'Bearer E81avahec6365dbZfgD4kPV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -91,7 +91,7 @@ endpoints:
|
|||||||
name: provider
|
name: provider
|
||||||
description: 'The server provider type'
|
description: 'The server provider type'
|
||||||
required: true
|
required: true
|
||||||
example: et
|
example: iste
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -101,7 +101,7 @@ endpoints:
|
|||||||
name: server_provider
|
name: server_provider
|
||||||
description: 'If the provider is not custom, the ID of the server provider profile'
|
description: 'If the provider is not custom, the ID of the server provider profile'
|
||||||
required: true
|
required: true
|
||||||
example: digitalocean
|
example: custom
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- custom
|
- custom
|
||||||
@ -116,7 +116,7 @@ endpoints:
|
|||||||
name: region
|
name: region
|
||||||
description: 'Provider region if the provider is not custom'
|
description: 'Provider region if the provider is not custom'
|
||||||
required: true
|
required: true
|
||||||
example: inventore
|
example: libero
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -126,7 +126,7 @@ endpoints:
|
|||||||
name: plan
|
name: plan
|
||||||
description: 'Provider plan if the provider is not custom'
|
description: 'Provider plan if the provider is not custom'
|
||||||
required: true
|
required: true
|
||||||
example: atque
|
example: ut
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -136,7 +136,7 @@ endpoints:
|
|||||||
name: ip
|
name: ip
|
||||||
description: 'SSH IP address if the provider is custom'
|
description: 'SSH IP address if the provider is custom'
|
||||||
required: true
|
required: true
|
||||||
example: quam
|
example: molestias
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -146,7 +146,7 @@ endpoints:
|
|||||||
name: port
|
name: port
|
||||||
description: 'SSH Port if the provider is custom'
|
description: 'SSH Port if the provider is custom'
|
||||||
required: true
|
required: true
|
||||||
example: nemo
|
example: laudantium
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -156,7 +156,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the server.'
|
description: 'The name of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: perspiciatis
|
example: illum
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -166,24 +166,12 @@ endpoints:
|
|||||||
name: os
|
name: os
|
||||||
description: 'The os of the server'
|
description: 'The os of the server'
|
||||||
required: true
|
required: true
|
||||||
example: similique
|
example: autem
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
type:
|
|
||||||
name: type
|
|
||||||
description: 'Server type'
|
|
||||||
required: true
|
|
||||||
example: regular
|
|
||||||
type: string
|
|
||||||
enumValues:
|
|
||||||
- regular
|
|
||||||
- database
|
|
||||||
exampleWasSpecified: false
|
|
||||||
nullable: false
|
|
||||||
custom: []
|
|
||||||
webserver:
|
webserver:
|
||||||
name: webserver
|
name: webserver
|
||||||
description: 'Web server'
|
description: 'Web server'
|
||||||
@ -200,7 +188,7 @@ endpoints:
|
|||||||
name: database
|
name: database
|
||||||
description: Database
|
description: Database
|
||||||
required: true
|
required: true
|
||||||
example: none
|
example: postgresql12
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- none
|
- none
|
||||||
@ -221,7 +209,7 @@ endpoints:
|
|||||||
name: php
|
name: php
|
||||||
description: 'PHP version'
|
description: 'PHP version'
|
||||||
required: true
|
required: true
|
||||||
example: '8.1'
|
example: '7.4'
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- '7.0'
|
- '7.0'
|
||||||
@ -237,23 +225,22 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: et
|
provider: iste
|
||||||
server_provider: digitalocean
|
server_provider: custom
|
||||||
region: inventore
|
region: libero
|
||||||
plan: atque
|
plan: ut
|
||||||
ip: quam
|
ip: molestias
|
||||||
port: nemo
|
port: laudantium
|
||||||
name: perspiciatis
|
name: illum
|
||||||
os: similique
|
os: autem
|
||||||
type: regular
|
|
||||||
webserver: none
|
webserver: none
|
||||||
database: none
|
database: postgresql12
|
||||||
php: '8.1'
|
php: '7.4'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Flo Beer PhD","ssh_user":"vito","ip":"168.238.14.230","local_ip":"40.232.73.41","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Archibald Nolan","ssh_user":"vito","ip":"226.168.13.177","local_ip":"143.14.43.182","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -261,7 +248,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer Z8g36aaV4E1bdcPfehDv65k'
|
- 'Bearer aad3Pvc4e65DghZVEk8f1b6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -298,7 +285,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -306,7 +293,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
id: 3
|
id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -315,7 +302,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Stephany Ankunding","ssh_user":"vito","ip":"145.28.94.46","local_ip":"69.133.44.100","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Tevin Sipes","ssh_user":"vito","ip":"61.41.183.152","local_ip":"197.160.239.147","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -323,7 +310,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer adD3EfP5hZ4vgbkV861eca6'
|
- 'Bearer 5EhD3v6Z8Vdakfg46eP1cab'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -360,7 +347,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -368,7 +355,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -377,7 +364,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -385,7 +372,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer P3ec6aagD4hbdV5fEk168vZ'
|
- 'Bearer Pc5Da6Vhdk1vag6fE84e3Zb'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -422,7 +409,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -430,7 +417,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -439,7 +426,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -447,7 +434,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer P34ZV6D1bEegdvac8f5kh6a'
|
- 'Bearer a61v48DfkeEbcg3a6hd5PZV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -484,7 +471,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -492,7 +479,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -501,7 +488,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -509,7 +496,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer ha6v5V41afkdPgcZbDEe386'
|
- 'Bearer haE8D6Z6gePk1vadVb53c4f'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -41,7 +41,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"dolor","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":3,"project_id":null,"global":true,"name":"enim","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"laudantium","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":3,"project_id":null,"global":true,"name":"aut","provider":"aws","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -49,7 +49,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 1a6kb58vEP3fZdVhcea64gD'
|
- 'Bearer Df16eda8Pa345EkgbZ6cvhV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -91,7 +91,7 @@ endpoints:
|
|||||||
name: provider
|
name: provider
|
||||||
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
||||||
required: true
|
required: true
|
||||||
example: autem
|
example: voluptatem
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -101,7 +101,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the server provider.'
|
description: 'The name of the server provider.'
|
||||||
required: true
|
required: true
|
||||||
example: enim
|
example: repellat
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: culpa
|
example: omnis
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -121,7 +121,7 @@ endpoints:
|
|||||||
name: key
|
name: key
|
||||||
description: 'The key if provider requires key'
|
description: 'The key if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: sit
|
example: recusandae
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -131,23 +131,23 @@ endpoints:
|
|||||||
name: secret
|
name: secret
|
||||||
description: 'The secret if provider requires key'
|
description: 'The secret if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: voluptates
|
example: in
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: autem
|
provider: voluptatem
|
||||||
name: enim
|
name: repellat
|
||||||
token: culpa
|
token: omnis
|
||||||
key: sit
|
key: recusandae
|
||||||
secret: voluptates
|
secret: in
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":2,"project_id":null,"global":true,"name":"eligendi","provider":"aws","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":2,"project_id":null,"global":true,"name":"quia","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -155,7 +155,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer PD3ZcaVdvgfa5k4be8E6h16'
|
- 'Bearer 8fbgDV6vdhakE1c64e3P5aZ'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -209,7 +209,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":2,"project_id":null,"global":true,"name":"architecto","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":2,"project_id":null,"global":true,"name":"ab","provider":"hetzner","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -217,7 +217,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer DP45bg1aEadh8Z6Vke63fcv'
|
- 'Bearer eVE816Pc4ak3bdfahDZv6g5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -270,7 +270,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the server provider.'
|
description: 'The name of the server provider.'
|
||||||
required: true
|
required: true
|
||||||
example: minus
|
example: est
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -280,7 +280,7 @@ endpoints:
|
|||||||
name: global
|
name: global
|
||||||
description: 'Accessible in all projects'
|
description: 'Accessible in all projects'
|
||||||
required: true
|
required: true
|
||||||
example: false
|
example: true
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- true
|
- true
|
||||||
@ -289,13 +289,13 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: minus
|
name: est
|
||||||
global: false
|
global: true
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":2,"project_id":null,"global":true,"name":"reiciendis","provider":"hetzner","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":2,"project_id":null,"global":true,"name":"nesciunt","provider":"linode","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -303,7 +303,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer bv1kdegh6fP8V56ZE4acaD3'
|
- 'Bearer va86keaPDdh3b16Z54EgfcV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -357,7 +357,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -365,7 +365,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer k6hb43Vf5Z1dv8aaeEDcg6P'
|
- 'Bearer abv13ag8h5fZ4EPVDe6dc6k'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -52,7 +52,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"user":null,"name":"Dr. Reanna Braun","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Norene Fritsch","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"user":null,"name":"Godfrey Mills","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Donato Streich","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer dV1gcvfZ46Eh8ebaP5Da63k'
|
- 'Bearer 1gEva8Z6e6abPDhk453fdVc'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -113,7 +113,7 @@ endpoints:
|
|||||||
name: key_id
|
name: key_id
|
||||||
description: 'The ID of the key.'
|
description: 'The ID of the key.'
|
||||||
required: true
|
required: true
|
||||||
example: vero
|
example: numquam
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -123,7 +123,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'Key name, required if key_id is not provided.'
|
description: 'Key name, required if key_id is not provided.'
|
||||||
required: true
|
required: true
|
||||||
example: voluptates
|
example: alias
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -133,21 +133,21 @@ endpoints:
|
|||||||
name: public_key
|
name: public_key
|
||||||
description: 'Public Key, required if key_id is not provided.'
|
description: 'Public Key, required if key_id is not provided.'
|
||||||
required: true
|
required: true
|
||||||
example: dolor
|
example: voluptate
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
key_id: vero
|
key_id: numquam
|
||||||
name: voluptates
|
name: alias
|
||||||
public_key: dolor
|
public_key: voluptate
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"user":null,"name":"Sophia D''Amore","created_at":null,"updated_at":null}'
|
content: '{"id":null,"user":null,"name":"Mr. Stanton Bergnaum","created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -155,7 +155,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gkadV36a5f8E6vhb14ZceDP'
|
- 'Bearer V64Z86fEdbavh1PgackDe53'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -192,7 +192,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -202,7 +202,7 @@ endpoints:
|
|||||||
name: sshKey_id
|
name: sshKey_id
|
||||||
description: 'The ID of the sshKey.'
|
description: 'The ID of the sshKey.'
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -210,8 +210,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
sshKey_id: 4
|
sshKey_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -220,7 +220,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -228,7 +228,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer PfchD4Zge386abadE5kV61v'
|
- 'Bearer 3deg1vc65k8D6abahfZVPE4'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer h6bDec51ak84ZVafgv3PE6d'
|
- 'Bearer cdhb5VevgkZ6DafP6184a3E'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -107,7 +107,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -115,8 +115,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
id: 27
|
id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -133,7 +133,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer da4V3kfgZ6a86PchevED5b1'
|
- 'Bearer 3vDaE6Pc51Zg8kbheadVf64'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -170,7 +170,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -180,7 +180,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -188,8 +188,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -198,7 +198,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -206,7 +206,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 86fdV5D6gv1E3ekaPZac4hb'
|
- 'Bearer a6e6Db5VcP314EgZdka8vhf'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -243,7 +243,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -253,7 +253,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -261,8 +261,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -271,7 +271,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -279,7 +279,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer kPZ563E1Vfgh4cbDad8vae6'
|
- 'Bearer kefg56PEc4a18aDdvVZb3h6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -316,7 +316,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -326,7 +326,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -334,8 +334,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -344,7 +344,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -352,7 +352,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer fd14PaDb58gchv3ZVeaEk66'
|
- 'Bearer edhaE164avZ6gbVDPf3k8c5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -389,7 +389,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -399,7 +399,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -407,8 +407,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -417,7 +417,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -425,7 +425,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer Dv1aVe6hZfkagdE356b4cP8'
|
- 'Bearer D4c1hbfV6Pad68v3gEkaeZ5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -462,7 +462,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -472,7 +472,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -480,8 +480,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -490,7 +490,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -498,7 +498,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6bdDc4Eah3ZV18kf6Pveag5'
|
- 'Bearer be41fvh6a8d5PkDVEgZ36ca'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -535,7 +535,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -545,7 +545,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -553,8 +553,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -563,7 +563,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -571,7 +571,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 36kf84v6bVhE5gdPDeZ1caa'
|
- 'Bearer dcb68hg634P1DaZvef5VakE'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -35,7 +35,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -43,7 +43,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -52,7 +52,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -60,7 +60,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gaeE86fd1aZP53Vvc6Dhbk4'
|
- 'Bearer 3gE54ahkea166PfvbVD8Zdc'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -97,7 +97,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -113,7 +113,7 @@ endpoints:
|
|||||||
name: type
|
name: type
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: wordpress
|
example: php
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- php
|
- php
|
||||||
@ -121,6 +121,7 @@ endpoints:
|
|||||||
- phpmyadmin
|
- phpmyadmin
|
||||||
- laravel
|
- laravel
|
||||||
- wordpress
|
- wordpress
|
||||||
|
- load-balancer
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
@ -128,7 +129,7 @@ endpoints:
|
|||||||
name: domain
|
name: domain
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: quo
|
example: rem
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -139,7 +140,7 @@ endpoints:
|
|||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example:
|
example:
|
||||||
- dolorum
|
- libero
|
||||||
type: 'string[]'
|
type: 'string[]'
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -169,7 +170,7 @@ endpoints:
|
|||||||
name: source_control
|
name: source_control
|
||||||
description: 'Source control ID, Required for Sites which support source control'
|
description: 'Source control ID, Required for Sites which support source control'
|
||||||
required: true
|
required: true
|
||||||
example: explicabo
|
example: dolor
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -215,23 +216,48 @@ endpoints:
|
|||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
|
user:
|
||||||
|
name: user
|
||||||
|
description: 'user, to isolate the website under a new user'
|
||||||
|
required: true
|
||||||
|
example: vitae
|
||||||
|
type: string
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
method:
|
||||||
|
name: method
|
||||||
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
||||||
|
required: true
|
||||||
|
example: ip-hash
|
||||||
|
type: string
|
||||||
|
enumValues:
|
||||||
|
- round-robin
|
||||||
|
- least-connections
|
||||||
|
- ip-hash
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
type: wordpress
|
type: php
|
||||||
domain: quo
|
domain: rem
|
||||||
aliases:
|
aliases:
|
||||||
- dolorum
|
- libero
|
||||||
php_version: '7.4'
|
php_version: '7.4'
|
||||||
web_directory: public
|
web_directory: public
|
||||||
source_control: explicabo
|
source_control: dolor
|
||||||
repository: organization/repository
|
repository: organization/repository
|
||||||
branch: main
|
branch: main
|
||||||
composer: true
|
composer: true
|
||||||
version: 5.2.1
|
version: 5.2.1
|
||||||
|
user: vitae
|
||||||
|
method: ip-hash
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -239,7 +265,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer efDd36cab6vZEaV4hkP851g'
|
- 'Bearer e1V4ga3Pavk6ch6b5E8fZdD'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -276,7 +302,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -286,7 +312,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the site.'
|
description: 'The ID of the site.'
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 26
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -294,8 +320,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
id: 8
|
id: 26
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -304,7 +330,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -312,7 +338,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer bVkf841ava5gE6DPch36Zde'
|
- 'Bearer 8gZkEaehfd4v3bac615DVP6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -349,7 +375,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -359,7 +385,7 @@ endpoints:
|
|||||||
name: site_id
|
name: site_id
|
||||||
description: 'The ID of the site.'
|
description: 'The ID of the site.'
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 26
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -367,8 +393,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
site_id: 8
|
site_id: 26
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -377,7 +403,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -385,7 +411,107 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gfVZbEP5Ddah6k13ae6c8v4'
|
- 'Bearer aadb1h6f6kD4V8vePZgcE35'
|
||||||
|
controller: null
|
||||||
|
method: null
|
||||||
|
route: null
|
||||||
|
custom: []
|
||||||
|
-
|
||||||
|
httpMethods:
|
||||||
|
- POST
|
||||||
|
uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer'
|
||||||
|
metadata:
|
||||||
|
groupName: sites
|
||||||
|
groupDescription: ''
|
||||||
|
subgroup: ''
|
||||||
|
subgroupDescription: ''
|
||||||
|
title: load-balancer
|
||||||
|
description: 'Update load balancer.'
|
||||||
|
authenticated: true
|
||||||
|
custom: []
|
||||||
|
headers:
|
||||||
|
Authorization: 'Bearer YOUR-API-KEY'
|
||||||
|
Content-Type: application/json
|
||||||
|
Accept: application/json
|
||||||
|
urlParameters:
|
||||||
|
project_id:
|
||||||
|
name: project_id
|
||||||
|
description: 'The ID of the project.'
|
||||||
|
required: true
|
||||||
|
example: 1
|
||||||
|
type: integer
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
server_id:
|
||||||
|
name: server_id
|
||||||
|
description: 'The ID of the server.'
|
||||||
|
required: true
|
||||||
|
example: 8
|
||||||
|
type: integer
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
site_id:
|
||||||
|
name: site_id
|
||||||
|
description: 'The ID of the site.'
|
||||||
|
required: true
|
||||||
|
example: 26
|
||||||
|
type: integer
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
cleanUrlParameters:
|
||||||
|
project_id: 1
|
||||||
|
server_id: 8
|
||||||
|
site_id: 26
|
||||||
|
queryParameters: []
|
||||||
|
cleanQueryParameters: []
|
||||||
|
bodyParameters:
|
||||||
|
method:
|
||||||
|
name: method
|
||||||
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
||||||
|
required: true
|
||||||
|
example: least-connections
|
||||||
|
type: string
|
||||||
|
enumValues:
|
||||||
|
- round-robin
|
||||||
|
- least-connections
|
||||||
|
- ip-hash
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
servers:
|
||||||
|
name: servers
|
||||||
|
description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)'
|
||||||
|
required: true
|
||||||
|
example:
|
||||||
|
- deleniti
|
||||||
|
type: 'string[]'
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
cleanBodyParameters:
|
||||||
|
method: least-connections
|
||||||
|
servers:
|
||||||
|
- deleniti
|
||||||
|
fileParameters: []
|
||||||
|
responses:
|
||||||
|
-
|
||||||
|
status: 200
|
||||||
|
content: null
|
||||||
|
headers: []
|
||||||
|
description: ''
|
||||||
|
custom: []
|
||||||
|
responseFields: []
|
||||||
|
auth:
|
||||||
|
- headers
|
||||||
|
- Authorization
|
||||||
|
- 'Bearer 5E6hZa64bka1cV3Pdvf8Deg'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -41,7 +41,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Jaiden Kling","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brianne Bosco","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Mr. Reuben Schimmel","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brandy Mraz V","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -49,7 +49,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer PfaEg1eZh66cd5V4v8bD3ak'
|
- 'Bearer g4kDa1vV6cdfPe3baZ8h5E6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -104,7 +104,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: eos
|
example: dignissimos
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -114,7 +114,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: et
|
example: voluptates
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -124,7 +124,7 @@ endpoints:
|
|||||||
name: url
|
name: url
|
||||||
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
||||||
required: true
|
required: true
|
||||||
example: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html'
|
example: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -134,7 +134,7 @@ endpoints:
|
|||||||
name: username
|
name: username
|
||||||
description: 'The username if the provider is Bitbucket'
|
description: 'The username if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: consectetur
|
example: nisi
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -144,7 +144,7 @@ endpoints:
|
|||||||
name: password
|
name: password
|
||||||
description: 'The password if the provider is Bitbucket'
|
description: 'The password if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: 'PL.P?{06\ECi0'
|
example: W~19Z0
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -152,16 +152,16 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: bitbucket
|
provider: bitbucket
|
||||||
name: eos
|
name: dignissimos
|
||||||
token: et
|
token: voluptates
|
||||||
url: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html'
|
url: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam'
|
||||||
username: consectetur
|
username: nisi
|
||||||
password: 'PL.P?{06\ECi0'
|
password: W~19Z0
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":5,"project_id":null,"global":true,"name":"Toby Parker","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"Harmony Koss DVM","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -169,7 +169,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer V5Zf3a1ve6d6kP4cbgha8DE'
|
- 'Bearer fhEkg836V6cbd5ZPva4Dae1'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -206,7 +206,7 @@ endpoints:
|
|||||||
name: sourceControl_id
|
name: sourceControl_id
|
||||||
description: 'The ID of the sourceControl.'
|
description: 'The ID of the sourceControl.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -214,7 +214,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
sourceControl_id: 3
|
sourceControl_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -223,7 +223,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":5,"project_id":null,"global":true,"name":"Prof. Bartholome Graham IV","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"Martin Welch","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -231,7 +231,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer k1b5hac6veZ36P8gDV4fadE'
|
- 'Bearer 458gPbv6deEfkcZ13ahaD6V'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -268,7 +268,7 @@ endpoints:
|
|||||||
name: sourceControl_id
|
name: sourceControl_id
|
||||||
description: 'The ID of the sourceControl.'
|
description: 'The ID of the sourceControl.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -276,7 +276,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
sourceControl_id: 3
|
sourceControl_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -284,7 +284,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: quaerat
|
example: aut
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -294,7 +294,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: consectetur
|
example: repudiandae
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -304,7 +304,7 @@ endpoints:
|
|||||||
name: url
|
name: url
|
||||||
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
||||||
required: true
|
required: true
|
||||||
example: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus'
|
example: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -314,7 +314,7 @@ endpoints:
|
|||||||
name: username
|
name: username
|
||||||
description: 'The username if the provider is Bitbucket'
|
description: 'The username if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: voluptatem
|
example: consequatur
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -324,7 +324,7 @@ endpoints:
|
|||||||
name: password
|
name: password
|
||||||
description: 'The password if the provider is Bitbucket'
|
description: 'The password if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: '\p/el>)3#~E?kI'
|
example: 'oX/H"pAIt7R2"'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -343,17 +343,17 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: quaerat
|
name: aut
|
||||||
token: consectetur
|
token: repudiandae
|
||||||
url: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus'
|
url: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html'
|
||||||
username: voluptatem
|
username: consequatur
|
||||||
password: '\p/el>)3#~E?kI'
|
password: 'oX/H"pAIt7R2"'
|
||||||
global: false
|
global: false
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":5,"project_id":null,"global":true,"name":"Cicero Smitham","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"Miss Dulce Nicolas III","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -361,7 +361,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6dkE6h8a5eg3f14acVvbPDZ'
|
- 'Bearer De1a4dEaV5v3Zgh8fPk66bc'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -398,7 +398,7 @@ endpoints:
|
|||||||
name: sourceControl_id
|
name: sourceControl_id
|
||||||
description: 'The ID of the sourceControl.'
|
description: 'The ID of the sourceControl.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -406,7 +406,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
sourceControl_id: 3
|
sourceControl_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -415,7 +415,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -423,7 +423,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer fb6Zk4EP318eva5hDdcV6ga'
|
- 'Bearer EZhd63eafgcV4a651PvkDb8'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -41,7 +41,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"et","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":4,"project_id":null,"global":true,"name":"sed","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"dolorem","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"itaque","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -49,7 +49,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 1dbV3vkh6EPD5g48cafeZ6a'
|
- 'Bearer D16Vg58E6Pfkh3Zveab4dca'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -91,7 +91,7 @@ endpoints:
|
|||||||
name: provider
|
name: provider
|
||||||
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
||||||
required: true
|
required: true
|
||||||
example: quod
|
example: alias
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -101,7 +101,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: commodi
|
example: explicabo
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: ipsum
|
example: ut
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -121,7 +121,7 @@ endpoints:
|
|||||||
name: key
|
name: key
|
||||||
description: 'The key if provider requires key'
|
description: 'The key if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: ratione
|
example: libero
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -131,23 +131,23 @@ endpoints:
|
|||||||
name: secret
|
name: secret
|
||||||
description: 'The secret if provider requires key'
|
description: 'The secret if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: iste
|
example: consequatur
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: quod
|
provider: alias
|
||||||
name: commodi
|
name: explicabo
|
||||||
token: ipsum
|
token: ut
|
||||||
key: ratione
|
key: libero
|
||||||
secret: iste
|
secret: consequatur
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":3,"project_id":null,"global":true,"name":"est","provider":"dropbox","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"quos","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -155,7 +155,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer abehv36kP4D658VafgdZE1c'
|
- 'Bearer DaZ6d6Eck1bhVe3g4aP85vf'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -192,7 +192,7 @@ endpoints:
|
|||||||
name: storageProvider_id
|
name: storageProvider_id
|
||||||
description: 'The ID of the storageProvider.'
|
description: 'The ID of the storageProvider.'
|
||||||
required: true
|
required: true
|
||||||
example: 1
|
example: 3
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -200,7 +200,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
storageProvider_id: 1
|
storageProvider_id: 3
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -209,7 +209,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":3,"project_id":null,"global":true,"name":"officia","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"id","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -217,7 +217,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer bda64P5c1gEDe8V3Z6vhkaf'
|
- 'Bearer 1dekD4gva56bc683VPEhZfa'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -254,7 +254,7 @@ endpoints:
|
|||||||
name: storageProvider_id
|
name: storageProvider_id
|
||||||
description: 'The ID of the storageProvider.'
|
description: 'The ID of the storageProvider.'
|
||||||
required: true
|
required: true
|
||||||
example: 1
|
example: 3
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -262,7 +262,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
storageProvider_id: 1
|
storageProvider_id: 3
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -270,7 +270,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: iusto
|
example: sequi
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -280,7 +280,7 @@ endpoints:
|
|||||||
name: global
|
name: global
|
||||||
description: 'Accessible in all projects'
|
description: 'Accessible in all projects'
|
||||||
required: true
|
required: true
|
||||||
example: true
|
example: false
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- true
|
- true
|
||||||
@ -289,13 +289,13 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: iusto
|
name: sequi
|
||||||
global: true
|
global: false
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":3,"project_id":null,"global":true,"name":"rerum","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"velit","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -303,7 +303,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer aEP35hVakDdf814eZvg66cb'
|
- 'Bearer V65g18Pca4v3hDEkbZfe6da'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -340,7 +340,7 @@ endpoints:
|
|||||||
name: storageProvider_id
|
name: storageProvider_id
|
||||||
description: 'The ID of the storageProvider.'
|
description: 'The ID of the storageProvider.'
|
||||||
required: true
|
required: true
|
||||||
example: 1
|
example: 3
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -348,7 +348,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
storageProvider_id: 1
|
storageProvider_id: 3
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -357,7 +357,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -365,7 +365,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer Dah3PgE5d64fcbe8a16VkvZ'
|
- 'Bearer 1v6a6efgch3DbZ4aVE5d8kP'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6ed1gv5ak6hEPcaV8D3Z4bf'
|
- 'Bearer ge6ZVa4kfD86hdv5a31EcbP'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -103,7 +103,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: command
|
name: command
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: qui
|
example: itaque
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -140,7 +140,7 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
command: qui
|
command: itaque
|
||||||
user: root
|
user: root
|
||||||
frequency: '* * * * *'
|
frequency: '* * * * *'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
@ -155,7 +155,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer VEfc5h3gva68PkZ46Deabd1'
|
- 'Bearer cdh5bD8gVPkf34e1ZEva6a6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -192,7 +192,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -202,7 +202,7 @@ endpoints:
|
|||||||
name: cronJob_id
|
name: cronJob_id
|
||||||
description: 'The ID of the cronJob.'
|
description: 'The ID of the cronJob.'
|
||||||
required: true
|
required: true
|
||||||
example: 5
|
example: 18
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -210,8 +210,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
cronJob_id: 5
|
cronJob_id: 18
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -228,7 +228,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 614DaP5vZ6edcaVEgfhk83b'
|
- 'Bearer fa5VgdkaD8cZ6vh34Pb16eE'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -265,7 +265,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -275,7 +275,7 @@ endpoints:
|
|||||||
name: cronJob_id
|
name: cronJob_id
|
||||||
description: 'The ID of the cronJob.'
|
description: 'The ID of the cronJob.'
|
||||||
required: true
|
required: true
|
||||||
example: 5
|
example: 10
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -283,8 +283,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
cronJob_id: 5
|
cronJob_id: 10
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -293,7 +293,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -301,7 +301,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gDV6bZ1dEckvf45P86eaha3'
|
- 'Bearer P8hkva3ZD4fgb166adEVce5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -50,7 +50,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"name":"clockman","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"wvonrueden","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"name":"amalia38","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"troy.rippin","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer efEV4g86bd5PZac6vak3Dh1'
|
- 'Bearer Z641ebPacDV6f38kEgdah5v'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -103,7 +103,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -111,19 +111,19 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: nesciunt
|
example: et
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: nesciunt
|
name: et
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"name":"johanna76","status":"ready","created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"name":"harvey.haskell","status":"ready","created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -131,7 +131,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 3E6VD14dvaekbaZfh6Pg8c5'
|
- 'Bearer d4gbv56caV3aZ8D1h6kfEPe'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -168,7 +168,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -178,7 +178,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the database.'
|
description: 'The ID of the database.'
|
||||||
required: true
|
required: true
|
||||||
example: 6
|
example: 19
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -186,8 +186,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
id: 6
|
id: 19
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -196,7 +196,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"name":"chloe.huel","status":"ready","created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"name":"ruthie.koepp","status":"ready","created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -204,7 +204,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer fb5hVc38e1aDP6ZvkgEda46'
|
- 'Bearer P68VgDcaEZvk63f4b5aed1h'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -241,7 +241,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -251,7 +251,7 @@ endpoints:
|
|||||||
name: database_id
|
name: database_id
|
||||||
description: 'The ID of the database.'
|
description: 'The ID of the database.'
|
||||||
required: true
|
required: true
|
||||||
example: 6
|
example: 15
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -259,8 +259,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
database_id: 6
|
database_id: 15
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -269,7 +269,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -277,7 +277,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer cPVbhaZkfg5aEv46D183ed6'
|
- 'Bearer DkPc6d1heEv5a8fb4V63agZ'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -50,7 +50,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"username":"nyasia68","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"madyson20","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"username":"xgaylord","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"una37","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer egc5VaDdvabfP6843k61hZE'
|
- 'Bearer P4gD36fZeckvVh5ab86Ead1'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -103,7 +103,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: username
|
name: username
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: dignissimos
|
example: consequuntur
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -121,7 +121,7 @@ endpoints:
|
|||||||
name: password
|
name: password
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: OK+XEG2)
|
example: 'fI/i2.O4u&dla?eXvR2'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -138,14 +138,14 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
username: dignissimos
|
username: consequuntur
|
||||||
password: OK+XEG2)
|
password: 'fI/i2.O4u&dla?eXvR2'
|
||||||
host: '%'
|
host: '%'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"username":"amya.nitzsche","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"username":"kari.farrell","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -153,7 +153,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 31hgfcvEb6Pkaa48D6dZ5Ve'
|
- 'Bearer 5k8Vced1baaE6f4ZvDPgh36'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -190,7 +190,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -200,7 +200,7 @@ endpoints:
|
|||||||
name: databaseUser_id
|
name: databaseUser_id
|
||||||
description: 'The ID of the databaseUser.'
|
description: 'The ID of the databaseUser.'
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 18
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -208,8 +208,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
databaseUser_id: 4
|
databaseUser_id: 18
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -218,7 +218,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"username":"bergstrom.ericka","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"username":"caterina.mosciski","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -226,7 +226,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer aDv48631h5af6EdkcVbPZeg'
|
- 'Bearer 3kDveP5V8a6dghfa4E16cbZ'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -263,7 +263,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -281,7 +281,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
databaseUser_id: 4
|
databaseUser_id: 4
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
@ -290,19 +290,19 @@ endpoints:
|
|||||||
name: databases
|
name: databases
|
||||||
description: 'Array of database names to link to the user.'
|
description: 'Array of database names to link to the user.'
|
||||||
required: true
|
required: true
|
||||||
example: accusantium
|
example: non
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
databases: accusantium
|
databases: non
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"username":"fmurray","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"username":"kurtis05","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -310,7 +310,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer cf8ZPhV1k3d5DaEva46beg6'
|
- 'Bearer DgPea43EvV51a866dfbZckh'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -347,7 +347,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -357,7 +357,7 @@ endpoints:
|
|||||||
name: databaseUser_id
|
name: databaseUser_id
|
||||||
description: 'The ID of the databaseUser.'
|
description: 'The ID of the databaseUser.'
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 6
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -365,8 +365,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
databaseUser_id: 4
|
databaseUser_id: 6
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -375,7 +375,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -383,7 +383,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer hdEvkbaPVf4cZ65a8631eDg'
|
- 'Bearer 6ackVP8hEZd3164gD5evafb'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -50,7 +50,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":18074,"source":"189.27.156.82","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":41088,"source":"86.177.121.87","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":38781,"source":"79.116.255.150","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":32141,"source":"52.174.114.251","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer vhkc4aPa6ZdeV8D3Ef156gb'
|
- 'Bearer h3P5gD8E4dkeZ6abac6vfV1'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -103,7 +103,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: type
|
name: type
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: allow
|
example: deny
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- allow
|
- allow
|
||||||
@ -135,7 +135,7 @@ endpoints:
|
|||||||
name: port
|
name: port
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: voluptates
|
example: et
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -145,7 +145,7 @@ endpoints:
|
|||||||
name: source
|
name: source
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: saepe
|
example: voluptates
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -162,16 +162,16 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
type: allow
|
type: deny
|
||||||
protocol: udp
|
protocol: udp
|
||||||
port: voluptates
|
port: et
|
||||||
source: saepe
|
source: voluptates
|
||||||
mask: '0'
|
mask: '0'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":61992,"source":"47.222.76.48","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":47148,"source":"119.182.8.45","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -179,7 +179,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 1cEb5P66VeDkf8aahg3Zdv4'
|
- 'Bearer 6a8DVv5k3gZfEe6hb1daPc4'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -216,7 +216,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -226,7 +226,7 @@ endpoints:
|
|||||||
name: firewallRule_id
|
name: firewallRule_id
|
||||||
description: 'The ID of the firewallRule.'
|
description: 'The ID of the firewallRule.'
|
||||||
required: true
|
required: true
|
||||||
example: 7
|
example: 29
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -234,8 +234,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
firewallRule_id: 7
|
firewallRule_id: 29
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -244,7 +244,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":43107,"source":"135.73.216.16","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":2317,"source":"44.161.134.114","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -252,7 +252,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6VaPhkD5vd1Z8e6E3cba4gf'
|
- 'Bearer P4bZdV1geED3kfh568aa6cv'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -289,7 +289,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -299,7 +299,7 @@ endpoints:
|
|||||||
name: firewallRule_id
|
name: firewallRule_id
|
||||||
description: 'The ID of the firewallRule.'
|
description: 'The ID of the firewallRule.'
|
||||||
required: true
|
required: true
|
||||||
example: 7
|
example: 29
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -307,8 +307,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
firewallRule_id: 7
|
firewallRule_id: 29
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -317,7 +317,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -325,7 +325,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer v81d5Efch636aVgZebaPkD4'
|
- 'Bearer Dh3kcaafdg6E5ZvV46ePb81'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -27,7 +27,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"success":true,"version":"2.0.0"}'
|
content: '{"success":true,"version":"2.1.0"}'
|
||||||
headers:
|
headers:
|
||||||
cache-control: 'no-cache, private'
|
cache-control: 'no-cache, private'
|
||||||
content-type: application/json
|
content-type: application/json
|
||||||
|
@ -28,7 +28,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":29,"name":"Zachary Lueilwitz","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":30,"name":"Mrs. Kiarra Heller IV","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":3,"name":"Jeffry Dickinson","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":4,"name":"Miss Tianna Dietrich PhD","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -36,7 +36,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer eb14DEPv6cdah65VfZgka38'
|
- 'Bearer 5DaveP3d6b6khEZVcg4fa18'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -79,7 +79,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":29,"name":"Hershel Spinka","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":3,"name":"Isidro Franecki","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -87,7 +87,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer V1E3566Pf4gkvh8dDZabeca'
|
- 'Bearer a6P53EvkcZV6D4ghad1efb8'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -130,7 +130,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":29,"name":"Emery Kiehn","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":3,"name":"Rhoda Parisian","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -138,7 +138,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer haD6e36VZbkf4P8aEcvd15g'
|
- 'Bearer v48Ve5ZghdcbE1akP66fD3a'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -180,19 +180,19 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the project.'
|
description: 'The name of the project.'
|
||||||
required: true
|
required: true
|
||||||
example: ut
|
example: ullam
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: ut
|
name: ullam
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":29,"name":"Mable Prohaska","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":3,"name":"Mr. Dashawn Jacobson Sr.","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -200,7 +200,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer V14kPa5deva8Ebgc36f6hDZ'
|
- 'Bearer fvEdh3Vgbk56Z4a61eP8caD'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -243,7 +243,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -251,7 +251,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer k1D68d5ePavVZag6h4fb3cE'
|
- 'Bearer eg4c3vZ1Dhaa68d6PEfk5bV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -39,7 +39,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Dorthy Toy","ssh_user":"vito","ip":"172.132.95.155","local_ip":"118.57.197.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Carrie Sporer","ssh_user":"vito","ip":"184.242.162.173","local_ip":"135.244.50.22","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Amina DuBuque","ssh_user":"vito","ip":"163.77.69.73","local_ip":"137.139.200.70","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Floy Cummerata","ssh_user":"vito","ip":"62.53.140.25","local_ip":"34.59.35.195","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -47,7 +47,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 8VE41PdZcvb6kgafD635ahe'
|
- 'Bearer E81avahec6365dbZfgD4kPV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -89,7 +89,7 @@ endpoints:
|
|||||||
name: provider
|
name: provider
|
||||||
description: 'The server provider type'
|
description: 'The server provider type'
|
||||||
required: true
|
required: true
|
||||||
example: et
|
example: iste
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -99,7 +99,7 @@ endpoints:
|
|||||||
name: server_provider
|
name: server_provider
|
||||||
description: 'If the provider is not custom, the ID of the server provider profile'
|
description: 'If the provider is not custom, the ID of the server provider profile'
|
||||||
required: true
|
required: true
|
||||||
example: digitalocean
|
example: custom
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- custom
|
- custom
|
||||||
@ -114,7 +114,7 @@ endpoints:
|
|||||||
name: region
|
name: region
|
||||||
description: 'Provider region if the provider is not custom'
|
description: 'Provider region if the provider is not custom'
|
||||||
required: true
|
required: true
|
||||||
example: inventore
|
example: libero
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -124,7 +124,7 @@ endpoints:
|
|||||||
name: plan
|
name: plan
|
||||||
description: 'Provider plan if the provider is not custom'
|
description: 'Provider plan if the provider is not custom'
|
||||||
required: true
|
required: true
|
||||||
example: atque
|
example: ut
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -134,7 +134,7 @@ endpoints:
|
|||||||
name: ip
|
name: ip
|
||||||
description: 'SSH IP address if the provider is custom'
|
description: 'SSH IP address if the provider is custom'
|
||||||
required: true
|
required: true
|
||||||
example: quam
|
example: molestias
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -144,7 +144,7 @@ endpoints:
|
|||||||
name: port
|
name: port
|
||||||
description: 'SSH Port if the provider is custom'
|
description: 'SSH Port if the provider is custom'
|
||||||
required: true
|
required: true
|
||||||
example: nemo
|
example: laudantium
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -154,7 +154,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the server.'
|
description: 'The name of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: perspiciatis
|
example: illum
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -164,24 +164,12 @@ endpoints:
|
|||||||
name: os
|
name: os
|
||||||
description: 'The os of the server'
|
description: 'The os of the server'
|
||||||
required: true
|
required: true
|
||||||
example: similique
|
example: autem
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
type:
|
|
||||||
name: type
|
|
||||||
description: 'Server type'
|
|
||||||
required: true
|
|
||||||
example: regular
|
|
||||||
type: string
|
|
||||||
enumValues:
|
|
||||||
- regular
|
|
||||||
- database
|
|
||||||
exampleWasSpecified: false
|
|
||||||
nullable: false
|
|
||||||
custom: []
|
|
||||||
webserver:
|
webserver:
|
||||||
name: webserver
|
name: webserver
|
||||||
description: 'Web server'
|
description: 'Web server'
|
||||||
@ -198,7 +186,7 @@ endpoints:
|
|||||||
name: database
|
name: database
|
||||||
description: Database
|
description: Database
|
||||||
required: true
|
required: true
|
||||||
example: none
|
example: postgresql12
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- none
|
- none
|
||||||
@ -219,7 +207,7 @@ endpoints:
|
|||||||
name: php
|
name: php
|
||||||
description: 'PHP version'
|
description: 'PHP version'
|
||||||
required: true
|
required: true
|
||||||
example: '8.1'
|
example: '7.4'
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- '7.0'
|
- '7.0'
|
||||||
@ -235,23 +223,22 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: et
|
provider: iste
|
||||||
server_provider: digitalocean
|
server_provider: custom
|
||||||
region: inventore
|
region: libero
|
||||||
plan: atque
|
plan: ut
|
||||||
ip: quam
|
ip: molestias
|
||||||
port: nemo
|
port: laudantium
|
||||||
name: perspiciatis
|
name: illum
|
||||||
os: similique
|
os: autem
|
||||||
type: regular
|
|
||||||
webserver: none
|
webserver: none
|
||||||
database: none
|
database: postgresql12
|
||||||
php: '8.1'
|
php: '7.4'
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Flo Beer PhD","ssh_user":"vito","ip":"168.238.14.230","local_ip":"40.232.73.41","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Archibald Nolan","ssh_user":"vito","ip":"226.168.13.177","local_ip":"143.14.43.182","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -259,7 +246,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer Z8g36aaV4E1bdcPfehDv65k'
|
- 'Bearer aad3Pvc4e65DghZVEk8f1b6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -296,7 +283,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -304,7 +291,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
id: 3
|
id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -313,7 +300,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Stephany Ankunding","ssh_user":"vito","ip":"145.28.94.46","local_ip":"69.133.44.100","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Tevin Sipes","ssh_user":"vito","ip":"61.41.183.152","local_ip":"197.160.239.147","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -321,7 +308,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer adD3EfP5hZ4vgbkV861eca6'
|
- 'Bearer 5EhD3v6Z8Vdakfg46eP1cab'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -358,7 +345,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -366,7 +353,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -375,7 +362,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -383,7 +370,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer P3ec6aagD4hbdV5fEk168vZ'
|
- 'Bearer Pc5Da6Vhdk1vag6fE84e3Zb'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -420,7 +407,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -428,7 +415,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -437,7 +424,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -445,7 +432,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer P34ZV6D1bEegdvac8f5kh6a'
|
- 'Bearer a61v48DfkeEbcg3a6hd5PZV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -482,7 +469,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -490,7 +477,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -499,7 +486,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -507,7 +494,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer ha6v5V41afkdPgcZbDEe386'
|
- 'Bearer haE8D6Z6gePk1vadVb53c4f'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -39,7 +39,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"dolor","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":3,"project_id":null,"global":true,"name":"enim","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"laudantium","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":3,"project_id":null,"global":true,"name":"aut","provider":"aws","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -47,7 +47,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 1a6kb58vEP3fZdVhcea64gD'
|
- 'Bearer Df16eda8Pa345EkgbZ6cvhV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -89,7 +89,7 @@ endpoints:
|
|||||||
name: provider
|
name: provider
|
||||||
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
||||||
required: true
|
required: true
|
||||||
example: autem
|
example: voluptatem
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -99,7 +99,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the server provider.'
|
description: 'The name of the server provider.'
|
||||||
required: true
|
required: true
|
||||||
example: enim
|
example: repellat
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -109,7 +109,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: culpa
|
example: omnis
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -119,7 +119,7 @@ endpoints:
|
|||||||
name: key
|
name: key
|
||||||
description: 'The key if provider requires key'
|
description: 'The key if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: sit
|
example: recusandae
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -129,23 +129,23 @@ endpoints:
|
|||||||
name: secret
|
name: secret
|
||||||
description: 'The secret if provider requires key'
|
description: 'The secret if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: voluptates
|
example: in
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: autem
|
provider: voluptatem
|
||||||
name: enim
|
name: repellat
|
||||||
token: culpa
|
token: omnis
|
||||||
key: sit
|
key: recusandae
|
||||||
secret: voluptates
|
secret: in
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":2,"project_id":null,"global":true,"name":"eligendi","provider":"aws","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":2,"project_id":null,"global":true,"name":"quia","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -153,7 +153,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer PD3ZcaVdvgfa5k4be8E6h16'
|
- 'Bearer 8fbgDV6vdhakE1c64e3P5aZ'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -207,7 +207,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":2,"project_id":null,"global":true,"name":"architecto","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":2,"project_id":null,"global":true,"name":"ab","provider":"hetzner","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -215,7 +215,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer DP45bg1aEadh8Z6Vke63fcv'
|
- 'Bearer eVE816Pc4ak3bdfahDZv6g5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -268,7 +268,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the server provider.'
|
description: 'The name of the server provider.'
|
||||||
required: true
|
required: true
|
||||||
example: minus
|
example: est
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -278,7 +278,7 @@ endpoints:
|
|||||||
name: global
|
name: global
|
||||||
description: 'Accessible in all projects'
|
description: 'Accessible in all projects'
|
||||||
required: true
|
required: true
|
||||||
example: false
|
example: true
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- true
|
- true
|
||||||
@ -287,13 +287,13 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: minus
|
name: est
|
||||||
global: false
|
global: true
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":2,"project_id":null,"global":true,"name":"reiciendis","provider":"hetzner","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":2,"project_id":null,"global":true,"name":"nesciunt","provider":"linode","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -301,7 +301,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer bv1kdegh6fP8V56ZE4acaD3'
|
- 'Bearer va86keaPDdh3b16Z54EgfcV'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -355,7 +355,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -363,7 +363,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer k6hb43Vf5Z1dv8aaeEDcg6P'
|
- 'Bearer abv13ag8h5fZ4EPVDe6dc6k'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -50,7 +50,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"user":null,"name":"Dr. Reanna Braun","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Norene Fritsch","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"user":null,"name":"Godfrey Mills","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Donato Streich","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer dV1gcvfZ46Eh8ebaP5Da63k'
|
- 'Bearer 1gEva8Z6e6abPDhk453fdVc'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -103,7 +103,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: key_id
|
name: key_id
|
||||||
description: 'The ID of the key.'
|
description: 'The ID of the key.'
|
||||||
required: true
|
required: true
|
||||||
example: vero
|
example: numquam
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -121,7 +121,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'Key name, required if key_id is not provided.'
|
description: 'Key name, required if key_id is not provided.'
|
||||||
required: true
|
required: true
|
||||||
example: voluptates
|
example: alias
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -131,21 +131,21 @@ endpoints:
|
|||||||
name: public_key
|
name: public_key
|
||||||
description: 'Public Key, required if key_id is not provided.'
|
description: 'Public Key, required if key_id is not provided.'
|
||||||
required: true
|
required: true
|
||||||
example: dolor
|
example: voluptate
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
key_id: vero
|
key_id: numquam
|
||||||
name: voluptates
|
name: alias
|
||||||
public_key: dolor
|
public_key: voluptate
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"user":null,"name":"Sophia D''Amore","created_at":null,"updated_at":null}'
|
content: '{"id":null,"user":null,"name":"Mr. Stanton Bergnaum","created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -153,7 +153,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gkadV36a5f8E6vhb14ZceDP'
|
- 'Bearer V64Z86fEdbavh1PgackDe53'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -190,7 +190,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -200,7 +200,7 @@ endpoints:
|
|||||||
name: sshKey_id
|
name: sshKey_id
|
||||||
description: 'The ID of the sshKey.'
|
description: 'The ID of the sshKey.'
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -208,8 +208,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
sshKey_id: 4
|
sshKey_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -218,7 +218,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -226,7 +226,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer PfchD4Zge386abadE5kV61v'
|
- 'Bearer 3deg1vc65k8D6abahfZVPE4'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer h6bDec51ak84ZVafgv3PE6d'
|
- 'Bearer cdhb5VevgkZ6DafP6184a3E'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -105,7 +105,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -113,8 +113,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
id: 27
|
id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -131,7 +131,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer da4V3kfgZ6a86PchevED5b1'
|
- 'Bearer 3vDaE6Pc51Zg8kbheadVf64'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -168,7 +168,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -178,7 +178,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -186,8 +186,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -196,7 +196,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -204,7 +204,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 86fdV5D6gv1E3ekaPZac4hb'
|
- 'Bearer a6e6Db5VcP314EgZdka8vhf'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -241,7 +241,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -251,7 +251,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -259,8 +259,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -269,7 +269,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -277,7 +277,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer kPZ563E1Vfgh4cbDad8vae6'
|
- 'Bearer kefg56PEc4a18aDdvVZb3h6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -314,7 +314,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -324,7 +324,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -332,8 +332,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -342,7 +342,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -350,7 +350,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer fd14PaDb58gchv3ZVeaEk66'
|
- 'Bearer edhaE164avZ6gbVDPf3k8c5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -387,7 +387,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -397,7 +397,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -405,8 +405,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -415,7 +415,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -423,7 +423,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer Dv1aVe6hZfkagdE356b4cP8'
|
- 'Bearer D4c1hbfV6Pad68v3gEkaeZ5'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -460,7 +460,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -470,7 +470,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -478,8 +478,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -488,7 +488,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -496,7 +496,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6bdDc4Eah3ZV18kf6Pveag5'
|
- 'Bearer be41fvh6a8d5PkDVEgZ36ca'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -533,7 +533,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -543,7 +543,7 @@ endpoints:
|
|||||||
name: service_id
|
name: service_id
|
||||||
description: 'The ID of the service.'
|
description: 'The ID of the service.'
|
||||||
required: true
|
required: true
|
||||||
example: 27
|
example: 53
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -551,8 +551,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
service_id: 27
|
service_id: 53
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -561,7 +561,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -569,7 +569,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 36kf84v6bVhE5gdPDeZ1caa'
|
- 'Bearer dcb68hg634P1DaZvef5VakE'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -33,7 +33,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -41,7 +41,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -50,7 +50,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -58,7 +58,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gaeE86fd1aZP53Vvc6Dhbk4'
|
- 'Bearer 3gE54ahkea166PfvbVD8Zdc'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -95,7 +95,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -103,7 +103,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -111,7 +111,7 @@ endpoints:
|
|||||||
name: type
|
name: type
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: wordpress
|
example: php
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- php
|
- php
|
||||||
@ -119,6 +119,7 @@ endpoints:
|
|||||||
- phpmyadmin
|
- phpmyadmin
|
||||||
- laravel
|
- laravel
|
||||||
- wordpress
|
- wordpress
|
||||||
|
- load-balancer
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
@ -126,7 +127,7 @@ endpoints:
|
|||||||
name: domain
|
name: domain
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example: quo
|
example: rem
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -137,7 +138,7 @@ endpoints:
|
|||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: true
|
||||||
example:
|
example:
|
||||||
- dolorum
|
- libero
|
||||||
type: 'string[]'
|
type: 'string[]'
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -167,7 +168,7 @@ endpoints:
|
|||||||
name: source_control
|
name: source_control
|
||||||
description: 'Source control ID, Required for Sites which support source control'
|
description: 'Source control ID, Required for Sites which support source control'
|
||||||
required: true
|
required: true
|
||||||
example: explicabo
|
example: dolor
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -213,23 +214,48 @@ endpoints:
|
|||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
|
user:
|
||||||
|
name: user
|
||||||
|
description: 'user, to isolate the website under a new user'
|
||||||
|
required: true
|
||||||
|
example: vitae
|
||||||
|
type: string
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
method:
|
||||||
|
name: method
|
||||||
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
||||||
|
required: true
|
||||||
|
example: ip-hash
|
||||||
|
type: string
|
||||||
|
enumValues:
|
||||||
|
- round-robin
|
||||||
|
- least-connections
|
||||||
|
- ip-hash
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
type: wordpress
|
type: php
|
||||||
domain: quo
|
domain: rem
|
||||||
aliases:
|
aliases:
|
||||||
- dolorum
|
- libero
|
||||||
php_version: '7.4'
|
php_version: '7.4'
|
||||||
web_directory: public
|
web_directory: public
|
||||||
source_control: explicabo
|
source_control: dolor
|
||||||
repository: organization/repository
|
repository: organization/repository
|
||||||
branch: main
|
branch: main
|
||||||
composer: true
|
composer: true
|
||||||
version: 5.2.1
|
version: 5.2.1
|
||||||
|
user: vitae
|
||||||
|
method: ip-hash
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -237,7 +263,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer efDd36cab6vZEaV4hkP851g'
|
- 'Bearer e1V4ga3Pavk6ch6b5E8fZdD'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -274,7 +300,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -284,7 +310,7 @@ endpoints:
|
|||||||
name: id
|
name: id
|
||||||
description: 'The ID of the site.'
|
description: 'The ID of the site.'
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 26
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -292,8 +318,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
id: 8
|
id: 26
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -302,7 +328,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}'
|
content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -310,7 +336,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer bVkf841ava5gE6DPch36Zde'
|
- 'Bearer 8gZkEaehfd4v3bac615DVP6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -347,7 +373,7 @@ endpoints:
|
|||||||
name: server_id
|
name: server_id
|
||||||
description: 'The ID of the server.'
|
description: 'The ID of the server.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 8
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -357,7 +383,7 @@ endpoints:
|
|||||||
name: site_id
|
name: site_id
|
||||||
description: 'The ID of the site.'
|
description: 'The ID of the site.'
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 26
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -365,8 +391,8 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
server_id: 3
|
server_id: 8
|
||||||
site_id: 8
|
site_id: 26
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -375,7 +401,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -383,7 +409,107 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer gfVZbEP5Ddah6k13ae6c8v4'
|
- 'Bearer aadb1h6f6kD4V8vePZgcE35'
|
||||||
|
controller: null
|
||||||
|
method: null
|
||||||
|
route: null
|
||||||
|
custom: []
|
||||||
|
-
|
||||||
|
httpMethods:
|
||||||
|
- POST
|
||||||
|
uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer'
|
||||||
|
metadata:
|
||||||
|
groupName: sites
|
||||||
|
groupDescription: ''
|
||||||
|
subgroup: ''
|
||||||
|
subgroupDescription: ''
|
||||||
|
title: load-balancer
|
||||||
|
description: 'Update load balancer.'
|
||||||
|
authenticated: true
|
||||||
|
custom: []
|
||||||
|
headers:
|
||||||
|
Authorization: 'Bearer YOUR-API-KEY'
|
||||||
|
Content-Type: application/json
|
||||||
|
Accept: application/json
|
||||||
|
urlParameters:
|
||||||
|
project_id:
|
||||||
|
name: project_id
|
||||||
|
description: 'The ID of the project.'
|
||||||
|
required: true
|
||||||
|
example: 1
|
||||||
|
type: integer
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
server_id:
|
||||||
|
name: server_id
|
||||||
|
description: 'The ID of the server.'
|
||||||
|
required: true
|
||||||
|
example: 8
|
||||||
|
type: integer
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
site_id:
|
||||||
|
name: site_id
|
||||||
|
description: 'The ID of the site.'
|
||||||
|
required: true
|
||||||
|
example: 26
|
||||||
|
type: integer
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
cleanUrlParameters:
|
||||||
|
project_id: 1
|
||||||
|
server_id: 8
|
||||||
|
site_id: 26
|
||||||
|
queryParameters: []
|
||||||
|
cleanQueryParameters: []
|
||||||
|
bodyParameters:
|
||||||
|
method:
|
||||||
|
name: method
|
||||||
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
||||||
|
required: true
|
||||||
|
example: least-connections
|
||||||
|
type: string
|
||||||
|
enumValues:
|
||||||
|
- round-robin
|
||||||
|
- least-connections
|
||||||
|
- ip-hash
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
servers:
|
||||||
|
name: servers
|
||||||
|
description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)'
|
||||||
|
required: true
|
||||||
|
example:
|
||||||
|
- deleniti
|
||||||
|
type: 'string[]'
|
||||||
|
enumValues: []
|
||||||
|
exampleWasSpecified: false
|
||||||
|
nullable: false
|
||||||
|
custom: []
|
||||||
|
cleanBodyParameters:
|
||||||
|
method: least-connections
|
||||||
|
servers:
|
||||||
|
- deleniti
|
||||||
|
fileParameters: []
|
||||||
|
responses:
|
||||||
|
-
|
||||||
|
status: 200
|
||||||
|
content: null
|
||||||
|
headers: []
|
||||||
|
description: ''
|
||||||
|
custom: []
|
||||||
|
responseFields: []
|
||||||
|
auth:
|
||||||
|
- headers
|
||||||
|
- Authorization
|
||||||
|
- 'Bearer 5E6hZa64bka1cV3Pdvf8Deg'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -39,7 +39,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Jaiden Kling","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brianne Bosco","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Mr. Reuben Schimmel","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brandy Mraz V","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -47,7 +47,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer PfaEg1eZh66cd5V4v8bD3ak'
|
- 'Bearer g4kDa1vV6cdfPe3baZ8h5E6'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -102,7 +102,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: eos
|
example: dignissimos
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -112,7 +112,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: et
|
example: voluptates
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -122,7 +122,7 @@ endpoints:
|
|||||||
name: url
|
name: url
|
||||||
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
||||||
required: true
|
required: true
|
||||||
example: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html'
|
example: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -132,7 +132,7 @@ endpoints:
|
|||||||
name: username
|
name: username
|
||||||
description: 'The username if the provider is Bitbucket'
|
description: 'The username if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: consectetur
|
example: nisi
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -142,7 +142,7 @@ endpoints:
|
|||||||
name: password
|
name: password
|
||||||
description: 'The password if the provider is Bitbucket'
|
description: 'The password if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: 'PL.P?{06\ECi0'
|
example: W~19Z0
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -150,16 +150,16 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: bitbucket
|
provider: bitbucket
|
||||||
name: eos
|
name: dignissimos
|
||||||
token: et
|
token: voluptates
|
||||||
url: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html'
|
url: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam'
|
||||||
username: consectetur
|
username: nisi
|
||||||
password: 'PL.P?{06\ECi0'
|
password: W~19Z0
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":5,"project_id":null,"global":true,"name":"Toby Parker","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"Harmony Koss DVM","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -167,7 +167,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer V5Zf3a1ve6d6kP4cbgha8DE'
|
- 'Bearer fhEkg836V6cbd5ZPva4Dae1'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -204,7 +204,7 @@ endpoints:
|
|||||||
name: sourceControl_id
|
name: sourceControl_id
|
||||||
description: 'The ID of the sourceControl.'
|
description: 'The ID of the sourceControl.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -212,7 +212,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
sourceControl_id: 3
|
sourceControl_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -221,7 +221,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":5,"project_id":null,"global":true,"name":"Prof. Bartholome Graham IV","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"Martin Welch","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -229,7 +229,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer k1b5hac6veZ36P8gDV4fadE'
|
- 'Bearer 458gPbv6deEfkcZ13ahaD6V'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -266,7 +266,7 @@ endpoints:
|
|||||||
name: sourceControl_id
|
name: sourceControl_id
|
||||||
description: 'The ID of the sourceControl.'
|
description: 'The ID of the sourceControl.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -274,7 +274,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
sourceControl_id: 3
|
sourceControl_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -282,7 +282,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: quaerat
|
example: aut
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -292,7 +292,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: consectetur
|
example: repudiandae
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -302,7 +302,7 @@ endpoints:
|
|||||||
name: url
|
name: url
|
||||||
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
||||||
required: true
|
required: true
|
||||||
example: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus'
|
example: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -312,7 +312,7 @@ endpoints:
|
|||||||
name: username
|
name: username
|
||||||
description: 'The username if the provider is Bitbucket'
|
description: 'The username if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: voluptatem
|
example: consequatur
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -322,7 +322,7 @@ endpoints:
|
|||||||
name: password
|
name: password
|
||||||
description: 'The password if the provider is Bitbucket'
|
description: 'The password if the provider is Bitbucket'
|
||||||
required: true
|
required: true
|
||||||
example: '\p/el>)3#~E?kI'
|
example: 'oX/H"pAIt7R2"'
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -341,17 +341,17 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: quaerat
|
name: aut
|
||||||
token: consectetur
|
token: repudiandae
|
||||||
url: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus'
|
url: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html'
|
||||||
username: voluptatem
|
username: consequatur
|
||||||
password: '\p/el>)3#~E?kI'
|
password: 'oX/H"pAIt7R2"'
|
||||||
global: false
|
global: false
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":5,"project_id":null,"global":true,"name":"Cicero Smitham","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"Miss Dulce Nicolas III","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -359,7 +359,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 6dkE6h8a5eg3f14acVvbPDZ'
|
- 'Bearer De1a4dEaV5v3Zgh8fPk66bc'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -396,7 +396,7 @@ endpoints:
|
|||||||
name: sourceControl_id
|
name: sourceControl_id
|
||||||
description: 'The ID of the sourceControl.'
|
description: 'The ID of the sourceControl.'
|
||||||
required: true
|
required: true
|
||||||
example: 3
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -404,7 +404,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
sourceControl_id: 3
|
sourceControl_id: 1
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -413,7 +413,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -421,7 +421,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer fb6Zk4EP318eva5hDdcV6ga'
|
- 'Bearer EZhd63eafgcV4a651PvkDb8'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -39,7 +39,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"et","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":4,"project_id":null,"global":true,"name":"sed","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"dolorem","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"itaque","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -47,7 +47,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer 1dbV3vkh6EPD5g48cafeZ6a'
|
- 'Bearer D16Vg58E6Pfkh3Zveab4dca'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -89,7 +89,7 @@ endpoints:
|
|||||||
name: provider
|
name: provider
|
||||||
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
||||||
required: true
|
required: true
|
||||||
example: quod
|
example: alias
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -99,7 +99,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: commodi
|
example: explicabo
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -109,7 +109,7 @@ endpoints:
|
|||||||
name: token
|
name: token
|
||||||
description: 'The token if provider requires api token'
|
description: 'The token if provider requires api token'
|
||||||
required: true
|
required: true
|
||||||
example: ipsum
|
example: ut
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -119,7 +119,7 @@ endpoints:
|
|||||||
name: key
|
name: key
|
||||||
description: 'The key if provider requires key'
|
description: 'The key if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: ratione
|
example: libero
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -129,23 +129,23 @@ endpoints:
|
|||||||
name: secret
|
name: secret
|
||||||
description: 'The secret if provider requires key'
|
description: 'The secret if provider requires key'
|
||||||
required: true
|
required: true
|
||||||
example: iste
|
example: consequatur
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
provider: quod
|
provider: alias
|
||||||
name: commodi
|
name: explicabo
|
||||||
token: ipsum
|
token: ut
|
||||||
key: ratione
|
key: libero
|
||||||
secret: iste
|
secret: consequatur
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":3,"project_id":null,"global":true,"name":"est","provider":"dropbox","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"quos","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -153,7 +153,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer abehv36kP4D658VafgdZE1c'
|
- 'Bearer DaZ6d6Eck1bhVe3g4aP85vf'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -190,7 +190,7 @@ endpoints:
|
|||||||
name: storageProvider_id
|
name: storageProvider_id
|
||||||
description: 'The ID of the storageProvider.'
|
description: 'The ID of the storageProvider.'
|
||||||
required: true
|
required: true
|
||||||
example: 1
|
example: 3
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -198,7 +198,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
storageProvider_id: 1
|
storageProvider_id: 3
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -207,7 +207,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":3,"project_id":null,"global":true,"name":"officia","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"id","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -215,7 +215,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer bda64P5c1gEDe8V3Z6vhkaf'
|
- 'Bearer 1dekD4gva56bc683VPEhZfa'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -252,7 +252,7 @@ endpoints:
|
|||||||
name: storageProvider_id
|
name: storageProvider_id
|
||||||
description: 'The ID of the storageProvider.'
|
description: 'The ID of the storageProvider.'
|
||||||
required: true
|
required: true
|
||||||
example: 1
|
example: 3
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -260,7 +260,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
storageProvider_id: 1
|
storageProvider_id: 3
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters:
|
bodyParameters:
|
||||||
@ -268,7 +268,7 @@ endpoints:
|
|||||||
name: name
|
name: name
|
||||||
description: 'The name of the storage provider.'
|
description: 'The name of the storage provider.'
|
||||||
required: true
|
required: true
|
||||||
example: iusto
|
example: sequi
|
||||||
type: string
|
type: string
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -278,7 +278,7 @@ endpoints:
|
|||||||
name: global
|
name: global
|
||||||
description: 'Accessible in all projects'
|
description: 'Accessible in all projects'
|
||||||
required: true
|
required: true
|
||||||
example: true
|
example: false
|
||||||
type: string
|
type: string
|
||||||
enumValues:
|
enumValues:
|
||||||
- true
|
- true
|
||||||
@ -287,13 +287,13 @@ endpoints:
|
|||||||
nullable: false
|
nullable: false
|
||||||
custom: []
|
custom: []
|
||||||
cleanBodyParameters:
|
cleanBodyParameters:
|
||||||
name: iusto
|
name: sequi
|
||||||
global: true
|
global: false
|
||||||
fileParameters: []
|
fileParameters: []
|
||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 200
|
status: 200
|
||||||
content: '{"id":3,"project_id":null,"global":true,"name":"rerum","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}'
|
content: '{"id":5,"project_id":null,"global":true,"name":"velit","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -301,7 +301,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer aEP35hVakDdf814eZvg66cb'
|
- 'Bearer V65g18Pca4v3hDEkbZfe6da'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
@ -338,7 +338,7 @@ endpoints:
|
|||||||
name: storageProvider_id
|
name: storageProvider_id
|
||||||
description: 'The ID of the storageProvider.'
|
description: 'The ID of the storageProvider.'
|
||||||
required: true
|
required: true
|
||||||
example: 1
|
example: 3
|
||||||
type: integer
|
type: integer
|
||||||
enumValues: []
|
enumValues: []
|
||||||
exampleWasSpecified: false
|
exampleWasSpecified: false
|
||||||
@ -346,7 +346,7 @@ endpoints:
|
|||||||
custom: []
|
custom: []
|
||||||
cleanUrlParameters:
|
cleanUrlParameters:
|
||||||
project_id: 1
|
project_id: 1
|
||||||
storageProvider_id: 1
|
storageProvider_id: 3
|
||||||
queryParameters: []
|
queryParameters: []
|
||||||
cleanQueryParameters: []
|
cleanQueryParameters: []
|
||||||
bodyParameters: []
|
bodyParameters: []
|
||||||
@ -355,7 +355,7 @@ endpoints:
|
|||||||
responses:
|
responses:
|
||||||
-
|
-
|
||||||
status: 204
|
status: 204
|
||||||
content: 'null'
|
content: null
|
||||||
headers: []
|
headers: []
|
||||||
description: ''
|
description: ''
|
||||||
custom: []
|
custom: []
|
||||||
@ -363,7 +363,7 @@ endpoints:
|
|||||||
auth:
|
auth:
|
||||||
- headers
|
- headers
|
||||||
- Authorization
|
- Authorization
|
||||||
- 'Bearer Dah3PgE5d64fcbe8a16VkvZ'
|
- 'Bearer 1v6a6efgch3DbZ4aVE5d8kP'
|
||||||
controller: null
|
controller: null
|
||||||
method: null
|
method: null
|
||||||
route: null
|
route: null
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
use App\Models\CronJob;
|
use App\Models\CronJob;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use App\ValidationRules\CronRule;
|
use App\ValidationRules\CronRule;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class CreateCronJob
|
class CreateCronJob
|
||||||
{
|
{
|
||||||
@ -27,7 +28,7 @@ public function create(Server $server, array $input): CronJob
|
|||||||
return $cronJob;
|
return $cronJob;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function rules(array $input): array
|
public static function rules(array $input, Server $server): array
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
'command' => [
|
'command' => [
|
||||||
@ -35,7 +36,7 @@ public static function rules(array $input): array
|
|||||||
],
|
],
|
||||||
'user' => [
|
'user' => [
|
||||||
'required',
|
'required',
|
||||||
'in:root,'.config('core.ssh_user'),
|
Rule::in($server->getSshUsers()),
|
||||||
],
|
],
|
||||||
'frequency' => [
|
'frequency' => [
|
||||||
'required',
|
'required',
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Actions\Database;
|
namespace App\Actions\Database;
|
||||||
|
|
||||||
|
use App\Enums\BackupFileStatus;
|
||||||
use App\Enums\BackupStatus;
|
use App\Enums\BackupStatus;
|
||||||
use App\Enums\DatabaseStatus;
|
use App\Enums\DatabaseStatus;
|
||||||
use App\Models\Backup;
|
use App\Models\Backup;
|
||||||
@ -10,7 +11,7 @@
|
|||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
|
|
||||||
class CreateBackup
|
class ManageBackup
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @throws AuthorizationException
|
* @throws AuthorizationException
|
||||||
@ -34,6 +35,31 @@ public function create(Server $server, array $input): Backup
|
|||||||
return $backup;
|
return $backup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function update(Backup $backup, array $input): void
|
||||||
|
{
|
||||||
|
$backup->interval = $input['interval'] == 'custom' ? $input['custom_interval'] : $input['interval'];
|
||||||
|
$backup->keep_backups = $input['keep'];
|
||||||
|
$backup->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete(Backup $backup): void
|
||||||
|
{
|
||||||
|
$backup->status = BackupStatus::DELETING;
|
||||||
|
$backup->save();
|
||||||
|
|
||||||
|
dispatch(function () use ($backup) {
|
||||||
|
$files = $backup->files;
|
||||||
|
foreach ($files as $file) {
|
||||||
|
$file->status = BackupFileStatus::DELETING;
|
||||||
|
$file->save();
|
||||||
|
|
||||||
|
$file->deleteFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
$backup->delete();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public static function rules(Server $server, array $input): array
|
public static function rules(Server $server, array $input): array
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
39
app/Actions/Database/ManageBackupFile.php
Normal file
39
app/Actions/Database/ManageBackupFile.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions\Database;
|
||||||
|
|
||||||
|
use App\Enums\BackupFileStatus;
|
||||||
|
use App\Models\BackupFile;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
use Throwable;
|
||||||
|
|
||||||
|
class ManageBackupFile
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @throws Throwable
|
||||||
|
*/
|
||||||
|
public function download(BackupFile $file): StreamedResponse
|
||||||
|
{
|
||||||
|
$localFilename = "backup_{$file->id}_{$file->name}.zip";
|
||||||
|
|
||||||
|
if (! Storage::disk('backups')->exists($localFilename)) {
|
||||||
|
$file->backup->server->ssh()->download(
|
||||||
|
Storage::disk('backups')->path($localFilename),
|
||||||
|
$file->path()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Storage::disk('backups')->download($localFilename, $file->name.'.zip');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete(BackupFile $file): void
|
||||||
|
{
|
||||||
|
$file->status = BackupFileStatus::DELETING;
|
||||||
|
$file->save();
|
||||||
|
|
||||||
|
dispatch(function () use ($file) {
|
||||||
|
$file->deleteFile();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
@ -59,7 +59,7 @@ public static function rules(): array
|
|||||||
'ip',
|
'ip',
|
||||||
],
|
],
|
||||||
'mask' => [
|
'mask' => [
|
||||||
'required',
|
'nullable',
|
||||||
'numeric',
|
'numeric',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
use App\Models\Queue;
|
use App\Models\Queue;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
|
use App\SSH\Services\ProcessManager\ProcessManager;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
|
|
||||||
@ -29,7 +30,9 @@ public function create(mixed $queueable, array $input): void
|
|||||||
$queue->save();
|
$queue->save();
|
||||||
|
|
||||||
dispatch(function () use ($queue) {
|
dispatch(function () use ($queue) {
|
||||||
$queue->server->processManager()->handler()->create(
|
/** @var ProcessManager $processManager */
|
||||||
|
$processManager = $queue->server->processManager()->handler();
|
||||||
|
$processManager->create(
|
||||||
$queue->id,
|
$queue->id,
|
||||||
$queue->command,
|
$queue->command,
|
||||||
$queue->user,
|
$queue->user,
|
||||||
@ -46,7 +49,7 @@ public function create(mixed $queueable, array $input): void
|
|||||||
})->onConnection('ssh');
|
})->onConnection('ssh');
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function rules(Server $server): array
|
public static function rules(Site $site): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'command' => [
|
'command' => [
|
||||||
@ -56,7 +59,7 @@ public static function rules(Server $server): array
|
|||||||
'required',
|
'required',
|
||||||
Rule::in([
|
Rule::in([
|
||||||
'root',
|
'root',
|
||||||
$server->ssh_user,
|
$site->user,
|
||||||
]),
|
]),
|
||||||
],
|
],
|
||||||
'numprocs' => [
|
'numprocs' => [
|
||||||
|
16
app/Actions/SSL/ActivateSSL.php
Normal file
16
app/Actions/SSL/ActivateSSL.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions\SSL;
|
||||||
|
|
||||||
|
use App\Models\Ssl;
|
||||||
|
|
||||||
|
class ActivateSSL
|
||||||
|
{
|
||||||
|
public function activate(Ssl $ssl): void
|
||||||
|
{
|
||||||
|
$ssl->site->ssls()->update(['is_active' => false]);
|
||||||
|
$ssl->is_active = true;
|
||||||
|
$ssl->save();
|
||||||
|
$ssl->site->webserver()->updateVHost($ssl->site);
|
||||||
|
}
|
||||||
|
}
|
@ -30,6 +30,8 @@ public function create(Site $site, array $input): void
|
|||||||
'pk' => $input['private'] ?? null,
|
'pk' => $input['private'] ?? null,
|
||||||
'expires_at' => $input['type'] === SslType::LETSENCRYPT ? now()->addMonths(3) : $input['expires_at'],
|
'expires_at' => $input['type'] === SslType::LETSENCRYPT ? now()->addMonths(3) : $input['expires_at'],
|
||||||
'status' => SslStatus::CREATING,
|
'status' => SslStatus::CREATING,
|
||||||
|
'email' => $input['email'] ?? null,
|
||||||
|
'is_active' => ! $site->activeSsl,
|
||||||
]);
|
]);
|
||||||
$ssl->domains = [$site->domain];
|
$ssl->domains = [$site->domain];
|
||||||
if (isset($input['aliases']) && $input['aliases']) {
|
if (isset($input['aliases']) && $input['aliases']) {
|
||||||
@ -44,7 +46,7 @@ public function create(Site $site, array $input): void
|
|||||||
$webserver->setupSSL($ssl);
|
$webserver->setupSSL($ssl);
|
||||||
$ssl->status = SslStatus::CREATED;
|
$ssl->status = SslStatus::CREATED;
|
||||||
$ssl->save();
|
$ssl->save();
|
||||||
$site->type()->edit();
|
$webserver->updateVHost($site);
|
||||||
})->catch(function () use ($ssl) {
|
})->catch(function () use ($ssl) {
|
||||||
$ssl->status = SslStatus::FAILED;
|
$ssl->status = SslStatus::FAILED;
|
||||||
$ssl->save();
|
$ssl->save();
|
||||||
@ -68,6 +70,12 @@ public static function rules(array $input): array
|
|||||||
'after_or_equal:'.now(),
|
'after_or_equal:'.now(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
if (isset($input['type']) && $input['type'] == SslType::LETSENCRYPT) {
|
||||||
|
$rules['email'] = [
|
||||||
|
'required',
|
||||||
|
'email',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Actions\SSL;
|
namespace App\Actions\SSL;
|
||||||
|
|
||||||
|
use App\Enums\SslStatus;
|
||||||
use App\Models\Ssl;
|
use App\Models\Ssl;
|
||||||
use App\SSH\Services\Webserver\Webserver;
|
use App\SSH\Services\Webserver\Webserver;
|
||||||
|
|
||||||
@ -9,6 +10,8 @@ class DeleteSSL
|
|||||||
{
|
{
|
||||||
public function delete(Ssl $ssl): void
|
public function delete(Ssl $ssl): void
|
||||||
{
|
{
|
||||||
|
$ssl->status = SslStatus::DELETING;
|
||||||
|
$ssl->save();
|
||||||
/** @var Webserver $webserver */
|
/** @var Webserver $webserver */
|
||||||
$webserver = $ssl->site->server->webserver()->handler();
|
$webserver = $ssl->site->server->webserver()->handler();
|
||||||
$webserver->removeSSL($ssl);
|
$webserver->removeSSL($ssl);
|
||||||
|
@ -41,9 +41,11 @@ public function execute(Script $script, array $input): ScriptExecution
|
|||||||
|
|
||||||
public static function rules(array $input): array
|
public static function rules(array $input): array
|
||||||
{
|
{
|
||||||
|
$users = ['root'];
|
||||||
if (isset($input['server'])) {
|
if (isset($input['server'])) {
|
||||||
/** @var ?Server $server */
|
/** @var ?Server $server */
|
||||||
$server = Server::query()->find($input['server']);
|
$server = Server::query()->find($input['server']);
|
||||||
|
$users = $server->getSshUsers();
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
@ -53,10 +55,7 @@ public static function rules(array $input): array
|
|||||||
],
|
],
|
||||||
'user' => [
|
'user' => [
|
||||||
'required',
|
'required',
|
||||||
Rule::in([
|
Rule::in($users),
|
||||||
'root',
|
|
||||||
isset($server) ? $server?->ssh_user : null,
|
|
||||||
]),
|
|
||||||
],
|
],
|
||||||
'variables' => 'array',
|
'variables' => 'array',
|
||||||
'variables.*' => [
|
'variables.*' => [
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
use App\Enums\ServerProvider;
|
use App\Enums\ServerProvider;
|
||||||
use App\Enums\ServerStatus;
|
use App\Enums\ServerStatus;
|
||||||
use App\Enums\ServerType;
|
use App\Enums\ServerType;
|
||||||
|
use App\Exceptions\SSHConnectionError;
|
||||||
use App\Facades\Notifier;
|
use App\Facades\Notifier;
|
||||||
use App\Models\Project;
|
use App\Models\Project;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
@ -15,7 +16,6 @@
|
|||||||
use App\ValidationRules\RestrictedIPAddressesRule;
|
use App\ValidationRules\RestrictedIPAddressesRule;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Database\Query\Builder;
|
use Illuminate\Database\Query\Builder;
|
||||||
use Illuminate\Support\Facades\Bus;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
@ -81,34 +81,37 @@ public function create(User $creator, Project $project, array $input): Server
|
|||||||
|
|
||||||
private function install(Server $server): void
|
private function install(Server $server): void
|
||||||
{
|
{
|
||||||
$bus = Bus::chain([
|
dispatch(function () use ($server) {
|
||||||
function () use ($server) {
|
$maxWait = 180;
|
||||||
|
while ($maxWait > 0) {
|
||||||
|
sleep(10);
|
||||||
|
$maxWait -= 10;
|
||||||
if (! $server->provider()->isRunning()) {
|
if (! $server->provider()->isRunning()) {
|
||||||
sleep(2);
|
continue;
|
||||||
}
|
}
|
||||||
$server->type()->install();
|
try {
|
||||||
$server->update([
|
$server->ssh()->connect();
|
||||||
'status' => ServerStatus::READY,
|
break;
|
||||||
]);
|
} catch (SSHConnectionError) {
|
||||||
Notifier::send($server, new ServerInstallationSucceed($server));
|
// ignore
|
||||||
},
|
}
|
||||||
])->catch(function (Throwable $e) use ($server) {
|
}
|
||||||
|
$server->type()->install();
|
||||||
$server->update([
|
$server->update([
|
||||||
'status' => ServerStatus::INSTALLATION_FAILED,
|
'status' => ServerStatus::READY,
|
||||||
]);
|
]);
|
||||||
Notifier::send($server, new ServerInstallationFailed($server));
|
Notifier::send($server, new ServerInstallationSucceed($server));
|
||||||
Log::error('server-installation-error', [
|
})
|
||||||
'error' => (string) $e,
|
->catch(function (Throwable $e) use ($server) {
|
||||||
]);
|
$server->update([
|
||||||
});
|
'status' => ServerStatus::INSTALLATION_FAILED,
|
||||||
|
]);
|
||||||
if ($server->provider != ServerProvider::CUSTOM) {
|
Notifier::send($server, new ServerInstallationFailed($server));
|
||||||
$server->progress_step = 'waiting-for-provider';
|
Log::error('server-installation-error', [
|
||||||
$server->save();
|
'error' => (string) $e,
|
||||||
$bus->delay(now()->addMinutes(3));
|
]);
|
||||||
}
|
})
|
||||||
|
->onConnection('ssh');
|
||||||
$bus->onConnection('ssh')->dispatch();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function rules(Project $project, array $input): array
|
public static function rules(Project $project, array $input): array
|
||||||
|
@ -24,6 +24,9 @@ public function edit(Server $server, array $input): Server
|
|||||||
}
|
}
|
||||||
$server->ip = $input['ip'];
|
$server->ip = $input['ip'];
|
||||||
}
|
}
|
||||||
|
if (isset($input['local_ip'])) {
|
||||||
|
$server->local_ip = $input['local_ip'];
|
||||||
|
}
|
||||||
if (isset($input['port'])) {
|
if (isset($input['port'])) {
|
||||||
if ($server->port !== $input['port']) {
|
if ($server->port !== $input['port']) {
|
||||||
$checkConnection = true;
|
$checkConnection = true;
|
||||||
@ -52,6 +55,10 @@ public static function rules(Server $server): array
|
|||||||
new RestrictedIPAddressesRule,
|
new RestrictedIPAddressesRule,
|
||||||
Rule::unique('servers')->where('project_id', $server->project_id)->ignore($server->id),
|
Rule::unique('servers')->where('project_id', $server->project_id)->ignore($server->id),
|
||||||
],
|
],
|
||||||
|
'local_ip' => [
|
||||||
|
'string',
|
||||||
|
Rule::unique('servers')->where('project_id', $server->project_id)->ignore($server->id),
|
||||||
|
],
|
||||||
'port' => [
|
'port' => [
|
||||||
'integer',
|
'integer',
|
||||||
'min:1',
|
'min:1',
|
||||||
|
@ -23,12 +23,14 @@ public function create(Server $server, array $input): Site
|
|||||||
{
|
{
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
try {
|
try {
|
||||||
|
$user = $input['user'] ?? $server->getSshUser();
|
||||||
$site = new Site([
|
$site = new Site([
|
||||||
'server_id' => $server->id,
|
'server_id' => $server->id,
|
||||||
'type' => $input['type'],
|
'type' => $input['type'],
|
||||||
'domain' => $input['domain'],
|
'domain' => $input['domain'],
|
||||||
'aliases' => $input['aliases'] ?? [],
|
'aliases' => $input['aliases'] ?? [],
|
||||||
'path' => '/home/'.$server->getSshUser().'/'.$input['domain'],
|
'user' => $user,
|
||||||
|
'path' => '/home/'.$user.'/'.$input['domain'],
|
||||||
'status' => SiteStatus::INSTALLING,
|
'status' => SiteStatus::INSTALLING,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -108,6 +110,13 @@ public static function rules(Server $server, array $input): array
|
|||||||
'aliases.*' => [
|
'aliases.*' => [
|
||||||
new DomainRule,
|
new DomainRule,
|
||||||
],
|
],
|
||||||
|
'user' => [
|
||||||
|
'regex:/^[a-z_][a-z0-9_-]*[a-z0-9]$/',
|
||||||
|
'min:3',
|
||||||
|
'max:32',
|
||||||
|
Rule::unique('sites', 'user')->where('server_id', $server->id),
|
||||||
|
Rule::notIn($server->getSshUsers()),
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
return array_merge($rules, self::typeRules($server, $input));
|
return array_merge($rules, self::typeRules($server, $input));
|
||||||
|
@ -2,16 +2,31 @@
|
|||||||
|
|
||||||
namespace App\Actions\Site;
|
namespace App\Actions\Site;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
|
use App\SSH\Services\PHP\PHP;
|
||||||
use App\SSH\Services\Webserver\Webserver;
|
use App\SSH\Services\Webserver\Webserver;
|
||||||
|
|
||||||
class DeleteSite
|
class DeleteSite
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function delete(Site $site): void
|
public function delete(Site $site): void
|
||||||
{
|
{
|
||||||
/** @var Webserver $webserverHandler */
|
/** @var Webserver $webserverHandler */
|
||||||
$webserverHandler = $site->server->webserver()->handler();
|
$webserverHandler = $site->server->webserver()->handler();
|
||||||
$webserverHandler->deleteSite($site);
|
$webserverHandler->deleteSite($site);
|
||||||
|
|
||||||
|
if ($site->isIsolated()) {
|
||||||
|
/** @var PHP $php */
|
||||||
|
$php = $site->server->php()->handler();
|
||||||
|
$php->removeFpmPool($site->user, $site->php_version, $site->id);
|
||||||
|
|
||||||
|
$os = $site->server->os();
|
||||||
|
$os->deleteIsolatedUser($site->user);
|
||||||
|
}
|
||||||
|
|
||||||
$site->delete();
|
$site->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,16 +4,18 @@
|
|||||||
|
|
||||||
use App\Enums\DeploymentStatus;
|
use App\Enums\DeploymentStatus;
|
||||||
use App\Exceptions\DeploymentScriptIsEmptyException;
|
use App\Exceptions\DeploymentScriptIsEmptyException;
|
||||||
use App\Exceptions\SourceControlIsNotConnected;
|
use App\Exceptions\SSHError;
|
||||||
|
use App\Facades\Notifier;
|
||||||
use App\Models\Deployment;
|
use App\Models\Deployment;
|
||||||
use App\Models\ServerLog;
|
use App\Models\ServerLog;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
|
use App\Notifications\DeploymentCompleted;
|
||||||
|
|
||||||
class Deploy
|
class Deploy
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @throws SourceControlIsNotConnected
|
|
||||||
* @throws DeploymentScriptIsEmptyException
|
* @throws DeploymentScriptIsEmptyException
|
||||||
|
* @throws SSHError
|
||||||
*/
|
*/
|
||||||
public function run(Site $site): Deployment
|
public function run(Site $site): Deployment
|
||||||
{
|
{
|
||||||
@ -48,13 +50,16 @@ public function run(Site $site): Deployment
|
|||||||
path: $site->path,
|
path: $site->path,
|
||||||
script: $site->deploymentScript->content,
|
script: $site->deploymentScript->content,
|
||||||
serverLog: $log,
|
serverLog: $log,
|
||||||
variables: $site->environmentVariables($deployment)
|
user: $site->user,
|
||||||
|
variables: $site->environmentVariables($deployment),
|
||||||
);
|
);
|
||||||
$deployment->status = DeploymentStatus::FINISHED;
|
$deployment->status = DeploymentStatus::FINISHED;
|
||||||
$deployment->save();
|
$deployment->save();
|
||||||
})->catch(function () use ($deployment) {
|
Notifier::send($site, new DeploymentCompleted($deployment, $site));
|
||||||
|
})->catch(function () use ($deployment, $site) {
|
||||||
$deployment->status = DeploymentStatus::FAILED;
|
$deployment->status = DeploymentStatus::FAILED;
|
||||||
$deployment->save();
|
$deployment->save();
|
||||||
|
Notifier::send($site, new DeploymentCompleted($deployment, $site));
|
||||||
})->onConnection('ssh');
|
})->onConnection('ssh');
|
||||||
|
|
||||||
return $deployment;
|
return $deployment;
|
||||||
|
@ -14,7 +14,7 @@ public function update(Site $site, array $input): void
|
|||||||
|
|
||||||
/** @var Webserver $webserver */
|
/** @var Webserver $webserver */
|
||||||
$webserver = $site->server->webserver()->handler();
|
$webserver = $site->server->webserver()->handler();
|
||||||
$webserver->updateVHost($site, ! $site->hasSSL());
|
$webserver->updateVHost($site);
|
||||||
|
|
||||||
$site->save();
|
$site->save();
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Actions\Site;
|
namespace App\Actions\Site;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
use App\SSH\Git\Git;
|
use App\SSH\Git\Git;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
@ -10,6 +11,7 @@ class UpdateBranch
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @throws ValidationException
|
* @throws ValidationException
|
||||||
|
* @throws SSHError
|
||||||
*/
|
*/
|
||||||
public function update(Site $site, array $input): void
|
public function update(Site $site, array $input): void
|
||||||
{
|
{
|
||||||
|
@ -12,9 +12,9 @@ class UpdateDeploymentScript
|
|||||||
*/
|
*/
|
||||||
public function update(Site $site, array $input): void
|
public function update(Site $site, array $input): void
|
||||||
{
|
{
|
||||||
$site->deploymentScript()->update([
|
$script = $site->deploymentScript;
|
||||||
'content' => $input['script'],
|
$script->content = $input['script'];
|
||||||
]);
|
$script->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
63
app/Actions/Site/UpdateLoadBalancer.php
Normal file
63
app/Actions/Site/UpdateLoadBalancer.php
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions\Site;
|
||||||
|
|
||||||
|
use App\Enums\LoadBalancerMethod;
|
||||||
|
use App\Models\LoadBalancerServer;
|
||||||
|
use App\Models\Site;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
|
class UpdateLoadBalancer
|
||||||
|
{
|
||||||
|
public function update(Site $site, array $input): void
|
||||||
|
{
|
||||||
|
$site->loadBalancerServers()->delete();
|
||||||
|
|
||||||
|
foreach ($input['servers'] as $server) {
|
||||||
|
$loadBalancerServer = new LoadBalancerServer([
|
||||||
|
'load_balancer_id' => $site->id,
|
||||||
|
'ip' => $server['server'],
|
||||||
|
'port' => $server['port'],
|
||||||
|
'weight' => $server['weight'],
|
||||||
|
'backup' => (bool) $server['backup'],
|
||||||
|
]);
|
||||||
|
$loadBalancerServer->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
$site->webserver()->updateVHost($site);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function rules(Site $site): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'servers' => [
|
||||||
|
'required',
|
||||||
|
'array',
|
||||||
|
],
|
||||||
|
'servers.*.server' => [
|
||||||
|
'required',
|
||||||
|
Rule::exists('servers', 'local_ip')
|
||||||
|
->where('project_id', $site->project->id),
|
||||||
|
],
|
||||||
|
'servers.*.port' => [
|
||||||
|
'required',
|
||||||
|
'numeric',
|
||||||
|
'min:1',
|
||||||
|
'max:65535',
|
||||||
|
],
|
||||||
|
'servers.*.weight' => [
|
||||||
|
'nullable',
|
||||||
|
'numeric',
|
||||||
|
'min:0',
|
||||||
|
],
|
||||||
|
'servers.*.backup' => [
|
||||||
|
'required',
|
||||||
|
'boolean',
|
||||||
|
],
|
||||||
|
'method' => [
|
||||||
|
'required',
|
||||||
|
Rule::in(LoadBalancerMethod::all()),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Actions\Site;
|
namespace App\Actions\Site;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
@ -19,6 +20,9 @@ public static function rules(Site $site): array
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function update(Site $site, array $input): void
|
public function update(Site $site, array $input): void
|
||||||
{
|
{
|
||||||
$site->changePHPVersion($input['version']);
|
$site->changePHPVersion($input['version']);
|
||||||
|
@ -7,4 +7,6 @@ final class BackupStatus
|
|||||||
const RUNNING = 'running';
|
const RUNNING = 'running';
|
||||||
|
|
||||||
const FAILED = 'failed';
|
const FAILED = 'failed';
|
||||||
|
|
||||||
|
const DELETING = 'deleting';
|
||||||
}
|
}
|
||||||
|
16
app/Enums/LoadBalancerMethod.php
Normal file
16
app/Enums/LoadBalancerMethod.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\Enum;
|
||||||
|
|
||||||
|
final class LoadBalancerMethod
|
||||||
|
{
|
||||||
|
use Enum;
|
||||||
|
|
||||||
|
const ROUND_ROBIN = 'round-robin';
|
||||||
|
|
||||||
|
const LEAST_CONNECTIONS = 'least-connections';
|
||||||
|
|
||||||
|
const IP_HASH = 'ip-hash';
|
||||||
|
}
|
@ -14,20 +14,5 @@ final class SiteType
|
|||||||
|
|
||||||
const PHPMYADMIN = 'phpmyadmin';
|
const PHPMYADMIN = 'phpmyadmin';
|
||||||
|
|
||||||
public static function hasWebDirectory(): array
|
const LOAD_BALANCER = 'load-balancer';
|
||||||
{
|
|
||||||
return [
|
|
||||||
self::PHP,
|
|
||||||
self::PHP_BLANK,
|
|
||||||
self::LARAVEL,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function hasSourceControl(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
self::PHP,
|
|
||||||
self::LARAVEL,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,6 @@ public function init(Server $server, ?string $asUser = null): self
|
|||||||
$this->server = $server->refresh();
|
$this->server = $server->refresh();
|
||||||
$this->user = $server->getSshUser();
|
$this->user = $server->getSshUser();
|
||||||
if ($asUser && $asUser != $server->getSshUser()) {
|
if ($asUser && $asUser != $server->getSshUser()) {
|
||||||
$this->user = $asUser;
|
|
||||||
$this->asUser = $asUser;
|
$this->asUser = $asUser;
|
||||||
}
|
}
|
||||||
$this->privateKey = PublicKeyLoader::loadPrivateKey(
|
$this->privateKey = PublicKeyLoader::loadPrivateKey(
|
||||||
@ -61,7 +60,7 @@ public function setLog(?ServerLog $log): self
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws Throwable
|
* @throws SSHConnectionError
|
||||||
*/
|
*/
|
||||||
public function connect(bool $sftp = false): void
|
public function connect(bool $sftp = false): void
|
||||||
{
|
{
|
||||||
@ -146,6 +145,10 @@ public function exec(string $command, string $log = '', ?int $siteId = null, ?bo
|
|||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
|
Log::error('Error executing command', [
|
||||||
|
'msg' => $e->getMessage(),
|
||||||
|
'log' => $this->log,
|
||||||
|
]);
|
||||||
throw new SSHCommandError(
|
throw new SSHCommandError(
|
||||||
message: $e->getMessage(),
|
message: $e->getMessage(),
|
||||||
log: $this->log
|
log: $this->log
|
||||||
@ -178,7 +181,7 @@ public function download(string $local, string $remote): void
|
|||||||
$this->connect(true);
|
$this->connect(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->connection->get($remote, $local, SFTP::SOURCE_LOCAL_FILE);
|
$this->connection->get($remote, $local);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,7 +51,7 @@ public function create(Request $request, Project $project, Server $server): Cron
|
|||||||
|
|
||||||
$this->validateRoute($project, $server);
|
$this->validateRoute($project, $server);
|
||||||
|
|
||||||
$this->validate($request, CreateCronJob::rules($request->all()));
|
$this->validate($request, CreateCronJob::rules($request->all(), $server));
|
||||||
|
|
||||||
$cronJob = app(CreateCronJob::class)->create($server, $request->all());
|
$cronJob = app(CreateCronJob::class)->create($server, $request->all());
|
||||||
|
|
||||||
|
@ -3,9 +3,10 @@
|
|||||||
namespace App\Http\Controllers\API;
|
namespace App\Http\Controllers\API;
|
||||||
|
|
||||||
use App\Actions\Site\CreateSite;
|
use App\Actions\Site\CreateSite;
|
||||||
|
use App\Actions\Site\UpdateLoadBalancer;
|
||||||
|
use App\Enums\LoadBalancerMethod;
|
||||||
use App\Enums\SiteType;
|
use App\Enums\SiteType;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Resources\ServerResource;
|
|
||||||
use App\Http\Resources\SiteResource;
|
use App\Http\Resources\SiteResource;
|
||||||
use App\Models\Project;
|
use App\Models\Project;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
@ -42,7 +43,7 @@ public function index(Project $project, Server $server): ResourceCollection
|
|||||||
|
|
||||||
#[Post('/', name: 'api.projects.servers.sites.create', middleware: 'ability:write')]
|
#[Post('/', name: 'api.projects.servers.sites.create', middleware: 'ability:write')]
|
||||||
#[Endpoint(title: 'create', description: 'Create a new site.')]
|
#[Endpoint(title: 'create', description: 'Create a new site.')]
|
||||||
#[BodyParam(name: 'type', required: true, enum: [SiteType::PHP, SiteType::PHP_BLANK, SiteType::PHPMYADMIN, SiteType::LARAVEL, SiteType::WORDPRESS])]
|
#[BodyParam(name: 'type', required: true, enum: [SiteType::PHP, SiteType::PHP_BLANK, SiteType::PHPMYADMIN, SiteType::LARAVEL, SiteType::WORDPRESS, SiteType::LOAD_BALANCER])]
|
||||||
#[BodyParam(name: 'domain', required: true)]
|
#[BodyParam(name: 'domain', required: true)]
|
||||||
#[BodyParam(name: 'aliases', type: 'array')]
|
#[BodyParam(name: 'aliases', type: 'array')]
|
||||||
#[BodyParam(name: 'php_version', description: 'One of the installed PHP Versions', required: true, example: '7.4')]
|
#[BodyParam(name: 'php_version', description: 'One of the installed PHP Versions', required: true, example: '7.4')]
|
||||||
@ -52,6 +53,8 @@ public function index(Project $project, Server $server): ResourceCollection
|
|||||||
#[BodyParam(name: 'branch', description: 'Branch, Required for Sites which support source control', example: 'main')]
|
#[BodyParam(name: 'branch', description: 'Branch, Required for Sites which support source control', example: 'main')]
|
||||||
#[BodyParam(name: 'composer', type: 'boolean', description: 'Run composer if site supports composer', example: true)]
|
#[BodyParam(name: 'composer', type: 'boolean', description: 'Run composer if site supports composer', example: true)]
|
||||||
#[BodyParam(name: 'version', description: 'Version, if the site type requires a version like PHPMyAdmin', example: '5.2.1')]
|
#[BodyParam(name: 'version', description: 'Version, if the site type requires a version like PHPMyAdmin', example: '5.2.1')]
|
||||||
|
#[BodyParam(name: 'user', description: 'user, to isolate the website under a new user')]
|
||||||
|
#[BodyParam(name: 'method', description: 'Load balancer method, Required if the site type is Load balancer', enum: [LoadBalancerMethod::ROUND_ROBIN, LoadBalancerMethod::LEAST_CONNECTIONS, LoadBalancerMethod::IP_HASH])]
|
||||||
#[ResponseFromApiResource(SiteResource::class, Site::class)]
|
#[ResponseFromApiResource(SiteResource::class, Site::class)]
|
||||||
public function create(Request $request, Project $project, Server $server): SiteResource
|
public function create(Request $request, Project $project, Server $server): SiteResource
|
||||||
{
|
{
|
||||||
@ -69,13 +72,13 @@ public function create(Request $request, Project $project, Server $server): Site
|
|||||||
#[Get('{site}', name: 'api.projects.servers.sites.show', middleware: 'ability:read')]
|
#[Get('{site}', name: 'api.projects.servers.sites.show', middleware: 'ability:read')]
|
||||||
#[Endpoint(title: 'show', description: 'Get a site by ID.')]
|
#[Endpoint(title: 'show', description: 'Get a site by ID.')]
|
||||||
#[ResponseFromApiResource(SiteResource::class, Site::class)]
|
#[ResponseFromApiResource(SiteResource::class, Site::class)]
|
||||||
public function show(Project $project, Server $server, Site $site): ServerResource
|
public function show(Project $project, Server $server, Site $site): SiteResource
|
||||||
{
|
{
|
||||||
$this->authorize('view', [$site, $server]);
|
$this->authorize('view', [$site, $server]);
|
||||||
|
|
||||||
$this->validateRoute($project, $server, $site);
|
$this->validateRoute($project, $server, $site);
|
||||||
|
|
||||||
return new ServerResource($server);
|
return new SiteResource($site);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Delete('{site}', name: 'api.projects.servers.sites.delete', middleware: 'ability:write')]
|
#[Delete('{site}', name: 'api.projects.servers.sites.delete', middleware: 'ability:write')]
|
||||||
@ -92,6 +95,24 @@ public function delete(Project $project, Server $server, Site $site)
|
|||||||
return response()->noContent();
|
return response()->noContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Post('{site}/load-balancer', name: 'api.projects.servers.sites.load-balancer', middleware: 'ability:write')]
|
||||||
|
#[Endpoint(title: 'load-balancer', description: 'Update load balancer.')]
|
||||||
|
#[BodyParam(name: 'method', description: 'Load balancer method, Required if the site type is Load balancer', enum: [LoadBalancerMethod::ROUND_ROBIN, LoadBalancerMethod::LEAST_CONNECTIONS, LoadBalancerMethod::IP_HASH])]
|
||||||
|
#[BodyParam(name: 'servers', type: 'array', description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)')]
|
||||||
|
#[Response(status: 200)]
|
||||||
|
public function updateLoadBalancer(Request $request, Project $project, Server $server, Site $site): SiteResource
|
||||||
|
{
|
||||||
|
$this->authorize('update', [$site, $server]);
|
||||||
|
|
||||||
|
$this->validateRoute($project, $server, $site);
|
||||||
|
|
||||||
|
$this->validate($request, UpdateLoadBalancer::rules($site));
|
||||||
|
|
||||||
|
app(UpdateLoadBalancer::class)->update($site, $request->all());
|
||||||
|
|
||||||
|
return new SiteResource($site);
|
||||||
|
}
|
||||||
|
|
||||||
private function validateRoute(Project $project, Server $server, ?Site $site = null): void
|
private function validateRoute(Project $project, Server $server, ?Site $site = null): void
|
||||||
{
|
{
|
||||||
if ($project->id !== $server->project_id) {
|
if ($project->id !== $server->project_id) {
|
||||||
|
@ -26,6 +26,7 @@ public function toArray(Request $request): array
|
|||||||
'branch' => $this->branch,
|
'branch' => $this->branch,
|
||||||
'status' => $this->status,
|
'status' => $this->status,
|
||||||
'port' => $this->port,
|
'port' => $this->port,
|
||||||
|
'user' => $this->user,
|
||||||
'progress' => $this->progress,
|
'progress' => $this->progress,
|
||||||
'created_at' => $this->created_at,
|
'created_at' => $this->created_at,
|
||||||
'updated_at' => $this->updated_at,
|
'updated_at' => $this->updated_at,
|
||||||
|
@ -56,8 +56,17 @@ public static function boot(): void
|
|||||||
public static array $statusColors = [
|
public static array $statusColors = [
|
||||||
BackupStatus::RUNNING => 'success',
|
BackupStatus::RUNNING => 'success',
|
||||||
BackupStatus::FAILED => 'danger',
|
BackupStatus::FAILED => 'danger',
|
||||||
|
BackupStatus::DELETING => 'warning',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function isCustomInterval(): bool
|
||||||
|
{
|
||||||
|
$intervals = array_keys(config('core.cronjob_intervals'));
|
||||||
|
$intervals = array_filter($intervals, fn ($interval) => $interval !== 'custom');
|
||||||
|
|
||||||
|
return ! in_array($this->interval, $intervals);
|
||||||
|
}
|
||||||
|
|
||||||
public function server(): BelongsTo
|
public function server(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Server::class);
|
return $this->belongsTo(Server::class);
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Actions\Database\ManageBackupFile;
|
||||||
use App\Enums\BackupFileStatus;
|
use App\Enums\BackupFileStatus;
|
||||||
|
use App\Enums\StorageProvider as StorageProviderAlias;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
@ -46,19 +48,11 @@ protected static function booted(): void
|
|||||||
->where('id', '<=', $lastFileToKeep->id)
|
->where('id', '<=', $lastFileToKeep->id)
|
||||||
->get();
|
->get();
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
$file->delete();
|
app(ManageBackupFile::class)->delete($file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
static::deleting(function (BackupFile $backupFile) {
|
|
||||||
$provider = $backupFile->backup->storage->provider();
|
|
||||||
$path = $backupFile->storagePath();
|
|
||||||
dispatch(function () use ($provider, $path) {
|
|
||||||
$provider->delete([$path]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static array $statusColors = [
|
public static array $statusColors = [
|
||||||
@ -71,18 +65,52 @@ protected static function booted(): void
|
|||||||
BackupFileStatus::RESTORE_FAILED => 'danger',
|
BackupFileStatus::RESTORE_FAILED => 'danger',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function isAvailable(): bool
|
||||||
|
{
|
||||||
|
return ! in_array(
|
||||||
|
$this->status,
|
||||||
|
[BackupFileStatus::CREATING, BackupFileStatus::FAILED, BackupFileStatus::DELETING]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isLocal(): bool
|
||||||
|
{
|
||||||
|
return $this->backup->storage->provider === StorageProviderAlias::LOCAL;
|
||||||
|
}
|
||||||
|
|
||||||
public function backup(): BelongsTo
|
public function backup(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Backup::class);
|
return $this->belongsTo(Backup::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function path(): string
|
public function tempPath(): string
|
||||||
{
|
{
|
||||||
return '/home/'.$this->backup->server->getSshUser().'/'.$this->name.'.zip';
|
return '/home/'.$this->backup->server->getSshUser().'/'.$this->name.'.zip';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function storagePath(): string
|
public function path(): string
|
||||||
{
|
{
|
||||||
return '/'.$this->backup->database->name.'/'.$this->name.'.zip';
|
$storage = $this->backup->storage;
|
||||||
|
$databaseName = $this->backup->database->name;
|
||||||
|
|
||||||
|
return match ($storage->provider) {
|
||||||
|
StorageProviderAlias::DROPBOX => '/'.$databaseName.'/'.$this->name.'.zip',
|
||||||
|
StorageProviderAlias::S3, StorageProviderAlias::FTP, StorageProviderAlias::LOCAL => implode('/', [
|
||||||
|
rtrim($storage->credentials['path'], '/'),
|
||||||
|
$databaseName,
|
||||||
|
$this->name.'.zip',
|
||||||
|
]),
|
||||||
|
default => '',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteFile(): void
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$storage = $this->backup->storage->provider()->ssh($this->backup->server);
|
||||||
|
$storage->delete($this->path());
|
||||||
|
} finally {
|
||||||
|
$this->delete();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,15 @@ class DeploymentScript extends AbstractModel
|
|||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
protected static function boot(): void
|
||||||
|
{
|
||||||
|
parent::boot();
|
||||||
|
|
||||||
|
static::saving(function ($deploymentScript) {
|
||||||
|
$deploymentScript->content = str_replace("\r\n", "\n", $deploymentScript->content);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'site_id',
|
'site_id',
|
||||||
'name',
|
'name',
|
||||||
|
44
app/Models/LoadBalancerServer.php
Normal file
44
app/Models/LoadBalancerServer.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @property int $load_balancer_id
|
||||||
|
* @property string $ip
|
||||||
|
* @property int $port
|
||||||
|
* @property int $weight
|
||||||
|
* @property bool $backup
|
||||||
|
* @property Site $loadBalancer
|
||||||
|
*/
|
||||||
|
class LoadBalancerServer extends AbstractModel
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'load_balancer_id',
|
||||||
|
'ip',
|
||||||
|
'port',
|
||||||
|
'weight',
|
||||||
|
'backup',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'load_balancer_id' => 'integer',
|
||||||
|
'port' => 'integer',
|
||||||
|
'weight' => 'integer',
|
||||||
|
'backup' => 'boolean',
|
||||||
|
];
|
||||||
|
|
||||||
|
public function loadBalancer(): BelongsTo
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Site::class, 'load_balancer_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function server(): ?Server
|
||||||
|
{
|
||||||
|
return $this->loadBalancer->project->servers()->where('local_ip', $this->ip)->first();
|
||||||
|
}
|
||||||
|
}
|
@ -267,6 +267,15 @@ public function getSshUser(): string
|
|||||||
return config('core.ssh_user');
|
return config('core.ssh_user');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSshUsers(): array
|
||||||
|
{
|
||||||
|
$users = ['root', $this->getSshUser()];
|
||||||
|
$isolatedSites = $this->sites()->pluck('user')->toArray();
|
||||||
|
$users = array_merge($users, $isolatedSites);
|
||||||
|
|
||||||
|
return array_unique($users);
|
||||||
|
}
|
||||||
|
|
||||||
public function service($type, $version = null): ?Service
|
public function service($type, $version = null): ?Service
|
||||||
{
|
{
|
||||||
/* @var Service $service */
|
/* @var Service $service */
|
||||||
|
@ -5,11 +5,7 @@
|
|||||||
use App\Actions\Service\Manage;
|
use App\Actions\Service\Manage;
|
||||||
use App\Enums\ServiceStatus;
|
use App\Enums\ServiceStatus;
|
||||||
use App\Exceptions\ServiceInstallationFailed;
|
use App\Exceptions\ServiceInstallationFailed;
|
||||||
use App\SSH\Services\Database\Database as DatabaseAlias;
|
|
||||||
use App\SSH\Services\PHP\PHP as PHPAlias;
|
|
||||||
use App\SSH\Services\ProcessManager\ProcessManager;
|
|
||||||
use App\SSH\Services\ServiceInterface;
|
use App\SSH\Services\ServiceInterface;
|
||||||
use App\SSH\Services\WebServer\WebServer as WebServerAlias;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@ -79,9 +75,6 @@ public function server(): BelongsTo
|
|||||||
return $this->belongsTo(Server::class);
|
return $this->belongsTo(Server::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return ProcessManager|DatabaseAlias|PHPAlias|WebServerAlias
|
|
||||||
*/
|
|
||||||
public function handler(): ServiceInterface
|
public function handler(): ServiceInterface
|
||||||
{
|
{
|
||||||
$handler = config('core.service_handlers')[$this->name];
|
$handler = config('core.service_handlers')[$this->name];
|
||||||
|
@ -3,10 +3,12 @@
|
|||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use App\Enums\SiteStatus;
|
use App\Enums\SiteStatus;
|
||||||
|
use App\Enums\SslStatus;
|
||||||
use App\Exceptions\FailedToDestroyGitHook;
|
use App\Exceptions\FailedToDestroyGitHook;
|
||||||
use App\Exceptions\SourceControlIsNotConnected;
|
use App\Exceptions\SourceControlIsNotConnected;
|
||||||
use App\Exceptions\SSHError;
|
use App\Exceptions\SSHError;
|
||||||
use App\SiteTypes\SiteType;
|
use App\SiteTypes\SiteType;
|
||||||
|
use App\SSH\Services\PHP\PHP;
|
||||||
use App\SSH\Services\Webserver\Webserver;
|
use App\SSH\Services\Webserver\Webserver;
|
||||||
use App\Traits\HasProjectThroughServer;
|
use App\Traits\HasProjectThroughServer;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
@ -14,6 +16,7 @@
|
|||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||||
use Illuminate\Database\Eloquent\Relations\MorphToMany;
|
use Illuminate\Database\Eloquent\Relations\MorphToMany;
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -33,6 +36,8 @@
|
|||||||
* @property string $status
|
* @property string $status
|
||||||
* @property int $port
|
* @property int $port
|
||||||
* @property int $progress
|
* @property int $progress
|
||||||
|
* @property string $user
|
||||||
|
* @property bool $force_ssl
|
||||||
* @property Server $server
|
* @property Server $server
|
||||||
* @property ServerLog[] $logs
|
* @property ServerLog[] $logs
|
||||||
* @property Deployment[] $deployments
|
* @property Deployment[] $deployments
|
||||||
@ -43,6 +48,7 @@
|
|||||||
* @property ?Ssl $activeSsl
|
* @property ?Ssl $activeSsl
|
||||||
* @property string $ssh_key_name
|
* @property string $ssh_key_name
|
||||||
* @property ?SourceControl $sourceControl
|
* @property ?SourceControl $sourceControl
|
||||||
|
* @property Collection<LoadBalancerServer> $loadBalancerServers
|
||||||
*
|
*
|
||||||
* @TODO: Add nodejs_version column
|
* @TODO: Add nodejs_version column
|
||||||
*/
|
*/
|
||||||
@ -68,6 +74,8 @@ class Site extends AbstractModel
|
|||||||
'status',
|
'status',
|
||||||
'port',
|
'port',
|
||||||
'progress',
|
'progress',
|
||||||
|
'user',
|
||||||
|
'force_ssl',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
@ -77,6 +85,7 @@ class Site extends AbstractModel
|
|||||||
'progress' => 'integer',
|
'progress' => 'integer',
|
||||||
'aliases' => 'array',
|
'aliases' => 'array',
|
||||||
'source_control_id' => 'integer',
|
'source_control_id' => 'integer',
|
||||||
|
'force_ssl' => 'boolean',
|
||||||
];
|
];
|
||||||
|
|
||||||
public static array $statusColors = [
|
public static array $statusColors = [
|
||||||
@ -195,11 +204,22 @@ public function php(): ?Service
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function changePHPVersion($version): void
|
public function changePHPVersion($version): void
|
||||||
{
|
{
|
||||||
/** @var Webserver $handler */
|
/** @var Webserver $handler */
|
||||||
$handler = $this->server->webserver()->handler();
|
$handler = $this->server->webserver()->handler();
|
||||||
$handler->changePHPVersion($this, $version);
|
$handler->changePHPVersion($this, $version);
|
||||||
|
|
||||||
|
if ($this->isIsolated()) {
|
||||||
|
/** @var PHP $php */
|
||||||
|
$php = $this->server->php()->handler();
|
||||||
|
$php->removeFpmPool($this->user, $this->php_version, $this->id);
|
||||||
|
$php->createFpmPool($this->user, $version, $this->id);
|
||||||
|
}
|
||||||
|
|
||||||
$this->php_version = $version;
|
$this->php_version = $version;
|
||||||
$this->save();
|
$this->save();
|
||||||
}
|
}
|
||||||
@ -208,6 +228,8 @@ public function activeSsl(): HasOne
|
|||||||
{
|
{
|
||||||
return $this->hasOne(Ssl::class)
|
return $this->hasOne(Ssl::class)
|
||||||
->where('expires_at', '>=', now())
|
->where('expires_at', '>=', now())
|
||||||
|
->where('status', SslStatus::CREATED)
|
||||||
|
->where('is_active', true)
|
||||||
->orderByDesc('id');
|
->orderByDesc('id');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -290,11 +312,6 @@ public function getEnv(): string
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hasSSL(): bool
|
|
||||||
{
|
|
||||||
return $this->ssls->isNotEmpty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function environmentVariables(?Deployment $deployment = null): array
|
public function environmentVariables(?Deployment $deployment = null): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
@ -307,4 +324,22 @@ public function environmentVariables(?Deployment $deployment = null): array
|
|||||||
'PHP_PATH' => '/usr/bin/php'.$this->php_version,
|
'PHP_PATH' => '/usr/bin/php'.$this->php_version,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isIsolated(): bool
|
||||||
|
{
|
||||||
|
return $this->user != $this->server->getSshUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function webserver(): Webserver
|
||||||
|
{
|
||||||
|
/** @var Webserver $webserver */
|
||||||
|
$webserver = $this->server->webserver()->handler();
|
||||||
|
|
||||||
|
return $webserver;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadBalancerServers(): HasMany
|
||||||
|
{
|
||||||
|
return $this->hasMany(LoadBalancerServer::class, 'load_balancer_id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,9 +17,13 @@
|
|||||||
* @property Carbon $expires_at
|
* @property Carbon $expires_at
|
||||||
* @property string $status
|
* @property string $status
|
||||||
* @property Site $site
|
* @property Site $site
|
||||||
* @property string $ca_path
|
|
||||||
* @property ?array $domains
|
* @property ?array $domains
|
||||||
* @property int $log_id
|
* @property int $log_id
|
||||||
|
* @property string $email
|
||||||
|
* @property bool $is_active
|
||||||
|
* @property string $certificate_path
|
||||||
|
* @property string $pk_path
|
||||||
|
* @property string $ca_path
|
||||||
* @property ?ServerLog $log
|
* @property ?ServerLog $log
|
||||||
*/
|
*/
|
||||||
class Ssl extends AbstractModel
|
class Ssl extends AbstractModel
|
||||||
@ -36,6 +40,11 @@ class Ssl extends AbstractModel
|
|||||||
'status',
|
'status',
|
||||||
'domains',
|
'domains',
|
||||||
'log_id',
|
'log_id',
|
||||||
|
'email',
|
||||||
|
'is_active',
|
||||||
|
'certificate_path',
|
||||||
|
'pk_path',
|
||||||
|
'ca_path',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
@ -46,6 +55,7 @@ class Ssl extends AbstractModel
|
|||||||
'expires_at' => 'datetime',
|
'expires_at' => 'datetime',
|
||||||
'domains' => 'array',
|
'domains' => 'array',
|
||||||
'log_id' => 'integer',
|
'log_id' => 'integer',
|
||||||
|
'is_active' => 'boolean',
|
||||||
];
|
];
|
||||||
|
|
||||||
public static array $statusColors = [
|
public static array $statusColors = [
|
||||||
@ -60,58 +70,6 @@ public function site(): BelongsTo
|
|||||||
return $this->belongsTo(Site::class);
|
return $this->belongsTo(Site::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCertsDirectoryPath(): ?string
|
|
||||||
{
|
|
||||||
if ($this->type == 'letsencrypt') {
|
|
||||||
return '/etc/letsencrypt/live/'.$this->site->domain;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type == 'custom') {
|
|
||||||
return '/etc/ssl/'.$this->site->domain;
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCertificatePath(): ?string
|
|
||||||
{
|
|
||||||
if ($this->type == 'letsencrypt') {
|
|
||||||
return $this->certificate;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type == 'custom') {
|
|
||||||
return $this->getCertsDirectoryPath().'/cert.pem';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getPkPath(): ?string
|
|
||||||
{
|
|
||||||
if ($this->type == 'letsencrypt') {
|
|
||||||
return $this->pk;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type == 'custom') {
|
|
||||||
return $this->getCertsDirectoryPath().'/privkey.pem';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCaPath(): ?string
|
|
||||||
{
|
|
||||||
if ($this->type == 'letsencrypt') {
|
|
||||||
return $this->ca;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type == 'custom') {
|
|
||||||
return $this->getCertsDirectoryPath().'/fullchain.pem';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function validateSetup(string $result): bool
|
public function validateSetup(string $result): bool
|
||||||
{
|
{
|
||||||
if (! Str::contains($result, 'Successfully received certificate')) {
|
if (! Str::contains($result, 'Successfully received certificate')) {
|
||||||
@ -119,8 +77,8 @@ public function validateSetup(string $result): bool
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->type == 'letsencrypt') {
|
if ($this->type == 'letsencrypt') {
|
||||||
$this->certificate = $this->getCertsDirectoryPath().'/fullchain.pem';
|
$this->certificate_path = '/etc/letsencrypt/live/'.$this->id.'/fullchain.pem';
|
||||||
$this->pk = $this->getCertsDirectoryPath().'/privkey.pem';
|
$this->pk_path = '/etc/letsencrypt/live/'.$this->id.'/privkey.pem';
|
||||||
$this->save();
|
$this->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
50
app/Notifications/DeploymentCompleted.php
Normal file
50
app/Notifications/DeploymentCompleted.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Notifications;
|
||||||
|
|
||||||
|
use App\Models\Deployment;
|
||||||
|
use App\Models\Site;
|
||||||
|
use Illuminate\Notifications\Messages\MailMessage;
|
||||||
|
|
||||||
|
class DeploymentCompleted extends AbstractNotification
|
||||||
|
{
|
||||||
|
protected Deployment $deployment;
|
||||||
|
|
||||||
|
protected Site $site;
|
||||||
|
|
||||||
|
public function __construct(Deployment $deployment, Site $site)
|
||||||
|
{
|
||||||
|
$this->deployment = $deployment;
|
||||||
|
$this->site = $site;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function rawText(): string
|
||||||
|
{
|
||||||
|
return __('Deployment for site [:site] has completed with status: :status', [
|
||||||
|
'site' => $this->site->domain,
|
||||||
|
'status' => $this->deployment->status,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toEmail(object $notifiable): MailMessage
|
||||||
|
{
|
||||||
|
return (new MailMessage)
|
||||||
|
->subject(__('Deployment Completed'))
|
||||||
|
->line('Deployment for site ['.$this->site->domain.'] has completed with status: '.$this->deployment->status);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toSlack(object $notifiable): string
|
||||||
|
{
|
||||||
|
return $this->rawText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toDiscord(object $notifiable): string
|
||||||
|
{
|
||||||
|
return $this->rawText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toTelegram(object $notifiable): string
|
||||||
|
{
|
||||||
|
return $this->rawText();
|
||||||
|
}
|
||||||
|
}
|
@ -2,19 +2,20 @@
|
|||||||
|
|
||||||
namespace App\SSH\Composer;
|
namespace App\SSH\Composer;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
use App\SSH\HasScripts;
|
|
||||||
|
|
||||||
class Composer
|
class Composer
|
||||||
{
|
{
|
||||||
use HasScripts;
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function installDependencies(Site $site): void
|
public function installDependencies(Site $site): void
|
||||||
{
|
{
|
||||||
$site->server->ssh()->exec(
|
$site->server->ssh($site->user)->exec(
|
||||||
$this->getScript('composer-install.sh', [
|
view('ssh.composer.composer-install', [
|
||||||
'path' => $site->path,
|
'path' => $site->path,
|
||||||
'php_version' => $site->php_version,
|
'phpVersion' => $site->php_version,
|
||||||
]),
|
]),
|
||||||
'composer-install',
|
'composer-install',
|
||||||
$site->id
|
$site->id
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
if ! cd __path__; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! php__php_version__ /usr/local/bin/composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -2,26 +2,24 @@
|
|||||||
|
|
||||||
namespace App\SSH\Cron;
|
namespace App\SSH\Cron;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
|
|
||||||
class Cron
|
class Cron
|
||||||
{
|
{
|
||||||
public function __construct(protected Server $server) {}
|
public function __construct(protected Server $server) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function update(string $user, string $cron): void
|
public function update(string $user, string $cron): void
|
||||||
{
|
{
|
||||||
$command = <<<EOD
|
$this->server->ssh()->exec(
|
||||||
if ! echo '$cron' | sudo -u $user crontab -; then
|
view('ssh.cron.update', [
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
'cron' => $cron,
|
||||||
fi
|
'user' => $user,
|
||||||
|
]),
|
||||||
if ! sudo -u $user crontab -l; then
|
'update-cron'
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
);
|
||||||
fi
|
|
||||||
|
|
||||||
echo 'cron updated!'
|
|
||||||
EOD;
|
|
||||||
|
|
||||||
$this->server->ssh()->exec($command, 'update-cron');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,17 +2,18 @@
|
|||||||
|
|
||||||
namespace App\SSH\Git;
|
namespace App\SSH\Git;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
use App\SSH\HasScripts;
|
|
||||||
|
|
||||||
class Git
|
class Git
|
||||||
{
|
{
|
||||||
use HasScripts;
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function clone(Site $site): void
|
public function clone(Site $site): void
|
||||||
{
|
{
|
||||||
$site->server->ssh()->exec(
|
$site->server->ssh($site->user)->exec(
|
||||||
$this->getScript('clone.sh', [
|
view('ssh.git.clone', [
|
||||||
'host' => str($site->getFullRepositoryUrl())->after('@')->before('-'),
|
'host' => str($site->getFullRepositoryUrl())->after('@')->before('-'),
|
||||||
'repo' => $site->getFullRepositoryUrl(),
|
'repo' => $site->getFullRepositoryUrl(),
|
||||||
'path' => $site->path,
|
'path' => $site->path,
|
||||||
@ -24,10 +25,13 @@ public function clone(Site $site): void
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function checkout(Site $site): void
|
public function checkout(Site $site): void
|
||||||
{
|
{
|
||||||
$site->server->ssh()->exec(
|
$site->server->ssh($site->user)->exec(
|
||||||
$this->getScript('checkout.sh', [
|
view('ssh.git.checkout', [
|
||||||
'path' => $site->path,
|
'path' => $site->path,
|
||||||
'branch' => $site->branch,
|
'branch' => $site->branch,
|
||||||
]),
|
]),
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
echo "Host __host__-__key__
|
|
||||||
Hostname __host__
|
|
||||||
IdentityFile=~/.ssh/__key__" >> ~/.ssh/config
|
|
||||||
|
|
||||||
ssh-keyscan -H __host__ >> ~/.ssh/known_hosts
|
|
||||||
|
|
||||||
rm -rf __path__
|
|
||||||
|
|
||||||
if ! git config --global core.fileMode false; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! git clone -b __branch__ __repo__ __path__; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! find __path__ -type d -exec chmod 755 {} \;; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! find __path__ -type f -exec chmod 644 {} \;; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! cd __path__ && git config core.fileMode false; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -1,20 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\SSH;
|
|
||||||
|
|
||||||
use ReflectionClass;
|
|
||||||
|
|
||||||
trait HasScripts
|
|
||||||
{
|
|
||||||
protected function getScript(string $name, array $vars = []): string
|
|
||||||
{
|
|
||||||
$reflector = new ReflectionClass($this);
|
|
||||||
$scriptsDir = dirname($reflector->getFileName()).'/scripts';
|
|
||||||
$script = file_get_contents($scriptsDir.'/'.$name);
|
|
||||||
foreach ($vars as $key => $value) {
|
|
||||||
$script = str_replace('__'.$key.'__', $value, $script);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $script;
|
|
||||||
}
|
|
||||||
}
|
|
@ -2,10 +2,11 @@
|
|||||||
|
|
||||||
namespace App\SSH\OS;
|
namespace App\SSH\OS;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Exceptions\SSHUploadFailed;
|
use App\Exceptions\SSHUploadFailed;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use App\Models\ServerLog;
|
use App\Models\ServerLog;
|
||||||
use App\SSH\HasScripts;
|
use App\Models\Site;
|
||||||
use Illuminate\Filesystem\FilesystemAdapter;
|
use Illuminate\Filesystem\FilesystemAdapter;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@ -13,30 +14,40 @@
|
|||||||
|
|
||||||
class OS
|
class OS
|
||||||
{
|
{
|
||||||
use HasScripts;
|
|
||||||
|
|
||||||
public function __construct(protected Server $server) {}
|
public function __construct(protected Server $server) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function installDependencies(): void
|
public function installDependencies(): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('install-dependencies.sh'),
|
view('ssh.os.install-dependencies', [
|
||||||
|
'name' => $this->server->creator->name,
|
||||||
|
'email' => $this->server->creator->email,
|
||||||
|
]),
|
||||||
'install-dependencies'
|
'install-dependencies'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function upgrade(): void
|
public function upgrade(): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('upgrade.sh'),
|
view('ssh.os.upgrade'),
|
||||||
'upgrade'
|
'upgrade'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function availableUpdates(): int
|
public function availableUpdates(): int
|
||||||
{
|
{
|
||||||
$result = $this->server->ssh()->exec(
|
$result = $this->server->ssh()->exec(
|
||||||
$this->getScript('available-updates.sh'),
|
view('ssh.os.available-updates'),
|
||||||
'check-available-updates'
|
'check-available-updates'
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -46,10 +57,13 @@ public function availableUpdates(): int
|
|||||||
return max($availableUpdates, 0);
|
return max($availableUpdates, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function createUser(string $user, string $password, string $key): void
|
public function createUser(string $user, string $password, string $key): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('create-user.sh', [
|
view('ssh.os.create-user', [
|
||||||
'user' => $user,
|
'user' => $user,
|
||||||
'password' => $password,
|
'password' => $password,
|
||||||
'key' => $key,
|
'key' => $key,
|
||||||
@ -58,29 +72,68 @@ public function createUser(string $user, string $password, string $key): void
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function createIsolatedUser(string $user, string $password, int $site_id): void
|
||||||
|
{
|
||||||
|
$this->server->ssh()->exec(
|
||||||
|
view('ssh.os.create-isolated-user', [
|
||||||
|
'user' => $user,
|
||||||
|
'serverUser' => $this->server->getSshUser(),
|
||||||
|
'password' => $password,
|
||||||
|
]),
|
||||||
|
'create-isolated-user',
|
||||||
|
$site_id
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function deleteIsolatedUser(string $user): void
|
||||||
|
{
|
||||||
|
$this->server->ssh()->exec(
|
||||||
|
view('ssh.os.delete-isolated-user', [
|
||||||
|
'user' => $user,
|
||||||
|
'serverUser' => $this->server->getSshUser(),
|
||||||
|
]),
|
||||||
|
'delete-isolated-user'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function getPublicKey(string $user): string
|
public function getPublicKey(string $user): string
|
||||||
{
|
{
|
||||||
return $this->server->ssh()->exec(
|
return $this->server->ssh()->exec(
|
||||||
$this->getScript('read-file.sh', [
|
view('ssh.os.read-file', [
|
||||||
'path' => '/home/'.$user.'/.ssh/id_rsa.pub',
|
'path' => '/home/'.$user.'/.ssh/id_rsa.pub',
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function deploySSHKey(string $key): void
|
public function deploySSHKey(string $key): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('deploy-ssh-key.sh', [
|
view('ssh.os.deploy-ssh-key', [
|
||||||
'key' => $key,
|
'key' => $key,
|
||||||
]),
|
]),
|
||||||
'deploy-ssh-key'
|
'deploy-ssh-key'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function deleteSSHKey(string $key): void
|
public function deleteSSHKey(string $key): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('delete-ssh-key.sh', [
|
view('ssh.os.delete-ssh-key', [
|
||||||
'key' => $key,
|
'key' => $key,
|
||||||
'user' => $this->server->getSshUser(),
|
'user' => $this->server->getSshUser(),
|
||||||
]),
|
]),
|
||||||
@ -88,29 +141,39 @@ public function deleteSSHKey(string $key): void
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateSSHKey(string $name): void
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function generateSSHKey(string $name, ?Site $site = null): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$site->server->ssh($site->user)->exec(
|
||||||
$this->getScript('generate-ssh-key.sh', [
|
view('ssh.os.generate-ssh-key', [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
]),
|
]),
|
||||||
'generate-ssh-key'
|
'generate-ssh-key',
|
||||||
|
$site?->id
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function readSSHKey(string $name): string
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function readSSHKey(string $name, ?Site $site = null): string
|
||||||
{
|
{
|
||||||
return $this->server->ssh()->exec(
|
return $site->server->ssh($site->user)->exec(
|
||||||
$this->getScript('read-ssh-key.sh', [
|
view('ssh.os.read-ssh-key', [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function reboot(): void
|
public function reboot(): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('reboot.sh'),
|
view('ssh.os.reboot'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,25 +198,34 @@ public function editFile(string $path, ?string $content = null): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function readFile(string $path): string
|
public function readFile(string $path): string
|
||||||
{
|
{
|
||||||
return $this->server->ssh()->exec(
|
return $this->server->ssh()->exec(
|
||||||
$this->getScript('read-file.sh', [
|
view('ssh.os.read-file', [
|
||||||
'path' => $path,
|
'path' => $path,
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function tail(string $path, int $lines): string
|
public function tail(string $path, int $lines): string
|
||||||
{
|
{
|
||||||
return $this->server->ssh()->exec(
|
return $this->server->ssh()->exec(
|
||||||
$this->getScript('tail.sh', [
|
view('ssh.os.tail', [
|
||||||
'path' => $path,
|
'path' => $path,
|
||||||
'lines' => $lines,
|
'lines' => $lines,
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function runScript(string $path, string $script, ?ServerLog $serverLog, ?string $user = null, ?array $variables = []): ServerLog
|
public function runScript(string $path, string $script, ?ServerLog $serverLog, ?string $user = null, ?array $variables = []): ServerLog
|
||||||
{
|
{
|
||||||
$ssh = $this->server->ssh($user);
|
$ssh = $this->server->ssh($user);
|
||||||
@ -162,9 +234,9 @@ public function runScript(string $path, string $script, ?ServerLog $serverLog, ?
|
|||||||
}
|
}
|
||||||
$command = '';
|
$command = '';
|
||||||
foreach ($variables as $key => $variable) {
|
foreach ($variables as $key => $variable) {
|
||||||
$command .= "$key=$variable".PHP_EOL;
|
$command .= "$key=$variable\n";
|
||||||
}
|
}
|
||||||
$command .= $this->getScript('run-script.sh', [
|
$command .= view('ssh.os.run-script', [
|
||||||
'path' => $path,
|
'path' => $path,
|
||||||
'script' => $script,
|
'script' => $script,
|
||||||
]);
|
]);
|
||||||
@ -175,16 +247,22 @@ public function runScript(string $path, string $script, ?ServerLog $serverLog, ?
|
|||||||
return $ssh->log;
|
return $ssh->log;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function download(string $url, string $path): string
|
public function download(string $url, string $path): string
|
||||||
{
|
{
|
||||||
return $this->server->ssh()->exec(
|
return $this->server->ssh()->exec(
|
||||||
$this->getScript('download.sh', [
|
view('ssh.os.download', [
|
||||||
'url' => $url,
|
'url' => $url,
|
||||||
'path' => $path,
|
'path' => $path,
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function unzip(string $path): string
|
public function unzip(string $path): string
|
||||||
{
|
{
|
||||||
return $this->server->ssh()->exec(
|
return $this->server->ssh()->exec(
|
||||||
@ -192,18 +270,24 @@ public function unzip(string $path): string
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function cleanup(): void
|
public function cleanup(): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('cleanup.sh'),
|
view('ssh.os.cleanup'),
|
||||||
'cleanup'
|
'cleanup'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function resourceInfo(): array
|
public function resourceInfo(): array
|
||||||
{
|
{
|
||||||
$info = $this->server->ssh()->exec(
|
$info = $this->server->ssh()->exec(
|
||||||
$this->getScript('resource-info.sh'),
|
view('ssh.os.resource-info'),
|
||||||
);
|
);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
@ -217,6 +301,19 @@ public function resourceInfo(): array
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function deleteFile(string $path): void
|
||||||
|
{
|
||||||
|
$this->server->ssh()->exec(
|
||||||
|
view('ssh.os.delete-file', [
|
||||||
|
'path' => $path,
|
||||||
|
]),
|
||||||
|
'delete-file'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private function deleteTempFile(string $name): void
|
private function deleteTempFile(string $name): void
|
||||||
{
|
{
|
||||||
if (Storage::disk('local')->exists($name)) {
|
if (Storage::disk('local')->exists($name)) {
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
echo "__key__" | sudo tee -a /root/.ssh/authorized_keys
|
|
||||||
sudo useradd -p $(openssl passwd -1 __password__) __user__
|
|
||||||
sudo usermod -aG sudo __user__
|
|
||||||
echo "__user__ ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers
|
|
||||||
sudo mkdir /home/__user__
|
|
||||||
sudo mkdir /home/__user__/.ssh
|
|
||||||
echo "__key__" | sudo tee -a /home/__user__/.ssh/authorized_keys
|
|
||||||
sudo chown -R __user__:__user__ /home/__user__
|
|
||||||
sudo chsh -s /bin/bash __user__
|
|
||||||
sudo su - __user__ -c "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa" <<< y
|
|
@ -1,3 +0,0 @@
|
|||||||
if ! echo '__key__' | sudo tee -a ~/.ssh/authorized_keys; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -1,3 +0,0 @@
|
|||||||
if ! wget __url__ -O __path__; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -1 +0,0 @@
|
|||||||
ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/__name__
|
|
@ -1 +0,0 @@
|
|||||||
[ -f __path__ ] && sudo cat __path__
|
|
@ -1 +0,0 @@
|
|||||||
cat ~/.ssh/__name__.pub
|
|
@ -1 +0,0 @@
|
|||||||
sudo tail -n __lines__ __path__
|
|
@ -2,17 +2,18 @@
|
|||||||
|
|
||||||
namespace App\SSH\PHPMyAdmin;
|
namespace App\SSH\PHPMyAdmin;
|
||||||
|
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
use App\SSH\HasScripts;
|
|
||||||
|
|
||||||
class PHPMyAdmin
|
class PHPMyAdmin
|
||||||
{
|
{
|
||||||
use HasScripts;
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function install(Site $site): void
|
public function install(Site $site): void
|
||||||
{
|
{
|
||||||
$site->server->ssh()->exec(
|
$site->server->ssh($site->user)->exec(
|
||||||
$this->getScript('install.sh', [
|
view('ssh.phpmyadmin.install', [
|
||||||
'version' => $site->type_data['version'],
|
'version' => $site->type_data['version'],
|
||||||
'path' => $site->path,
|
'path' => $site->path,
|
||||||
]),
|
]),
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
sudo rm -rf phpmyadmin
|
|
||||||
|
|
||||||
sudo rm -rf __path__
|
|
||||||
|
|
||||||
if ! wget https://files.phpmyadmin.net/phpMyAdmin/__version__/phpMyAdmin-__version__-all-languages.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! unzip phpMyAdmin-__version__-all-languages.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! rm -rf phpMyAdmin-__version__-all-languages.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! mv phpMyAdmin-__version__-all-languages __path__; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! mv __path__/config.sample.inc.php __path__/config.inc.php; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "PHPMyAdmin installed!"
|
|
@ -3,16 +3,18 @@
|
|||||||
namespace App\SSH\Services\Database;
|
namespace App\SSH\Services\Database;
|
||||||
|
|
||||||
use App\Enums\BackupStatus;
|
use App\Enums\BackupStatus;
|
||||||
|
use App\Exceptions\ServiceInstallationFailed;
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\BackupFile;
|
use App\Models\BackupFile;
|
||||||
use App\SSH\HasScripts;
|
|
||||||
use App\SSH\Services\AbstractService;
|
use App\SSH\Services\AbstractService;
|
||||||
use Closure;
|
use Closure;
|
||||||
|
|
||||||
abstract class AbstractDatabase extends AbstractService implements Database
|
abstract class AbstractDatabase extends AbstractService implements Database
|
||||||
{
|
{
|
||||||
use HasScripts;
|
protected function getScriptView(string $script): string
|
||||||
|
{
|
||||||
abstract protected function getScriptsDir(): string;
|
return 'ssh.services.database.'.$this->service->name.'.'.$script;
|
||||||
|
}
|
||||||
|
|
||||||
public function creationRules(array $input): array
|
public function creationRules(array $input): array
|
||||||
{
|
{
|
||||||
@ -29,10 +31,14 @@ function (string $attribute, mixed $value, Closure $fail) {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws ServiceInstallationFailed
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function install(): void
|
public function install(): void
|
||||||
{
|
{
|
||||||
$version = $this->service->version;
|
$version = str_replace('.', '', $this->service->version);
|
||||||
$command = $this->getScript($this->service->name.'/install-'.$version.'.sh');
|
$command = view($this->getScriptView('install-'.$version));
|
||||||
$this->service->server->ssh()->exec($command, 'install-'.$this->service->name.'-'.$version);
|
$this->service->server->ssh()->exec($command, 'install-'.$this->service->name.'-'.$version);
|
||||||
$status = $this->service->server->systemd()->status($this->service->unit);
|
$status = $this->service->server->systemd()->status($this->service->unit);
|
||||||
$this->service->validateInstall($status);
|
$this->service->validateInstall($status);
|
||||||
@ -63,38 +69,50 @@ function (string $attribute, mixed $value, Closure $fail) {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function uninstall(): void
|
public function uninstall(): void
|
||||||
{
|
{
|
||||||
$version = $this->service->version;
|
$version = $this->service->version;
|
||||||
$command = $this->getScript($this->service->name.'/uninstall.sh');
|
$command = view($this->getScriptView('uninstall'));
|
||||||
$this->service->server->ssh()->exec($command, 'uninstall-'.$this->service->name.'-'.$version);
|
$this->service->server->ssh()->exec($command, 'uninstall-'.$this->service->name.'-'.$version);
|
||||||
$this->service->server->os()->cleanup();
|
$this->service->server->os()->cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function create(string $name): void
|
public function create(string $name): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/create.sh', [
|
view($this->getScriptView('create'), [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
]),
|
]),
|
||||||
'create-database'
|
'create-database'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function delete(string $name): void
|
public function delete(string $name): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/delete.sh', [
|
view($this->getScriptView('delete'), [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
]),
|
]),
|
||||||
'delete-database'
|
'delete-database'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function createUser(string $username, string $password, string $host): void
|
public function createUser(string $username, string $password, string $host): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/create-user.sh', [
|
view($this->getScriptView('create-user'), [
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
'password' => $password,
|
'password' => $password,
|
||||||
'host' => $host,
|
'host' => $host,
|
||||||
@ -103,10 +121,13 @@ public function createUser(string $username, string $password, string $host): vo
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function deleteUser(string $username, string $host): void
|
public function deleteUser(string $username, string $host): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/delete-user.sh', [
|
view($this->getScriptView('delete-user'), [
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
'host' => $host,
|
'host' => $host,
|
||||||
]),
|
]),
|
||||||
@ -114,6 +135,9 @@ public function deleteUser(string $username, string $host): void
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function link(string $username, string $host, array $databases): void
|
public function link(string $username, string $host, array $databases): void
|
||||||
{
|
{
|
||||||
$ssh = $this->service->server->ssh();
|
$ssh = $this->service->server->ssh();
|
||||||
@ -121,7 +145,7 @@ public function link(string $username, string $host, array $databases): void
|
|||||||
|
|
||||||
foreach ($databases as $database) {
|
foreach ($databases as $database) {
|
||||||
$ssh->exec(
|
$ssh->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/link.sh', [
|
view($this->getScriptView('link'), [
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
'host' => $host,
|
'host' => $host,
|
||||||
'database' => $database,
|
'database' => $database,
|
||||||
@ -132,12 +156,15 @@ public function link(string $username, string $host, array $databases): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function unlink(string $username, string $host): void
|
public function unlink(string $username, string $host): void
|
||||||
{
|
{
|
||||||
$version = $this->service->version;
|
$version = $this->service->version;
|
||||||
|
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/unlink.sh', [
|
view($this->getScriptView('unlink'), [
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
'host' => $host,
|
'host' => $host,
|
||||||
'version' => $version,
|
'version' => $version,
|
||||||
@ -146,11 +173,14 @@ public function unlink(string $username, string $host): void
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function runBackup(BackupFile $backupFile): void
|
public function runBackup(BackupFile $backupFile): void
|
||||||
{
|
{
|
||||||
// backup
|
// backup
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/backup.sh', [
|
view($this->getScriptView('backup'), [
|
||||||
'file' => $backupFile->name,
|
'file' => $backupFile->name,
|
||||||
'database' => $backupFile->backup->database->name,
|
'database' => $backupFile->backup->database->name,
|
||||||
]),
|
]),
|
||||||
@ -159,29 +189,32 @@ public function runBackup(BackupFile $backupFile): void
|
|||||||
|
|
||||||
// upload to storage
|
// upload to storage
|
||||||
$upload = $backupFile->backup->storage->provider()->ssh($this->service->server)->upload(
|
$upload = $backupFile->backup->storage->provider()->ssh($this->service->server)->upload(
|
||||||
|
$backupFile->tempPath(),
|
||||||
$backupFile->path(),
|
$backupFile->path(),
|
||||||
$backupFile->storagePath(),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// cleanup
|
// cleanup
|
||||||
$this->service->server->ssh()->exec('rm '.$backupFile->path());
|
$this->service->server->ssh()->exec('rm '.$backupFile->tempPath());
|
||||||
|
|
||||||
$backupFile->size = $upload['size'];
|
$backupFile->size = $upload['size'];
|
||||||
$backupFile->save();
|
$backupFile->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function restoreBackup(BackupFile $backupFile, string $database): void
|
public function restoreBackup(BackupFile $backupFile, string $database): void
|
||||||
{
|
{
|
||||||
// download
|
// download
|
||||||
$backupFile->backup->storage->provider()->ssh($this->service->server)->download(
|
$backupFile->backup->storage->provider()->ssh($this->service->server)->download(
|
||||||
$backupFile->storagePath(),
|
$backupFile->path(),
|
||||||
$backupFile->name.'.zip',
|
$backupFile->tempPath(),
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript($this->getScriptsDir().'/restore.sh', [
|
view($this->getScriptView('restore'), [
|
||||||
'database' => $database,
|
'database' => $database,
|
||||||
'file' => $backupFile->name,
|
'file' => rtrim($backupFile->tempPath(), '.zip'),
|
||||||
]),
|
]),
|
||||||
'restore-database'
|
'restore-database'
|
||||||
);
|
);
|
||||||
|
@ -4,8 +4,5 @@
|
|||||||
|
|
||||||
class Mariadb extends AbstractDatabase
|
class Mariadb extends AbstractDatabase
|
||||||
{
|
{
|
||||||
protected function getScriptsDir(): string
|
//
|
||||||
{
|
|
||||||
return 'mysql';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,5 @@
|
|||||||
|
|
||||||
class Mysql extends AbstractDatabase
|
class Mysql extends AbstractDatabase
|
||||||
{
|
{
|
||||||
protected function getScriptsDir(): string
|
//
|
||||||
{
|
|
||||||
return 'mysql';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,26 +2,7 @@
|
|||||||
|
|
||||||
namespace App\SSH\Services\Database;
|
namespace App\SSH\Services\Database;
|
||||||
|
|
||||||
use App\Exceptions\SSHError;
|
|
||||||
|
|
||||||
class Postgresql extends AbstractDatabase
|
class Postgresql extends AbstractDatabase
|
||||||
{
|
{
|
||||||
protected function getScriptsDir(): string
|
//
|
||||||
{
|
|
||||||
return 'postgresql';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws SSHError
|
|
||||||
*/
|
|
||||||
public function create(string $name): void
|
|
||||||
{
|
|
||||||
$this->service->server->ssh()->exec(
|
|
||||||
$this->getScript($this->getScriptsDir().'/create.sh', [
|
|
||||||
'name' => $name,
|
|
||||||
'ssh_user' => $this->service->server->ssh_user,
|
|
||||||
]),
|
|
||||||
'create-database'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
if ! sudo DEBIAN_FRONTEND=noninteractive mysqldump -u root __database__ > __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! DEBIAN_FRONTEND=noninteractive zip __file__.zip __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! rm __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -1,5 +0,0 @@
|
|||||||
if ! sudo mysql -e "CREATE DATABASE IF NOT EXISTS __name__ CHARACTER SET utf8 COLLATE utf8_general_ci"; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Command executed"
|
|
@ -1,9 +0,0 @@
|
|||||||
if ! sudo mysql -e "GRANT ALL PRIVILEGES ON __database__.* TO '__username__'@'__host__'"; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! sudo mysql -e "FLUSH PRIVILEGES"; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Linking to __database__ finished"
|
|
@ -1,11 +0,0 @@
|
|||||||
if ! DEBIAN_FRONTEND=noninteractive unzip __file__.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! sudo DEBIAN_FRONTEND=noninteractive mysql -u root __database__ < __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! rm __file__.sql __file__.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -1,5 +0,0 @@
|
|||||||
if ! sudo mysql -e "REVOKE ALL PRIVILEGES, GRANT OPTION FROM '__username__'@'__host__'"; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Command executed"
|
|
@ -1,19 +0,0 @@
|
|||||||
if ! sudo -u postgres pg_dump -d __database__ -f /var/lib/postgresql/__file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! sudo mv /var/lib/postgresql/__file__.sql /home/vito/__file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! sudo chown vito:vito /home/vito/__file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! DEBIAN_FRONTEND=noninteractive zip __file__.zip __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! rm __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -1,5 +0,0 @@
|
|||||||
if ! sudo -u postgres psql -c "CREATE ROLE \"__username__\" WITH LOGIN PASSWORD '__password__';"; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "User __username__ created"
|
|
@ -1,5 +0,0 @@
|
|||||||
if ! sudo -u postgres psql -c "CREATE DATABASE \"__name__\""; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Database __name__ created"
|
|
@ -1,5 +0,0 @@
|
|||||||
if ! sudo -u postgres psql -c "DROP USER \"__username__\""; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "User __username__ deleted"
|
|
@ -1,5 +0,0 @@
|
|||||||
if ! sudo -u postgres psql -c "DROP DATABASE \"__name__\""; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Database __name__ deleted"
|
|
@ -1,11 +0,0 @@
|
|||||||
if ! DEBIAN_FRONTEND=noninteractive unzip __file__.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! sudo -u postgres psql -d __database__ -f __file__.sql; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! rm __file__.sql __file__.zip; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -2,16 +2,17 @@
|
|||||||
|
|
||||||
namespace App\SSH\Services\Firewall;
|
namespace App\SSH\Services\Firewall;
|
||||||
|
|
||||||
use App\SSH\HasScripts;
|
use App\Exceptions\SSHError;
|
||||||
|
|
||||||
class Ufw extends AbstractFirewall
|
class Ufw extends AbstractFirewall
|
||||||
{
|
{
|
||||||
use HasScripts;
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function install(): void
|
public function install(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('ufw/install-ufw.sh'),
|
view('ssh.services.firewall.ufw.install-ufw'),
|
||||||
'install-ufw'
|
'install-ufw'
|
||||||
);
|
);
|
||||||
$this->service->server->os()->cleanup();
|
$this->service->server->os()->cleanup();
|
||||||
@ -22,29 +23,35 @@ public function uninstall(): void
|
|||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function addRule(string $type, string $protocol, int $port, string $source, ?string $mask): void
|
public function addRule(string $type, string $protocol, int $port, string $source, ?string $mask): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('ufw/add-rule.sh', [
|
view('ssh.services.firewall.ufw.add-rule', [
|
||||||
'type' => $type,
|
'type' => $type,
|
||||||
'protocol' => $protocol,
|
'protocol' => $protocol,
|
||||||
'port' => $port,
|
'port' => $port,
|
||||||
'source' => $source,
|
'source' => $source,
|
||||||
'mask' => $mask || $mask == 0 ? '/'.$mask : '',
|
'mask' => $mask || $mask === 0 ? '/'.$mask : '',
|
||||||
]),
|
]),
|
||||||
'add-firewall-rule'
|
'add-firewall-rule'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function removeRule(string $type, string $protocol, int $port, string $source, ?string $mask): void
|
public function removeRule(string $type, string $protocol, int $port, string $source, ?string $mask): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('ufw/remove-rule.sh', [
|
view('ssh.services.firewall.ufw.remove-rule', [
|
||||||
'type' => $type,
|
'type' => $type,
|
||||||
'protocol' => $protocol,
|
'protocol' => $protocol,
|
||||||
'port' => $port,
|
'port' => $port,
|
||||||
'source' => $source,
|
'source' => $source,
|
||||||
'mask' => $mask || $mask == 0 ? '/'.$mask : '',
|
'mask' => $mask || $mask === 0 ? '/'.$mask : '',
|
||||||
]),
|
]),
|
||||||
'remove-firewall-rule'
|
'remove-firewall-rule'
|
||||||
);
|
);
|
||||||
|
@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
namespace App\SSH\Services\Monitoring\VitoAgent;
|
namespace App\SSH\Services\Monitoring\VitoAgent;
|
||||||
|
|
||||||
|
use App\Exceptions\ServiceInstallationFailed;
|
||||||
|
use App\Exceptions\SSHError;
|
||||||
use App\Models\Metric;
|
use App\Models\Metric;
|
||||||
use App\SSH\HasScripts;
|
|
||||||
use App\SSH\Services\AbstractService;
|
use App\SSH\Services\AbstractService;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Support\Facades\Http;
|
use Illuminate\Support\Facades\Http;
|
||||||
@ -12,8 +13,6 @@
|
|||||||
|
|
||||||
class VitoAgent extends AbstractService
|
class VitoAgent extends AbstractService
|
||||||
{
|
{
|
||||||
use HasScripts;
|
|
||||||
|
|
||||||
const TAGS_URL = 'https://api.github.com/repos/vitodeploy/agent/tags';
|
const TAGS_URL = 'https://api.github.com/repos/vitodeploy/agent/tags';
|
||||||
|
|
||||||
const DOWNLOAD_URL = 'https://github.com/vitodeploy/agent/releases/download/%s';
|
const DOWNLOAD_URL = 'https://github.com/vitodeploy/agent/releases/download/%s';
|
||||||
@ -54,11 +53,15 @@ public function data(): array
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
* @throws ServiceInstallationFailed
|
||||||
|
*/
|
||||||
public function install(): void
|
public function install(): void
|
||||||
{
|
{
|
||||||
$tags = Http::get(self::TAGS_URL)->json();
|
$tags = Http::get(self::TAGS_URL)->json();
|
||||||
if (empty($tags)) {
|
if (empty($tags)) {
|
||||||
throw new \Exception('Failed to fetch tags');
|
throw new ServiceInstallationFailed('Failed to fetch tags');
|
||||||
}
|
}
|
||||||
$this->service->version = $tags[0]['name'];
|
$this->service->version = $tags[0]['name'];
|
||||||
$this->service->save();
|
$this->service->save();
|
||||||
@ -71,10 +74,10 @@ public function install(): void
|
|||||||
$this->service->refresh();
|
$this->service->refresh();
|
||||||
|
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('install.sh', [
|
view('ssh.services.monitoring.vito-agent.install', [
|
||||||
'download_url' => $downloadUrl,
|
'downloadUrl' => $downloadUrl,
|
||||||
'config_url' => $this->data()['url'],
|
'configUrl' => $this->data()['url'],
|
||||||
'config_secret' => $this->data()['secret'],
|
'configSecret' => $this->data()['secret'],
|
||||||
]),
|
]),
|
||||||
'install-vito-agent'
|
'install-vito-agent'
|
||||||
);
|
);
|
||||||
@ -82,12 +85,15 @@ public function install(): void
|
|||||||
$this->service->validateInstall($status);
|
$this->service->validateInstall($status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function uninstall(): void
|
public function uninstall(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('uninstall.sh'),
|
view('ssh.services.monitoring.vito-agent.uninstall'),
|
||||||
'uninstall-vito-agent'
|
'uninstall-vito-agent'
|
||||||
);
|
);
|
||||||
Metric::where('server_id', $this->service->server_id)->delete();
|
Metric::query()->where('server_id', $this->service->server_id)->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,15 +2,13 @@
|
|||||||
|
|
||||||
namespace App\SSH\Services\NodeJS;
|
namespace App\SSH\Services\NodeJS;
|
||||||
|
|
||||||
use App\SSH\HasScripts;
|
use App\Exceptions\SSHError;
|
||||||
use App\SSH\Services\AbstractService;
|
use App\SSH\Services\AbstractService;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class NodeJS extends AbstractService
|
class NodeJS extends AbstractService
|
||||||
{
|
{
|
||||||
use HasScripts;
|
|
||||||
|
|
||||||
public function creationRules(array $input): array
|
public function creationRules(array $input): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
@ -41,34 +39,43 @@ function (string $attribute, mixed $value, Closure $fail) {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function install(): void
|
public function install(): void
|
||||||
{
|
{
|
||||||
$server = $this->service->server;
|
$server = $this->service->server;
|
||||||
$server->ssh()->exec(
|
$server->ssh()->exec(
|
||||||
$this->getScript('install-nodejs.sh', [
|
view('ssh.services.nodejs.install-nodejs', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
'user' => $server->getSshUser(),
|
|
||||||
]),
|
]),
|
||||||
'install-nodejs-'.$this->service->version
|
'install-nodejs-'.$this->service->version
|
||||||
);
|
);
|
||||||
$this->service->server->os()->cleanup();
|
$this->service->server->os()->cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function uninstall(): void
|
public function uninstall(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('uninstall-nodejs.sh', [
|
view('ssh.services.nodejs.uninstall-nodejs', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
|
'default' => $this->service->is_default,
|
||||||
]),
|
]),
|
||||||
'uninstall-nodejs-'.$this->service->version
|
'uninstall-nodejs-'.$this->service->version
|
||||||
);
|
);
|
||||||
$this->service->server->os()->cleanup();
|
$this->service->server->os()->cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function setDefaultCli(): void
|
public function setDefaultCli(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('change-default-nodejs.sh', [
|
view('ssh.services.nodejs.change-default-nodejs', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
]),
|
]),
|
||||||
'change-default-nodejs'
|
'change-default-nodejs'
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
export NVM_DIR="$HOME/.nvm"
|
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
||||||
|
|
||||||
if ! nvm uninstall __version__; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
@ -3,7 +3,7 @@
|
|||||||
namespace App\SSH\Services\PHP;
|
namespace App\SSH\Services\PHP;
|
||||||
|
|
||||||
use App\Exceptions\SSHCommandError;
|
use App\Exceptions\SSHCommandError;
|
||||||
use App\SSH\HasScripts;
|
use App\Exceptions\SSHError;
|
||||||
use App\SSH\Services\AbstractService;
|
use App\SSH\Services\AbstractService;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@ -11,8 +11,6 @@
|
|||||||
|
|
||||||
class PHP extends AbstractService
|
class PHP extends AbstractService
|
||||||
{
|
{
|
||||||
use HasScripts;
|
|
||||||
|
|
||||||
public function creationRules(array $input): array
|
public function creationRules(array $input): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
@ -43,11 +41,14 @@ function (string $attribute, mixed $value, Closure $fail) {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function install(): void
|
public function install(): void
|
||||||
{
|
{
|
||||||
$server = $this->service->server;
|
$server = $this->service->server;
|
||||||
$server->ssh()->exec(
|
$server->ssh()->exec(
|
||||||
$this->getScript('install-php.sh', [
|
view('ssh.services.php.install-php', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
'user' => $server->getSshUser(),
|
'user' => $server->getSshUser(),
|
||||||
]),
|
]),
|
||||||
@ -57,10 +58,13 @@ public function install(): void
|
|||||||
$this->service->server->os()->cleanup();
|
$this->service->server->os()->cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function uninstall(): void
|
public function uninstall(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('uninstall-php.sh', [
|
view('ssh.services.php.uninstall-php', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
]),
|
]),
|
||||||
'uninstall-php-'.$this->service->version
|
'uninstall-php-'.$this->service->version
|
||||||
@ -68,10 +72,13 @@ public function uninstall(): void
|
|||||||
$this->service->server->os()->cleanup();
|
$this->service->server->os()->cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function setDefaultCli(): void
|
public function setDefaultCli(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('change-default-php.sh', [
|
view('ssh.services.php.change-default-php', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
]),
|
]),
|
||||||
'change-default-php'
|
'change-default-php'
|
||||||
@ -79,12 +86,12 @@ public function setDefaultCli(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws SSHCommandError
|
* @throws SSHError
|
||||||
*/
|
*/
|
||||||
public function installExtension($name): void
|
public function installExtension($name): void
|
||||||
{
|
{
|
||||||
$result = $this->service->server->ssh()->exec(
|
$result = $this->service->server->ssh()->exec(
|
||||||
$this->getScript('install-php-extension.sh', [
|
view('ssh.services.php.install-php-extension', [
|
||||||
'version' => $this->service->version,
|
'version' => $this->service->version,
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
]),
|
]),
|
||||||
@ -96,18 +103,56 @@ public function installExtension($name): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function installComposer(): void
|
public function installComposer(): void
|
||||||
{
|
{
|
||||||
$this->service->server->ssh()->exec(
|
$this->service->server->ssh()->exec(
|
||||||
$this->getScript('install-composer.sh'),
|
view('ssh.services.php.install-composer'),
|
||||||
'install-composer'
|
'install-composer'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
public function getPHPIni(string $type): string
|
public function getPHPIni(string $type): string
|
||||||
{
|
{
|
||||||
return $this->service->server->os()->readFile(
|
return $this->service->server->os()->readFile(
|
||||||
sprintf('/etc/php/%s/%s/php.ini', $this->service->version, $type)
|
sprintf('/etc/php/%s/%s/php.ini', $this->service->version, $type)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function createFpmPool(string $user, string $version, $site_id): void
|
||||||
|
{
|
||||||
|
$this->service->server->ssh()->write(
|
||||||
|
"/etc/php/{$version}/fpm/pool.d/{$user}.conf",
|
||||||
|
view('ssh.services.php.fpm-pool', [
|
||||||
|
'user' => $user,
|
||||||
|
'version' => $version,
|
||||||
|
]),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->service->server->systemd()->restart($this->service->unit);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SSHError
|
||||||
|
*/
|
||||||
|
public function removeFpmPool(string $user, string $version, $site_id): void
|
||||||
|
{
|
||||||
|
$this->service->server->ssh()->exec(
|
||||||
|
view('ssh.services.php.remove-fpm-pool', [
|
||||||
|
'user' => $user,
|
||||||
|
'version' => $version,
|
||||||
|
]),
|
||||||
|
"remove-{$version}fpm-pool-{$user}",
|
||||||
|
$site_id
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
sudo apt-get install -y php__version__-__name__
|
|
||||||
|
|
||||||
sudo service php__version__-fpm restart
|
|
||||||
|
|
||||||
php__version__ -m
|
|
@ -1,15 +0,0 @@
|
|||||||
sudo add-apt-repository ppa:ondrej/php -y
|
|
||||||
|
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get update
|
|
||||||
|
|
||||||
if ! sudo DEBIAN_FRONTEND=noninteractive apt-get install -y php__version__ php__version__-fpm php__version__-mbstring php__version__-mysql php__version__-gd php__version__-xml php__version__-curl php__version__-gettext php__version__-zip php__version__-bcmath php__version__-soap php__version__-redis php__version__-sqlite3 php__version__-tokenizer php__version__-pgsql php__version__-pdo; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! sudo sed -i 's/www-data/__user__/g' /etc/php/__version__/fpm/pool.d/www.conf; then
|
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo service php__version__-fpm enable
|
|
||||||
|
|
||||||
sudo service php__version__-fpm start
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user