mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-27 20:49:52 +01:00
Compare commits
4
Commits
877ba9408d
...
269df9586d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
269df9586d | ||
|
|
3152c18840 | ||
|
|
52630596b8 | ||
|
|
7e184b8be0 |
No files matched your search
@@ -2,7 +2,7 @@ name: Discover IDs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: infrastructure
|
||||
branches: production
|
||||
|
||||
schedule:
|
||||
- cron: 0 */6 * * *
|
||||
@@ -23,6 +23,7 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: production
|
||||
submodules: recursive
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
|
||||
@@ -2,19 +2,30 @@ name: Website
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: production
|
||||
|
||||
schedule:
|
||||
- cron: "0 4 * * *"
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: Branch
|
||||
|
||||
type: choice
|
||||
required: true
|
||||
default: production
|
||||
|
||||
options:
|
||||
- production
|
||||
- main
|
||||
|
||||
environment:
|
||||
description: Environment
|
||||
|
||||
required: true
|
||||
# default: production
|
||||
default: beta
|
||||
type: choice
|
||||
required: true
|
||||
default: production
|
||||
|
||||
options:
|
||||
- development
|
||||
@@ -32,7 +43,7 @@ concurrency:
|
||||
|
||||
env:
|
||||
# blitzkit
|
||||
PUBLIC_ENVIRONMENT: ${{ inputs.environment || 'beta' }}
|
||||
PUBLIC_ENVIRONMENT: ${{ inputs.environment || 'production' }}
|
||||
PUBLIC_PROMOTE_OPENTEST: false
|
||||
PUBLIC_STATIC_ASSET_BASE: https://assets.blitzkit.app
|
||||
PUBLIC_GUIDE_WEBSITE: https://guidesblitz.com
|
||||
@@ -73,6 +84,7 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ inputs.branch || 'production' }}
|
||||
submodules: recursive
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
@@ -137,8 +149,6 @@ jobs:
|
||||
|
||||
- name: Trigger deployment
|
||||
|
||||
if: github.ref_name == 'production' || github.ref_name == 'infrastructure'
|
||||
|
||||
env:
|
||||
TOKEN: ${{ secrets.GH_NODE_DEPLOY_TOKEN }}
|
||||
CHUNK: ${{ matrix.chunk }}
|
||||
|
||||
@@ -24,19 +24,18 @@ If you intend to contribute to the code, note that you may need to check out sen
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Name | Source | BlitzKit Default | Memo |
|
||||
| ------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `PUBLIC_WARGAMING_APPLICATION_ID` | [Wargaming Developer's Room](https://developers.wargaming.net/) | | Application ID needed to communicate with Wargaming APIs. |
|
||||
| `PUBLIC_PROMOTE_OPENTEST` | | `false` | Optional boolean dictating whether the website advertises [the opentest subdomain of BlitzKit](https://opentest.blitzkit.app/). |
|
||||
| `ALLOW_ROBOTS` | | `true` | Toggles between `Allow: /` and `Disallow: /` in the website's `/robots.txt`. This is usually `false` for all BlitzKit's subdomains. |
|
||||
| `WOTB_GLOSSARY`, `WOTB_GLOSSARY_DOMAIN`, `WOTB_GLOSSARY_PATH` | | | |
|
||||
| `PUBLIC_GOOGLE_TAG_MANAGER_ID` | [Google Tag Manager](https://tagmanager.google.com/) | `G-GL2JVHCGPQ` | Google Tag Manager's unique identifier for analytical purposes. |
|
||||
| `PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID` | [Google Analytics](https://analytics.google.com/) | `430711767` | Google Analytics' unique property ID for [BlitzKit's apex domain](https://blitzkit.app/) and subdomains. |
|
||||
| `GOOGLE_APPLICATION_CREDENTIALS` | [Google Cloud](https://cloud.google.com/) | | Google Cloud's API key, primarily used for ranking popular tanks and finding relevant tank review videos in Tankopedia. |
|
||||
| `PUBLIC_DISCORD_SERVER_ID` | [BlitzKit Discord Server](https://discord.gg/nDt7AjGJQH) | `734786591205359697` | BlitzKit Discord Server's id. |
|
||||
| `PUBLIC_ASSET_BASE` | [blitzkit/assets](https://github.com/blitzkit/assets) | `https://blitzkit.github.io/assets` | The root domain and path that serves the external assets like tank models and icons. |
|
||||
| `PUBLIC_GUIDE_WEBSITE` | [GuidesBlitz](https://guidesblitz.com/) | `https://guidesblitz.com` | The website that serves the encyclopedia-like content in BlitzKit. |
|
||||
| `SERVICING` | | `false` | Wether the website is down for servicing. |
|
||||
| `GH_TOKEN` | [GitHub Fine-Grained Tokens](https://github.com/settings/personal-access-tokens) | | The GitHub API key used for checking out private submodules and pushing content to the asset repository. |
|
||||
| `DATABASE_URL` | [CockroachDB](https://www.cockroachlabs.com/) | | The CockroachDB-SQL database URL used to link Wargaming and Discord users. |
|
||||
| `WOTB_DLC_CDN` | | | |
|
||||
| Name | Source | BlitzKit Default | Memo |
|
||||
| ------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `PUBLIC_WARGAMING_APPLICATION_ID` | [Wargaming Developer's Room](https://developers.wargaming.net/) | | Application ID needed to communicate with Wargaming APIs. |
|
||||
| `PUBLIC_PROMOTE_OPENTEST` | | `false` | Optional boolean dictating whether the website advertises [the opentest subdomain of BlitzKit](https://opentest.blitzkit.app/). |
|
||||
| `WOTB_GLOSSARY`, `WOTB_GLOSSARY_DOMAIN`, `WOTB_GLOSSARY_PATH` | | | |
|
||||
| `PUBLIC_GOOGLE_TAG_MANAGER_ID` | [Google Tag Manager](https://tagmanager.google.com/) | `G-GL2JVHCGPQ` | Google Tag Manager's unique identifier for analytical purposes. |
|
||||
| `PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID` | [Google Analytics](https://analytics.google.com/) | `430711767` | Google Analytics' unique property ID for [BlitzKit's apex domain](https://blitzkit.app/) and subdomains. |
|
||||
| `GOOGLE_APPLICATION_CREDENTIALS` | [Google Cloud](https://cloud.google.com/) | | Google Cloud's API key, primarily used for ranking popular tanks and finding relevant tank review videos in Tankopedia. |
|
||||
| `PUBLIC_DISCORD_SERVER_ID` | [BlitzKit Discord Server](https://discord.gg/nDt7AjGJQH) | `734786591205359697` | BlitzKit Discord Server's id. |
|
||||
| `PUBLIC_ASSET_BASE` | [blitzkit/assets](https://github.com/blitzkit/assets) | `https://blitzkit.github.io/assets` | The root domain and path that serves the external assets like tank models and icons. |
|
||||
| `PUBLIC_GUIDE_WEBSITE` | [GuidesBlitz](https://guidesblitz.com/) | `https://guidesblitz.com` | The website that serves the encyclopedia-like content in BlitzKit. |
|
||||
| `SERVICING` | | `false` | Wether the website is down for servicing. |
|
||||
| `GH_TOKEN` | [GitHub Fine-Grained Tokens](https://github.com/settings/personal-access-tokens) | | The GitHub API key used for checking out private submodules and pushing content to the asset repository. |
|
||||
| `DATABASE_URL` | [CockroachDB](https://www.cockroachlabs.com/) | | The CockroachDB-SQL database URL used to link Wargaming and Discord users. |
|
||||
| `WOTB_DLC_CDN` | | | |
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"robots": false,
|
||||
"canonical": "https://blitzkit.app",
|
||||
|
||||
"paths": {
|
||||
"default": null,
|
||||
"api": null
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"robots": false,
|
||||
"canonical": "https://blitzkit.app",
|
||||
|
||||
"paths": {
|
||||
"default": null,
|
||||
"api": "api"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"robots": false,
|
||||
"canonical": "https://blitzkit.app",
|
||||
|
||||
"paths": {
|
||||
"default": null,
|
||||
"api": null
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"robots": false,
|
||||
"canonical": "https://blitzkit.app",
|
||||
|
||||
"paths": {
|
||||
"default": null,
|
||||
"api": null
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"robots": true,
|
||||
"canonical": "https://blitzkit.app",
|
||||
|
||||
"paths": {
|
||||
"default": null,
|
||||
"api": null
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { assertSecret } from "@blitzkit/core";
|
||||
|
||||
interface EnvironmentConfig {
|
||||
robots: boolean;
|
||||
canonical: string;
|
||||
paths: Record<string, string | null>;
|
||||
nodes: Record<string, string>;
|
||||
aliases: Record<string, string>;
|
||||
|
||||
@@ -1 +1,10 @@
|
||||
export const IDS_API_BASE = "https://ids.blitzkit.app";
|
||||
|
||||
export const PARAMETERS = [
|
||||
"spotted",
|
||||
"hits",
|
||||
"frags",
|
||||
"wins",
|
||||
"losses",
|
||||
"capture_points",
|
||||
];
|
||||
@@ -18,7 +18,7 @@ interface QuickStatisticsTank {
|
||||
all: Record<string, number>;
|
||||
}
|
||||
|
||||
interface Observations {
|
||||
interface ChunkObservations {
|
||||
count: number;
|
||||
observations: Record<number, Observation>;
|
||||
}
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
import type { APIContext } from 'astro';
|
||||
|
||||
const ALLOW_ROBOTS = import.meta.env.ALLOW_ROBOTS;
|
||||
import { environmentConfig } from "@blitzkit/core";
|
||||
import type { APIContext } from "astro";
|
||||
|
||||
export async function GET({ request }: APIContext) {
|
||||
const config = environmentConfig();
|
||||
|
||||
const flags: Record<string, string | null> = {
|
||||
'User-agent': '*',
|
||||
Allow: ALLOW_ROBOTS ? '/' : null,
|
||||
Disallow: ALLOW_ROBOTS ? null : '/',
|
||||
"User-agent": "*",
|
||||
Allow: config.robots ? "/" : null,
|
||||
Disallow: config.robots ? null : "/",
|
||||
|
||||
space: null,
|
||||
|
||||
Sitemap: `${new URL(request.url).origin}/sitemap-index.xml`,
|
||||
};
|
||||
|
||||
return new Response(
|
||||
Object.entries(flags)
|
||||
.map(([key, value]) => (value === null ? '' : `${key}: ${value}`))
|
||||
.join('\n'),
|
||||
.map(([key, value]) => (value === null ? "" : `${key}: ${value}`))
|
||||
.join("\n"),
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user