50 lines
949 B
TypeScript
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;
|
|
};
|
|
}
|
|
|