Skip to content

Commit a2c51b9

Browse files
committed
feat(svc): add servers database
1 parent 60de313 commit a2c51b9

File tree

158 files changed

+13553
-1673
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+13553
-1673
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name = "SERVERS_MULTIPLE_PORT_ROUTERS"
3+
description = "Multiple server port routers were provided."
4+
http_status = 400
5+
---
6+
7+
# Multiple Server Port Routers
8+
9+
Multiple server port routers were provided.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name = "SERVERS_MULTIPLE_RUNTIMES"
3+
description = "Multiple server runtimes were provided."
4+
http_status = 400
5+
---
6+
7+
# Multiple Server Runtimes
8+
9+
Multiple server runtimes were provided.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name = "SERVERS_NO_PORT_ROUTERS"
3+
description = "No port routers were provided."
4+
http_status = 400
5+
---
6+
7+
# No Port Routers
8+
9+
No port routers were provided.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name = "SERVERS_NO_RUNTIME"
3+
description = "No server runtime were provided."
4+
http_status = 400
5+
---
6+
7+
# No Server Runtime
8+
9+
No server runtime were provided.

fern/definition/cloud/games/tokens.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ service:
1212
game_id:
1313
type: uuid
1414
response: CreateCloudTokenResponse
15+
createServiceToken:
16+
path: /games/{game_id}/tokens/service
17+
method: POST
18+
docs: Creates a new game service token.
19+
path-parameters:
20+
game_id:
21+
type: uuid
22+
response: CreateCloudTokenResponse
1523

1624
types:
1725
CreateCloudTokenResponse:
@@ -22,3 +30,9 @@ types:
2230
Slightly modified to include a description prefix and use Protobufs of
2331
JSON.
2432
type: string
33+
CreateServiceTokenResponse:
34+
properties:
35+
token:
36+
docs: |-
37+
A JSON Web Token.
38+
type: string

fern/definition/servers/__package__.yml

Lines changed: 0 additions & 5 deletions
This file was deleted.

fern/definition/servers/common.yml

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,78 @@
11
# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json
22

33
types:
4+
Server:
5+
properties:
6+
server_id: uuid
7+
game_id: uuid
8+
datacenter_id: uuid
9+
cluster_id: uuid
10+
metadata: unknown
11+
resources: Resources
12+
kill_timeout:
13+
docs: >-
14+
The duration to wait for in milliseconds before killing the server.
15+
This should be set to a safe default, and can be overridden during a
16+
DELETE request if needed.
17+
type: optional<long>
18+
runtime: Runtime
19+
create_ts: long
20+
destroy_ts: optional<long>
21+
22+
Resources:
23+
properties:
24+
cpu:
25+
docs: |
26+
The number of CPU cores in millicores, or 1/1000 of a core. For example,
27+
1/8 of a core would be 125 millicores, and 1 core would be 1000
28+
millicores.
29+
type: integer
30+
memory:
31+
docs: The amount of memory in megabytes
32+
type: integer
33+
434
Runtime:
535
properties:
636
docker: optional<DockerRuntime>
737

838
DockerRuntime:
939
properties:
10-
image_id: string
11-
args: list<string>
12-
environment: map<string, string>
40+
image_id: uuid
41+
args: optional<list<string>>
42+
environment: optional<map<string, string>>
1343
network: DockerNetwork
1444

1545
DockerNetwork:
1646
properties:
17-
mode: DockerNetworkMode
47+
mode: optional<DockerNetworkMode>
1848
ports: map<string, DockerPort>
1949

2050
DockerNetworkMode:
2151
enum:
22-
- host
2352
- bridge
24-
25-
GameGuardProtocol:
26-
enum:
27-
- http
28-
- https
29-
- tcp
30-
- tcp_tls
31-
- udp
53+
- host
3254

3355
DockerPort:
3456
properties:
3557
port: optional<integer>
3658
routing: DockerPortRouting
3759

38-
DockerPortRouting:
60+
DockerPortRouting:
3961
properties:
40-
game_guard: optional<GameGuardProtocol>
62+
game_guard: optional<DockerGameGuardRouting>
4163
host: optional<DockerHostRouting>
4264

43-
DockerHostRouting:
65+
DockerGameGuardRouting:
4466
properties:
45-
null: unknown
67+
protocol: optional<GameGuardProtocol>
4668

47-
Server:
48-
properties:
49-
null: unknown
69+
GameGuardProtocol:
70+
enum:
71+
- http
72+
- https
73+
- tcp
74+
- tcp_tls
75+
- udp
76+
77+
DockerHostRouting:
78+
properties: {}

fern/definition/servers/datacenters/__package__.yml

Lines changed: 0 additions & 11 deletions
This file was deleted.

fern/definition/servers/images/__package__.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json
2+
3+
imports:
4+
commons: common.yml
5+
6+
service:
7+
auth: true
8+
base-path: /servers/servers
9+
endpoints:
10+
create:
11+
path: ""
12+
method: POST
13+
docs: Create a new dynamic server.
14+
request:
15+
body: CreateServerRequest
16+
response: CreateServerResponse
17+
destroy:
18+
path: "/{server_id}"
19+
method: DELETE
20+
docs: Destroy a dynamic server.
21+
path-parameters:
22+
server_id:
23+
docs: The id of the server to destroy
24+
type: uuid
25+
request:
26+
name: DestroyServerRequest
27+
query-parameters:
28+
override_kill_timeout:
29+
docs: >-
30+
The duration to wait for in milliseconds before killing the server.
31+
This should be used to override the default kill timeout if a faster
32+
time is needed, say for ignoring a graceful shutdown.
33+
type: optional<long>
34+
response: DestroyServerResponse
35+
36+
types:
37+
CreateServerRequest:
38+
properties:
39+
datacenter:
40+
docs: The name ID of the datacenter
41+
type: string
42+
metadata: unknown
43+
resources: commons.Resources
44+
kill_timeout:
45+
docs: >-
46+
The duration to wait for in milliseconds before killing the server.
47+
This should be set to a safe default, and can be overridden during a
48+
DELETE request if needed.
49+
type: optional<long>
50+
runtime: commons.Runtime
51+
CreateServerResponse:
52+
properties:
53+
server:
54+
docs: The server that was created
55+
type: commons.Server
56+
DestroyServerResponse:
57+
properties:
58+
server_id:
59+
type: uuid

0 commit comments

Comments
 (0)