import { URI, URL } from "../types"; import { GotifyConfig, NtfyConfig, WebhookConfig } from "./notification"; export type Providers = { /** List of route definition files to include * * @minItems 1 * @examples require(".").includeExamples * @items.pattern ^[\w\d\-_]+\.(yaml|yml)$ */ include?: URI[]; /** Name-value mapping of docker hosts to retrieve routes from * * @minProperties 1 * @examples require(".").dockerExamples */ docker?: { [name: string]: URL | "$DOCKER_HOST" }; /** List of notification providers * * @minItems 1 * @examples require(".").notificationExamples */ notification?: (WebhookConfig | GotifyConfig | NtfyConfig)[]; }; export const includeExamples = ["file1.yml", "file2.yml"] as const; export const dockerExamples = [ { local: "$DOCKER_HOST" }, { remote: "tcp://10.0.2.1:2375" }, { remote2: "ssh://root:1234@10.0.2.2" }, ] as const; export const notificationExamples = [ { name: "gotify", provider: "gotify", url: "https://gotify.domain.tld", token: "abcd", }, { name: "discord", provider: "webhook", template: "discord", url: "https://discord.com/api/webhooks/1234/abcd", }, ] as const;