aboutsummaryrefslogtreecommitdiff
path: root/src/canary/job.ts
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-07-21 15:41:56 -0700
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-07-21 15:41:56 -0700
commit452c41a75aa2f9036614d677fda3867221db959e (patch)
tree98f2ee2ccd0858a120c5cd618641615f0fc5e026 /src/canary/job.ts
downloadmon.hatecomputers.club-452c41a75aa2f9036614d677fda3867221db959e.tar.gz
mon.hatecomputers.club-452c41a75aa2f9036614d677fda3867221db959e.zip
add a simple email job
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;