fix(web): regenerate OpenAPI types after speaker install schema
quality / commitlint (push) Skipped
quality / changes (push) Successful in 9s
quality / go (push) Skipped
quality / bird2 (push) Skipped
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 27s
quality / web (push) Successful in 1m21s
CD / quality (push) Successful in 2m2s
CD / publish (push) Successful in 6m33s
quality / commitlint (push) Skipped
quality / changes (push) Successful in 9s
quality / go (push) Skipped
quality / bird2 (push) Skipped
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 27s
quality / web (push) Successful in 1m21s
CD / quality (push) Successful in 2m2s
CD / publish (push) Successful in 6m33s
Синхронизирован api.gen.ts с docs/openapi.yaml, чтобы CI check-openapi-gen не падал после BgpSpeakerCreated и install.docker_commands. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -763,7 +763,7 @@ export interface paths {
|
||||
put?: never;
|
||||
/**
|
||||
* Зарегистрировать спикер
|
||||
* @description Реплика, canary и т.д.
|
||||
* @description Реплика или master. Для replica 201 содержит agent_secret, node_token и install.docker_commands (bird2 + agent + Traefik LE DNS-01) — один раз.
|
||||
*/
|
||||
post: operations["createSpeaker"];
|
||||
delete?: never;
|
||||
@@ -2733,11 +2733,38 @@ export interface components {
|
||||
role: string;
|
||||
/** @description URL agent или https://AGENT_DOMAIN */
|
||||
endpoint: string;
|
||||
/** @description JSON-объект. Ключи node_ipv4, bird_bgp_source_ipv4 (default = node_ipv4), agent_domain, agent_secret (генерируется при создании если пуст). */
|
||||
meta_json?: string;
|
||||
/** @description JSON-объект (строка или object). Ключи node_ipv4, bird_bgp_source_ipv4 (default = node_ipv4), agent_domain, agent_secret (генерируется при создании если пуст). */
|
||||
meta_json?: string | Record<string, never>;
|
||||
/** @description Email ACME для Traefik на ноде. Только для генерации install.docker_commands, не сохраняется. */
|
||||
letsencrypt_email?: string;
|
||||
/** @description Cloudflare DNS API token (Zone:DNS:Edit) для LE DNS-01. Только для install-сниппета, не сохраняется. */
|
||||
cf_dns_api_token?: string;
|
||||
/** @description CIDR/IP панели для Traefik ipallowlist. Только для install-сниппета, не сохраняется. */
|
||||
panel_ip_whitelist?: string;
|
||||
/**
|
||||
* Format: uri
|
||||
* @description Публичный HTTPS URL панели (EVOBGP_CONTROL_PLANE_URL на реплике). Если пуст — из Origin / X-Forwarded-Host.
|
||||
*/
|
||||
control_plane_url?: string;
|
||||
} & {
|
||||
[key: string]: unknown;
|
||||
};
|
||||
/** @description Одноразовый пакет установки реплики (только POST /v1/speakers 201). */
|
||||
SpeakerInstall: {
|
||||
/** @description Bash: sysctl, heredoc docker-compose.yaml (bird2 + agent + Traefik DNS-01) и docker compose up -d. */
|
||||
docker_commands?: string;
|
||||
/** @description Тело docker-compose.yaml без heredoc (превью). */
|
||||
compose_yaml?: string;
|
||||
};
|
||||
BgpSpeakerCreated: components["schemas"]["BgpSpeaker"] & {
|
||||
/** @description Bearer для Panel→Node (EVOBGP_AGENT_SECRET). Только в 201. */
|
||||
agent_secret?: string;
|
||||
/** @description API-ключ role=node (EVOBGP_NODE_TOKEN). Только в 201. */
|
||||
node_token?: string;
|
||||
/** @description Ed25519 pubkey для verify-bundle на ноде. */
|
||||
bundle_pubkey_base64?: string;
|
||||
install?: components["schemas"]["SpeakerInstall"];
|
||||
};
|
||||
BgpSpeakerPatch: {
|
||||
role?: string;
|
||||
endpoint?: string;
|
||||
@@ -4576,13 +4603,13 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Ресурс создан. */
|
||||
/** @description Ресурс создан. Для replica — одноразовый install-сниппет. */
|
||||
201: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["BgpSpeaker"];
|
||||
"application/json": components["schemas"]["BgpSpeakerCreated"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["DefaultProblem"];
|
||||
|
||||
Reference in New Issue
Block a user