mirror of
https://github.com/tale/headplane.git
synced 2026-08-06 12:17:41 +00:00
8cb91cd45b
* Added backoff and liveness probes for better management * Switched IPC to a simple text based system * Lookups don't directly touch the agent now * Use the database as a source of truth
22 lines
750 B
TypeScript
22 lines
750 B
TypeScript
import { integer, sqliteTable, text } from 'drizzle-orm/sqlite-core';
|
|
import { HostInfo } from '~/types';
|
|
|
|
export const ephemeralNodes = sqliteTable('ephemeral_nodes', {
|
|
auth_key: text('auth_key').primaryKey(),
|
|
node_key: text('node_key'),
|
|
});
|
|
|
|
export type EphemeralNode = typeof ephemeralNodes.$inferSelect;
|
|
export type EphemeralNodeInsert = typeof ephemeralNodes.$inferInsert;
|
|
|
|
export const hostInfo = sqliteTable('host_info', {
|
|
host_id: text('host_id').primaryKey(),
|
|
payload: text('payload', { mode: 'json' }).$type<HostInfo>(),
|
|
updated_at: integer('updated_at', { mode: 'timestamp' }).$default(
|
|
() => new Date(),
|
|
),
|
|
});
|
|
|
|
export type HostInfoRecord = typeof hostInfo.$inferSelect;
|
|
export type HostInfoInsert = typeof hostInfo.$inferInsert;
|