aboutsummaryrefslogtreecommitdiff
path: root/src/canary/job.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/canary/job.ts')
-rw-r--r--src/canary/job.ts41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/canary/job.ts b/src/canary/job.ts
new file mode 100644
index 0000000..61af876
--- /dev/null
+++ b/src/canary/job.ts
@@ -0,0 +1,41 @@
+import { D } from "../util";
+
+export interface PingJob {
+ hosts: string[];
+}
+
+export interface Retry {
+ retries: number;
+ interval: D.Duration;
+}
+
+export interface HealthCheckJob {
+ healthcheck_routes: string[];
+}
+
+export interface DnsJob {
+ resolutions: { [key: string]: string };
+}
+
+export interface EmailInstruction {
+ email: string;
+ username: string;
+ password: string;
+ server: string;
+}
+
+export interface EmailFromInstruction extends EmailInstruction {
+ send_port: number;
+}
+
+export interface EmailToInstruction extends EmailInstruction {
+ read_port: number;
+}
+
+export interface EmailJob {
+ from: EmailFromInstruction;
+ to: EmailToInstruction;
+ readRetry: Retry;
+}
+
+export type Job = EmailJob | PingJob | HealthCheckJob | DnsJob;