mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 16:55:37 +02:00
>Adds `maitred` in charge of handling automated game installs, updates,
and even execution.
>Not only that, we have the hosted stuff here
>- [x] AWS Task on ECS GPUs
>- [ ] Add a service to listen for game starts and stops
(docker-compose.yml)
>- [x] Add a queue for requesting a game to start
>- [x] Fix up the play/watch UI
>TODO:
>- Add a README
>- Add an SST docs
Edit:
- This adds a new landing page, updates the homepage etc etc
>I forgot what the rest of the updated stuff are 😅
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import { authFingerprintKey } from "./auth";
|
|
import { domain } from "./dns";
|
|
import { secret } from "./secrets"
|
|
// import { party } from "./party"
|
|
import { gpuTaskDefinition, ecsCluster } from "./cluster";
|
|
|
|
export const urls = new sst.Linkable("Urls", {
|
|
properties: {
|
|
api: "https://api." + domain,
|
|
auth: "https://auth." + domain,
|
|
},
|
|
});
|
|
|
|
export const kv = new sst.cloudflare.Kv("CloudflareAuthKV")
|
|
|
|
export const auth = new sst.cloudflare.Worker("Auth", {
|
|
link: [
|
|
kv,
|
|
urls,
|
|
authFingerprintKey,
|
|
secret.InstantAdminToken,
|
|
secret.InstantAppId,
|
|
secret.LoopsApiKey,
|
|
secret.GithubClientID,
|
|
secret.GithubClientSecret,
|
|
secret.DiscordClientID,
|
|
secret.DiscordClientSecret,
|
|
],
|
|
handler: "./packages/functions/src/auth.ts",
|
|
url: true,
|
|
domain: "auth." + domain
|
|
});
|
|
|
|
export const api = new sst.cloudflare.Worker("Api", {
|
|
link: [
|
|
urls,
|
|
ecsCluster,
|
|
gpuTaskDefinition,
|
|
authFingerprintKey,
|
|
secret.LoopsApiKey,
|
|
secret.InstantAppId,
|
|
secret.AwsAccessKey,
|
|
secret.AwsSecretKey,
|
|
secret.InstantAdminToken,
|
|
],
|
|
url: true,
|
|
handler: "./packages/functions/src/api/index.ts",
|
|
domain: "api." + domain
|
|
})
|
|
|
|
export const outputs = {
|
|
auth: auth.url,
|
|
api: api.url
|
|
} |