Files
yandexcloud-k3s/terraform/main/configs/api_gateway/spec.yaml
T
2025-10-31 15:20:30 +03:00

142 lines
3.8 KiB
YAML

openapi: "3.0.0"
info:
version: 1.0.0
title: API Gateway
paths:
/health:
get:
summary: Health Check
description: Endpoint to confirm the API Gateway service is operational.
operationId: healthCheck
x-yc-apigateway-integration:
type: dummy
http_code: 200
http_headers:
"Content-Type": "application/json"
content:
"*": '{"status": "ok"}'
responses:
"200":
description: Service is healthy.
/config:
get:
summary: Config
description: Implementation of frontend dynamic configuration.
operationId: config
x-yc-apigateway-integration:
type: dummy
http_code: 200
http_headers:
"Content-Type": "application/json"
content:
"*": '{"backend_url": "https://some.backend.example.com"}'
responses:
"200":
description: Config returned.
/assets/{path+}:
get:
summary: Get Static File
description: Serves static files from the S3 bucket.
operationId: getAssetsFile
parameters:
- name: path
in: path
required: true
schema:
type: string
x-yc-apigateway-integration:
type: object_storage
bucket: "${bucket_name}"
object: "current/assets/{path}"
error_object: "old/assets/{path}"
responses:
"200":
description: Static file content.
"404":
description: Asset not found.
/img/{path+}:
get:
summary: Get Static File
description: Serves static files from the S3 bucket.
operationId: getImgFile
parameters:
- name: path
in: path
required: true
schema:
type: string
x-yc-apigateway-integration:
type: object_storage
bucket: "${bucket_name}"
object: "current/img/{path}"
error_object: "old/img/{path}"
responses:
"200":
description: Static file content.
"404":
description: Asset not found.
/favicon.svg:
get:
summary: Get Static File
description: Serves static files from the S3 bucket.
operationId: getFaviconFile
parameters:
- name: path
in: path
required: true
schema:
type: string
x-yc-apigateway-integration:
type: object_storage
bucket: "${bucket_name}"
object: "current/favicon.svg"
error_object: "old/favicon.svg"
responses:
"200":
description: Static file content.
"404":
description: Asset not found.
/:
get:
summary: Serve SPA Entrypoint (Root)
description: Serves the main 'index.html' file for requests to the root of the domain.
operationId: getSpaIndexRoot
x-yc-apigateway-integration:
type: object_storage
bucket: "${bucket_name}"
object: "current/index.html"
error_object: "old/index.html"
responses:
"200":
description: Main HTML page of the SPA.
"404":
description: "'index.html' not found in the bucket."
/{proxy+}:
get:
summary: Serve SPA Entrypoint (Client-Side Routes)
description: Catches all other application paths and serves 'index.html', enabling client-side routing.
operationId: getSpaIndexCatchAll
parameters:
- name: proxy
in: path
required: true
schema:
type: string
x-yc-apigateway-integration:
type: object_storage
bucket: "${bucket_name}"
object: "current/index.html"
error_object: "old/index.html"
responses:
"200":
description: Main HTML page of the SPA.
"404":
description: "'index.html' not found in the bucket."