GoDoxy/schemas/config/entrypoint.ts
2025-01-17 14:10:13 +08:00

50 lines
1 KiB
TypeScript

import { MiddlewareComposeConfig } from "../middlewares/middleware_compose";
import { AccessLogConfig } from "./access_log";
/**
* @additionalProperties false
*/
export type EntrypointConfig = {
/** Entrypoint middleware configuration
*
* @examples require(".").middlewaresExamples
*/
middlewares: MiddlewareComposeConfig;
/** Entrypoint access log configuration
*
* @examples require(".").accessLogExamples
*/
access_log?: AccessLogConfig;
};
export const accessLogExamples = [
{
path: "/var/log/access.log",
format: "combined",
filters: {
status_codes: {
values: ["200-299"],
},
},
fields: {
headers: {
default: "keep",
config: {
foo: "redact",
},
},
},
},
] as const;
export const middlewaresExamples = [
{
use: "RedirectHTTP",
},
{
use: "CIDRWhitelist",
allow: ["127.0.0.1", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"],
status: 403,
message: "Forbidden",
},
] as const;