Add load balancer (#453)

This commit is contained in:
Saeed Vaziry 2025-01-30 23:52:51 +01:00 committed by GitHub
parent 53e20cbc2a
commit 6966f06b1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
54 changed files with 3128 additions and 1833 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -46,7 +46,6 @@ public function create(Site $site, array $input): void
$ssl->status = SslStatus::CREATED; $ssl->status = SslStatus::CREATED;
$ssl->save(); $ssl->save();
$webserver->updateVHost($site); $webserver->updateVHost($site);
$site->type()->edit();
})->catch(function () use ($ssl) { })->catch(function () use ($ssl) {
$ssl->status = SslStatus::FAILED; $ssl->status = SslStatus::FAILED;
$ssl->save(); $ssl->save();

View File

@ -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',

View 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()),
],
];
}
}

View 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';
}

View File

@ -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,
];
}
} }

View File

@ -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')]
@ -53,6 +54,7 @@ public function index(Project $project, Server $server): ResourceCollection
#[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: '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
{ {
@ -70,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')]
@ -93,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) {

View 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();
}
}

View File

@ -16,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;
/** /**
@ -47,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
*/ */
@ -332,4 +334,9 @@ public function webserver(): Webserver
return $webserver; return $webserver;
} }
public function loadBalancerServers(): HasMany
{
return $this->hasMany(LoadBalancerServer::class, 'load_balancer_id');
}
} }

View File

@ -34,7 +34,7 @@ public function data(array $input): array
public function editRules(array $input): array public function editRules(array $input): array
{ {
return []; return $this->createRules($input);
} }
protected function progress(int $percentage): void protected function progress(int $percentage): void

58
app/SiteTypes/LoadBalancer.php Executable file
View File

@ -0,0 +1,58 @@
<?php
namespace App\SiteTypes;
use App\Enums\LoadBalancerMethod;
use App\Enums\SiteFeature;
use App\Exceptions\SSHError;
use App\SSH\Services\Webserver\Webserver;
use Illuminate\Validation\Rule;
class LoadBalancer extends AbstractSiteType
{
public function language(): string
{
return 'yaml';
}
public function supportedFeatures(): array
{
return [
SiteFeature::SSL,
];
}
public function createRules(array $input): array
{
return [
'method' => [
'required',
Rule::in(LoadBalancerMethod::all()),
],
];
}
public function data(array $input): array
{
return [
'method' => $input['method'] ?? LoadBalancerMethod::ROUND_ROBIN,
];
}
/**
* @throws SSHError
*/
public function install(): void
{
$this->isolate();
/** @var Webserver $webserver */
$webserver = $this->site->server->webserver()->handler();
$webserver->createVHost($this->site);
}
public function edit(): void
{
//
}
}

View File

@ -3,6 +3,7 @@
namespace App\Web\Pages\Servers\Sites; namespace App\Web\Pages\Servers\Sites;
use App\Actions\Site\CreateSite; use App\Actions\Site\CreateSite;
use App\Enums\LoadBalancerMethod;
use App\Enums\SiteType; use App\Enums\SiteType;
use App\Models\Site; use App\Models\Site;
use App\Models\SourceControl; use App\Models\SourceControl;
@ -133,6 +134,17 @@ protected function getHeaderActions(): array
->rules(fn (Get $get) => CreateSite::rules($this->server, $get())['version']), ->rules(fn (Get $get) => CreateSite::rules($this->server, $get())['version']),
// WordPress // WordPress
$this->wordpressFields(), $this->wordpressFields(),
// Load Balancer
Select::make('method')
->label('Balancing Method')
->validationAttribute('Balancing Method')
->options(
collect(LoadBalancerMethod::all())
->mapWithKeys(fn ($method) => [$method => $method])
)
->visible(fn (Get $get) => $get('type') === SiteType::LOAD_BALANCER)
->rules(fn (Get $get) => CreateSite::rules($this->server, $get())['method'] ?? []),
// User
TextInput::make('user') TextInput::make('user')
->label('User') ->label('User')
->placeholder('vito') ->placeholder('vito')

View File

@ -7,6 +7,7 @@
use App\Actions\Site\UpdateDeploymentScript; use App\Actions\Site\UpdateDeploymentScript;
use App\Actions\Site\UpdateEnv; use App\Actions\Site\UpdateEnv;
use App\Enums\SiteFeature; use App\Enums\SiteFeature;
use App\Enums\SiteType;
use App\Web\Fields\CodeEditorField; use App\Web\Fields\CodeEditorField;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\ActionGroup; use Filament\Actions\ActionGroup;
@ -58,6 +59,10 @@ public function getWidgets(): array
if (in_array(SiteFeature::DEPLOYMENT, $this->site->type()->supportedFeatures())) { if (in_array(SiteFeature::DEPLOYMENT, $this->site->type()->supportedFeatures())) {
$widgets[] = [Widgets\DeploymentsList::class, ['site' => $this->site]]; $widgets[] = [Widgets\DeploymentsList::class, ['site' => $this->site]];
} }
if ($this->site->type === SiteType::LOAD_BALANCER) {
$widgets[] = [Widgets\LoadBalancerServers::class, ['site' => $this->site]];
}
} }
return $widgets; return $widgets;

View File

@ -0,0 +1,141 @@
<?php
namespace App\Web\Pages\Servers\Sites\Widgets;
use App\Actions\Site\UpdateLoadBalancer;
use App\Enums\LoadBalancerMethod;
use App\Models\LoadBalancerServer;
use App\Models\Site;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Contracts\HasForms;
use Filament\Forms\Form;
use Filament\Notifications\Notification;
use Filament\Widgets\Widget;
use Livewire\Attributes\On;
class LoadBalancerServers extends Widget implements HasForms
{
use InteractsWithForms;
protected static string $view = 'components.form';
public Site $site;
public string $method;
public array $servers = [];
public function mount(): void
{
$this->setLoadBalancerServers();
if (empty($this->servers)) {
$this->servers = [
[
'server' => null,
'port' => 80,
'weight' => null,
'backup' => false,
],
];
}
$this->method = $this->site->type_data['method'] ?? LoadBalancerMethod::ROUND_ROBIN;
}
#[On('load-balancer-updated')]
public function setLoadBalancerServers(): void
{
$this->servers = $this->site->loadBalancerServers->map(function (LoadBalancerServer $server) {
return [
'server' => $server->ip,
'port' => $server->port,
'weight' => $server->weight,
'backup' => $server->backup,
];
})->toArray();
}
public function form(Form $form): Form
{
return $form
->schema([
Section::make()
->heading('Load Balancer Servers')
->description('You can add or remove servers from the load balancer here')
->columns(3)
->schema([
Select::make('method')
->label('Balancing Method')
->validationAttribute('Balancing Method')
->options(
collect(LoadBalancerMethod::all())
->mapWithKeys(fn ($method) => [$method => $method])
)
->rules(UpdateLoadBalancer::rules($this->site)['method']),
Repeater::make('servers')
->schema([
Select::make('server')
->placeholder('Select a server')
->searchable()
->required()
->rules(UpdateLoadBalancer::rules($this->site)['servers.*.server'])
->options(function () {
return $this->site->project->servers()
->where('id', '!=', $this->site->server_id)
->get()
->mapWithKeys(function ($server) {
return [$server->local_ip => $server->name.' ('.$server->local_ip.')'];
});
}),
TextInput::make('port')
->default(80)
->required()
->rules(UpdateLoadBalancer::rules($this->site)['servers.*.port']),
TextInput::make('weight')
->rules(UpdateLoadBalancer::rules($this->site)['servers.*.weight']),
Toggle::make('backup')
->label('Backup')
->inline(false)
->default(false),
])
->columnSpan(3)
->live()
->reorderable(false)
->columns(4)
->reorderableWithDragAndDrop(false)
->addActionLabel('Add Server'),
])
->footerActions([
Action::make('save')
->label('Save')
->action(fn () => $this->save()),
]),
]);
}
public function save(): void
{
$this->authorize('update', [$this->site, $this->site->server]);
$this->validate();
run_action($this, function () {
app(UpdateLoadBalancer::class)->update($this->site, [
'method' => $this->method,
'servers' => $this->servers,
]);
$this->dispatch('load-balancer-updated');
Notification::make()
->success()
->title('Load balancer updated!')
->send();
});
}
}

View File

@ -27,6 +27,8 @@ class UpdateServerInfo extends Widget implements HasForms
public string $ip; public string $ip;
public ?string $local_ip;
public string $port; public string $port;
public function mount(Server $server): void public function mount(Server $server): void
@ -34,6 +36,7 @@ public function mount(Server $server): void
$this->server = $server; $this->server = $server;
$this->name = $server->name; $this->name = $server->name;
$this->ip = $server->ip; $this->ip = $server->ip;
$this->local_ip = $server->local_ip;
$this->port = $server->port; $this->port = $server->port;
} }
@ -52,6 +55,10 @@ public function form(Form $form): Form
TextInput::make('ip') TextInput::make('ip')
->label('IP Address') ->label('IP Address')
->rules(EditServer::rules($this->server)['ip']), ->rules(EditServer::rules($this->server)['ip']),
TextInput::make('local_ip')
->label('Local Network IP Address')
->placeholder('10.0.0.1')
->rules(EditServer::rules($this->server)['local_ip']),
TextInput::make('port') TextInput::make('port')
->label('Port') ->label('Port')
->rules(EditServer::rules($this->server)['port']), ->rules(EditServer::rules($this->server)['port']),

View File

@ -431,6 +431,7 @@
\App\Enums\SiteType::LARAVEL, \App\Enums\SiteType::LARAVEL,
\App\Enums\SiteType::WORDPRESS, \App\Enums\SiteType::WORDPRESS,
\App\Enums\SiteType::PHPMYADMIN, \App\Enums\SiteType::PHPMYADMIN,
\App\Enums\SiteType::LOAD_BALANCER,
], ],
'site_types_class' => [ 'site_types_class' => [
\App\Enums\SiteType::PHP => \App\SiteTypes\PHPSite::class, \App\Enums\SiteType::PHP => \App\SiteTypes\PHPSite::class,
@ -438,6 +439,7 @@
\App\Enums\SiteType::LARAVEL => \App\SiteTypes\Laravel::class, \App\Enums\SiteType::LARAVEL => \App\SiteTypes\Laravel::class,
\App\Enums\SiteType::WORDPRESS => \App\SiteTypes\Wordpress::class, \App\Enums\SiteType::WORDPRESS => \App\SiteTypes\Wordpress::class,
\App\Enums\SiteType::PHPMYADMIN => \App\SiteTypes\PHPMyAdmin::class, \App\Enums\SiteType::PHPMYADMIN => \App\SiteTypes\PHPMyAdmin::class,
\App\Enums\SiteType::LOAD_BALANCER => \App\SiteTypes\LoadBalancer::class,
], ],
/* /*

View File

@ -0,0 +1,25 @@
<?php
namespace Database\Factories;
use App\Models\LoadBalancerServer;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Carbon;
class LoadBalancerServerFactory extends Factory
{
protected $model = LoadBalancerServer::class;
public function definition(): array
{
return [
'load_balancer_id' => $this->faker->randomNumber(), //
'ip' => $this->faker->ipv4(),
'port' => $this->faker->randomNumber(),
'weight' => $this->faker->randomNumber(),
'backup' => $this->faker->boolean(),
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
];
}
}

View File

@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('load_balancer_servers', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('load_balancer_id');
$table->string('ip');
$table->integer('port');
$table->integer('weight')->nullable();
$table->boolean('backup');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('load_balancer_servers');
}
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 291 291" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
preserveAspectRatio="xMidYMid">
<g>
<path
d="M2.05386819,218.186819 C3.37421203,220.534097 5.28137536,222.294556 7.6286533,223.6149 L120.591404,288.751862 L120.591404,288.751862 C125.28596,291.539255 131.00745,291.539255 135.555301,288.751862 L248.518052,223.6149 C253.212607,220.974212 256,215.986246 256,210.558166 L256,80.2842407 L256,80.2842407 C256,74.8561605 253.212607,69.8681948 248.518052,67.2275072 L135.555301,2.09054441 L135.555301,2.09054441 C130.860745,-0.696848138 125.139255,-0.696848138 120.591404,2.09054441 L120.591404,2.09054441 L7.6286533,67.2275072 C2.78739255,69.8681948 0,74.8561605 0,80.2842407 L0,80.2842407 L0,210.704871 C0,213.345559 0.586819484,215.839542 2.05386819,218.186819"
fill="#009639"></path>
<path
d="M91.8372493,195.154155 C91.8372493,203.222923 85.382235,209.677937 77.313467,209.677937 C69.2446991,209.677937 62.7896848,203.222923 62.7896848,195.154155 L62.7896848,195.154155 L62.7896848,95.5415473 C62.7896848,87.7661891 69.6848138,81.4578797 79.2206304,81.4578797 C86.1157593,81.4578797 94.1845272,84.2452722 99.025788,90.2601719 L103.426934,95.5415473 L164.162751,168.160458 L164.162751,95.834957 L164.162751,95.834957 C164.162751,87.7661891 170.617765,81.3111748 178.686533,81.3111748 C186.755301,81.3111748 193.210315,87.7661891 193.210315,95.834957 L193.210315,95.834957 L193.210315,195.447564 C193.210315,203.222923 186.315186,209.531232 176.77937,209.531232 C169.884241,209.531232 161.815473,206.74384 156.974212,200.72894 L91.8372493,122.975358 L91.8372493,195.154155 L91.8372493,195.154155 Z"
fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -6,6 +6,27 @@
} }
@endif @endif
@if ($site->type === \App\Enums\SiteType::LOAD_BALANCER)
upstream backend {
@switch($site->type_data['method'] ?? \App\Enums\LoadBalancerMethod::ROUND_ROBIN)
@case(\App\Enums\LoadBalancerMethod::LEAST_CONNECTIONS)
least_conn;
@break
@case(\App\Enums\LoadBalancerMethod::IP_HASH)
ip_hash;
@break
@default
@endswitch
@if ($site->loadBalancerServers()->count() > 0)
@foreach($site->loadBalancerServers as $server)
server {{ $server->ip }}:{{ $server->port }} {{ $server->backup ? 'backup' : '' }} {{ $server->weight ? 'weight='.$server->weight : '' }};
@endforeach
@else
server 127.0.0.1;
@endif
}
@endif
server { server {
@if (!$site->activeSsl || !$site->force_ssl) @if (!$site->activeSsl || !$site->force_ssl)
listen 80; listen 80;
@ -26,18 +47,7 @@
charset utf-8; charset utf-8;
@if ($site->port) @if ($site->type()->language() === 'php')
location / {
try_files $uri $uri/ /index.html;
}
location / {
proxy_pass http://127.0.0.1:{{ $site->port }}/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $remote_addr;
}
@elseif ($site->php_version)
@php @php
$phpSocket = 'unix:/var/run/php/php-fpm.sock'; $phpSocket = 'unix:/var/run/php/php-fpm.sock';
if ($site->isIsolated()) { if ($site->isIsolated()) {
@ -55,6 +65,16 @@
} }
@endif @endif
@if ($site->type === \App\Enums\SiteType::LOAD_BALANCER)
location / {
proxy_pass http://backend$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
@endif
location = /favicon.ico { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; }

View File

@ -2,18 +2,29 @@
namespace Tests\Feature\API; namespace Tests\Feature\API;
use App\Enums\LoadBalancerMethod;
use App\Enums\SourceControl; use App\Enums\SourceControl;
use App\Facades\SSH; use App\Facades\SSH;
use App\Models\Server;
use App\Models\Site; use App\Models\Site;
use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Laravel\Sanctum\Sanctum; use Laravel\Sanctum\Sanctum;
use Tests\TestCase; use Tests\TestCase;
use Tests\Traits\PrepareLoadBalancer;
class SitesTest extends TestCase class SitesTest extends TestCase
{ {
use PrepareLoadBalancer;
use RefreshDatabase; use RefreshDatabase;
protected function setUp(): void
{
parent::setUp();
$this->prepare();
}
/** /**
* @dataProvider create_data * @dataProvider create_data
*/ */
@ -67,6 +78,26 @@ public function test_see_sites_list(): void
]); ]);
} }
public function test_see_site(): void
{
Sanctum::actingAs($this->user, ['read', 'write']);
/** @var Site $site */
$site = Site::factory()->create([
'server_id' => $this->server->id,
]);
$this->json('GET', route('api.projects.servers.sites.show', [
'project' => $this->server->project,
'server' => $this->server,
'site' => $site,
]))
->assertSuccessful()
->assertJsonFragment([
'domain' => $site->domain,
]);
}
public function test_delete_site(): void public function test_delete_site(): void
{ {
SSH::fake(); SSH::fake();
@ -87,6 +118,54 @@ public function test_delete_site(): void
->assertNoContent(); ->assertNoContent();
} }
public function test_update_load_balancer(): void
{
SSH::fake();
Sanctum::actingAs($this->user, ['read', 'write']);
$servers = Server::query()->where('id', '!=', $this->server->id)->get();
$this->assertEquals(2, $servers->count());
$this->json('POST', route('api.projects.servers.sites.load-balancer', [
'project' => $this->server->project,
'server' => $this->server,
'site' => $this->site,
]), [
'method' => LoadBalancerMethod::ROUND_ROBIN,
'servers' => [
[
'server' => $servers[0]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
],
[
'server' => $servers[1]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
],
],
])
->assertSuccessful();
$this->assertDatabaseHas('load_balancer_servers', [
'load_balancer_id' => $this->site->id,
'ip' => $servers[0]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
]);
$this->assertDatabaseHas('load_balancer_servers', [
'load_balancer_id' => $this->site->id,
'ip' => $servers[1]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
]);
}
public static function create_data(): array public static function create_data(): array
{ {
return \Tests\Feature\SitesTest::create_data(); return \Tests\Feature\SitesTest::create_data();

View File

@ -0,0 +1,90 @@
<?php
namespace Tests\Feature;
use App\Enums\LoadBalancerMethod;
use App\Facades\SSH;
use App\Models\Server;
use App\Web\Pages\Servers\Sites\View;
use App\Web\Pages\Servers\Sites\Widgets\LoadBalancerServers;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Livewire\Livewire;
use Tests\TestCase;
use Tests\Traits\PrepareLoadBalancer;
class LoadBalancerTest extends TestCase
{
use PrepareLoadBalancer;
use RefreshDatabase;
protected function setUp(): void
{
parent::setUp();
$this->prepare();
}
public function test_visit_load_balancer_servers(): void
{
$this->actingAs($this->user);
$this->get(
View::getUrl([
'server' => $this->server,
'site' => $this->site,
])
)
->assertSuccessful()
->assertSee($this->site->domain)
->assertSee('Load Balancer Servers');
}
public function test_update_load_balancer_servers()
{
SSH::fake();
$this->actingAs($this->user);
$servers = Server::query()->where('id', '!=', $this->server->id)->get();
$this->assertEquals(2, $servers->count());
Livewire::test(LoadBalancerServers::class, [
'site' => $this->site,
])
->assertFormExists()
->fillForm([
'method' => LoadBalancerMethod::ROUND_ROBIN,
'servers' => [
[
'server' => $servers[0]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
],
[
'server' => $servers[1]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
],
],
])
->call('save')
->assertSuccessful();
$this->assertDatabaseHas('load_balancer_servers', [
'load_balancer_id' => $this->site->id,
'ip' => $servers[0]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
]);
$this->assertDatabaseHas('load_balancer_servers', [
'load_balancer_id' => $this->site->id,
'ip' => $servers[1]->local_ip,
'port' => 80,
'weight' => 1,
'backup' => false,
]);
}
}

View File

@ -2,6 +2,7 @@
namespace Tests\Feature; namespace Tests\Feature;
use App\Enums\LoadBalancerMethod;
use App\Enums\SiteStatus; use App\Enums\SiteStatus;
use App\Enums\SiteType; use App\Enums\SiteType;
use App\Enums\SourceControl; use App\Enums\SourceControl;
@ -418,6 +419,15 @@ public static function create_data(): array
'user' => 'example', 'user' => 'example',
], ],
], ],
[
[
'type' => SiteType::LOAD_BALANCER,
'domain' => 'example.com',
'aliases' => ['www.example.com'],
'user' => 'example',
'method' => LoadBalancerMethod::ROUND_ROBIN,
],
],
]; ];
} }

View File

@ -0,0 +1,47 @@
<?php
namespace Tests\Traits;
use App\Enums\Database;
use App\Enums\LoadBalancerMethod;
use App\Enums\PHP;
use App\Enums\ServiceStatus;
use App\Enums\SiteType;
use App\Enums\Webserver;
use App\Models\Server;
use App\Models\Site;
trait PrepareLoadBalancer
{
private function prepare(): void
{
$this->site->type = SiteType::LOAD_BALANCER;
$this->site->type_data = [
'method' => LoadBalancerMethod::ROUND_ROBIN,
];
$this->site->save();
$servers = Server::factory(2)->create([
'user_id' => $this->user->id,
'project_id' => $this->user->current_project_id,
]);
foreach ($servers as $server) {
$server->type()->createServices([
'webserver' => Webserver::NGINX,
'database' => Database::NONE,
'php' => PHP::NONE,
]);
$server->services()->update([
'status' => ServiceStatus::READY,
]);
Site::factory()->create([
'domain' => 'vito.test',
'aliases' => ['www.vito.test'],
'server_id' => $server->id,
'type' => SiteType::PHP_BLANK,
'path' => '/home/vito/vito.test',
'web_directory' => '',
]);
}
}
}