mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-08 17:32:35 +00:00
Add site redirects (#552)
* feat(redirects): add redirects to sites * chore(style): fixed coding style issues * style: fix php-stan docblocks * style: pint cleanup * tests: fixed redirect test suite * feat: vhosts include additional configs * fix: use exact location matching * - add enums - use queues - use vhost rather than separate conf files - vhost formatter - cleanup * generate docs --------- Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
This commit is contained in:
@ -1,19 +1,19 @@
|
||||
## Autogenerated by Scribe. DO NOT MODIFY.
|
||||
|
||||
name: server-providers
|
||||
name: servers
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/projects/{project_id}/server-providers'
|
||||
uri: 'api/projects/{project_id}/servers'
|
||||
metadata:
|
||||
groupName: server-providers
|
||||
groupName: servers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: list
|
||||
description: ''
|
||||
description: 'Get all servers in a project.'
|
||||
authenticated: true
|
||||
custom: []
|
||||
headers:
|
||||
@ -41,7 +41,7 @@ endpoints:
|
||||
responses:
|
||||
-
|
||||
status: 200
|
||||
content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"quaerat","provider":"aws","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":4,"project_id":null,"global":true,"name":"quas","provider":"vultr","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.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":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Consuelo Connelly","ssh_user":"vito","ip":"80.154.83.232","local_ip":"45.31.117.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":"Rodolfo Fadel","ssh_user":"vito","ip":"103.227.79.93","local_ip":"33.49.217.56","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: []
|
||||
description: ''
|
||||
custom: []
|
||||
@ -49,7 +49,7 @@ endpoints:
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer aVP8e63k5D6ab1vdgEc4Zhf'
|
||||
- 'Bearer 4kecVbv5Zaa3dE8D6fgP6h1'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
@ -57,14 +57,14 @@ endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/projects/{project_id}/server-providers'
|
||||
uri: 'api/projects/{project_id}/servers'
|
||||
metadata:
|
||||
groupName: server-providers
|
||||
groupName: servers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: create
|
||||
description: ''
|
||||
description: 'Create a new server.'
|
||||
authenticated: true
|
||||
custom: []
|
||||
headers:
|
||||
@ -89,9 +89,64 @@ endpoints:
|
||||
bodyParameters:
|
||||
provider:
|
||||
name: provider
|
||||
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
||||
description: 'The server provider type'
|
||||
required: true
|
||||
example: exercitationem
|
||||
example: incidunt
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
server_provider:
|
||||
name: server_provider
|
||||
description: 'If the provider is not custom, the ID of the server provider profile'
|
||||
required: true
|
||||
example: hetzner
|
||||
type: string
|
||||
enumValues:
|
||||
- custom
|
||||
- hetzner
|
||||
- digitalocean
|
||||
- linode
|
||||
- vultr
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
region:
|
||||
name: region
|
||||
description: 'Provider region if the provider is not custom'
|
||||
required: true
|
||||
example: ut
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
plan:
|
||||
name: plan
|
||||
description: 'Provider plan if the provider is not custom'
|
||||
required: true
|
||||
example: ullam
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
ip:
|
||||
name: ip
|
||||
description: 'SSH IP address if the provider is custom'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
port:
|
||||
name: port
|
||||
description: 'SSH Port if the provider is custom'
|
||||
required: true
|
||||
example: praesentium
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
@ -99,55 +154,93 @@ endpoints:
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'The name of the server provider.'
|
||||
description: 'The name of the server.'
|
||||
required: true
|
||||
example: similique
|
||||
example: facere
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
token:
|
||||
name: token
|
||||
description: 'The token if provider requires api token'
|
||||
os:
|
||||
name: os
|
||||
description: 'The os of the server'
|
||||
required: true
|
||||
example: nisi
|
||||
example: illo
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
key:
|
||||
name: key
|
||||
description: 'The key if provider requires key'
|
||||
webserver:
|
||||
name: webserver
|
||||
description: 'Web server'
|
||||
required: true
|
||||
example: tempora
|
||||
example: none
|
||||
type: string
|
||||
enumValues: []
|
||||
enumValues:
|
||||
- none
|
||||
- nginx
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
secret:
|
||||
name: secret
|
||||
description: 'The secret if provider requires key'
|
||||
database:
|
||||
name: database
|
||||
description: Database
|
||||
required: true
|
||||
example: earum
|
||||
example: none
|
||||
type: string
|
||||
enumValues: []
|
||||
enumValues:
|
||||
- none
|
||||
- mysql57
|
||||
- mysql80
|
||||
- mariadb103
|
||||
- mariadb104
|
||||
- mariadb103
|
||||
- postgresql12
|
||||
- postgresql13
|
||||
- postgresql14
|
||||
- postgresql15
|
||||
- postgresql16
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
php:
|
||||
name: php
|
||||
description: 'PHP version'
|
||||
required: true
|
||||
example: '8.1'
|
||||
type: string
|
||||
enumValues:
|
||||
- '7.0'
|
||||
- '7.1'
|
||||
- '7.2'
|
||||
- '7.3'
|
||||
- '7.4'
|
||||
- '8.0'
|
||||
- '8.1'
|
||||
- '8.2'
|
||||
- '8.3'
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanBodyParameters:
|
||||
provider: exercitationem
|
||||
name: similique
|
||||
token: nisi
|
||||
key: tempora
|
||||
secret: earum
|
||||
provider: incidunt
|
||||
server_provider: hetzner
|
||||
region: ut
|
||||
plan: ullam
|
||||
ip: architecto
|
||||
port: praesentium
|
||||
name: facere
|
||||
os: illo
|
||||
webserver: none
|
||||
database: none
|
||||
php: '8.1'
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 200
|
||||
content: '{"id":3,"project_id":null,"global":true,"name":"iure","provider":"hetzner","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}'
|
||||
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Herbert VonRueden","ssh_user":"vito","ip":"91.154.105.143","local_ip":"62.75.177.7","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: []
|
||||
description: ''
|
||||
custom: []
|
||||
@ -155,7 +248,7 @@ endpoints:
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer b6DZavf4c3gk8PEda1e5hV6'
|
||||
- 'Bearer 1d43hZc6VagPaEe5bDvf86k'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
@ -163,14 +256,14 @@ endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}'
|
||||
uri: 'api/projects/{project_id}/servers/{id}'
|
||||
metadata:
|
||||
groupName: server-providers
|
||||
groupName: servers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: show
|
||||
description: ''
|
||||
description: 'Get a server by ID.'
|
||||
authenticated: true
|
||||
custom: []
|
||||
headers:
|
||||
@ -188,11 +281,11 @@ endpoints:
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
serverProvider_id:
|
||||
name: serverProvider_id
|
||||
description: 'The ID of the serverProvider.'
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the server.'
|
||||
required: true
|
||||
example: 1
|
||||
example: 29
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
@ -200,7 +293,7 @@ endpoints:
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
project_id: 1
|
||||
serverProvider_id: 1
|
||||
id: 29
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
@ -209,7 +302,7 @@ endpoints:
|
||||
responses:
|
||||
-
|
||||
status: 200
|
||||
content: '{"id":3,"project_id":null,"global":true,"name":"et","provider":"vultr","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}'
|
||||
content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Connie Simonis","ssh_user":"vito","ip":"202.119.26.253","local_ip":"112.75.79.203","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: []
|
||||
description: ''
|
||||
custom: []
|
||||
@ -217,22 +310,22 @@ endpoints:
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6b6aVEPkfvZ81c3dD5ea4hg'
|
||||
- 'Bearer 6648eab1kafVPDh5vEcgd3Z'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}'
|
||||
- POST
|
||||
uri: 'api/projects/{project_id}/servers/{server_id}/reboot'
|
||||
metadata:
|
||||
groupName: server-providers
|
||||
groupName: servers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: update
|
||||
description: ''
|
||||
title: reboot
|
||||
description: 'Reboot a server.'
|
||||
authenticated: true
|
||||
custom: []
|
||||
headers:
|
||||
@ -250,11 +343,11 @@ endpoints:
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
serverProvider_id:
|
||||
name: serverProvider_id
|
||||
description: 'The ID of the serverProvider.'
|
||||
server_id:
|
||||
name: server_id
|
||||
description: 'The ID of the server.'
|
||||
required: true
|
||||
example: 1
|
||||
example: 29
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
@ -262,93 +355,7 @@ endpoints:
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
project_id: 1
|
||||
serverProvider_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
name:
|
||||
name: name
|
||||
description: 'The name of the server provider.'
|
||||
required: true
|
||||
example: porro
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
global:
|
||||
name: global
|
||||
description: 'Accessible in all projects'
|
||||
required: true
|
||||
example: false
|
||||
type: string
|
||||
enumValues:
|
||||
- true
|
||||
- false
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanBodyParameters:
|
||||
name: porro
|
||||
global: false
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 200
|
||||
content: '{"id":3,"project_id":null,"global":true,"name":"aliquam","provider":"hetzner","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}'
|
||||
headers: []
|
||||
description: ''
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer fgVkbe8ZhPa1c4v5E6Da36d'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}'
|
||||
metadata:
|
||||
groupName: server-providers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: delete
|
||||
description: ''
|
||||
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: []
|
||||
serverProvider_id:
|
||||
name: serverProvider_id
|
||||
description: 'The ID of the serverProvider.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
project_id: 1
|
||||
serverProvider_id: 1
|
||||
server_id: 29
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
@ -365,7 +372,131 @@ endpoints:
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 66Pfb5hE8gDVaZvkd1ec43a'
|
||||
- 'Bearer heE6bdfa18v5Pa6kg4cZVD3'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/projects/{project_id}/servers/{server_id}/upgrade'
|
||||
metadata:
|
||||
groupName: servers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: upgrade
|
||||
description: 'Upgrade server.'
|
||||
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: 29
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
project_id: 1
|
||||
server_id: 29
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 204
|
||||
content: null
|
||||
headers: []
|
||||
description: ''
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 4Ege66vbc1hka8DPaV5Zfd3'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/projects/{project_id}/servers/{server_id}'
|
||||
metadata:
|
||||
groupName: servers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: delete
|
||||
description: 'Delete server.'
|
||||
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: 29
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
project_id: 1
|
||||
server_id: 29
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 204
|
||||
content: null
|
||||
headers: []
|
||||
description: ''
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer v3ceb6d6V1aDk584EhgfaZP'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
|
Reference in New Issue
Block a user