browser-vault-gui/src/types.ts
2025-10-20 18:45:52 +02:00

50 lines
949 B
TypeScript

export interface VaultServer {
id: string;
name: string;
url: string;
description?: string;
kvVersion?: 1 | 2; // KV secret engine version (default: 2)
}
export interface VaultCredentials {
serverId: string;
token?: string;
username?: string;
password?: string;
authMethod: 'token' | 'userpass' | 'ldap';
}
export interface MountPoint {
path: string;
type: string;
description: string;
accessor: string;
config: {
default_lease_ttl: number;
max_lease_ttl: number;
};
options: {
version?: string;
} | Record<string, never>;
}
export interface VaultConnection {
server: VaultServer;
credentials: VaultCredentials;
isConnected: boolean;
lastConnected?: Date;
mountPoints?: MountPoint[];
}
export interface VaultSecret {
path: string;
data: Record<string, unknown>;
metadata?: {
created_time: string;
deletion_time: string;
destroyed: boolean;
version: number;
};
}