@gftdcojp/gftd-cli
Version:
GFTD Schema Management CLI - Drizzle-like schema management for Kafka and ksqlDB
77 lines • 1.98 kB
TypeScript
/**
* DNS Manager - Local DNS Resolution Management
* Automatically manages /etc/hosts file for development domains
*/
export interface DnsEntry {
ip: string;
hostname: string;
comment?: string;
}
export declare class DnsManager {
private hostsPath;
private backupPath;
private domain;
private marker;
constructor(domain?: string);
/**
* 管理者権限チェック
*/
checkPermissions(): Promise<boolean>;
/**
* sudoで実行可能かチェック
*/
checkSudoAccess(): Promise<boolean>;
/**
* hostsファイルのバックアップ作成
*/
createBackup(): Promise<void>;
/**
* hostsファイルを読み込み
*/
readHosts(): Promise<string>;
/**
* hostsファイルに書き込み
*/
writeHosts(content: string): Promise<void>;
/**
* GFTD管理のエントリを取得
*/
getManagedEntries(): Promise<DnsEntry[]>;
/**
* DNSエントリを追加
*/
addEntry(hostname: string, ip?: string, comment?: string): Promise<void>;
/**
* DNSエントリを削除
*/
removeEntry(hostname: string): Promise<void>;
/**
* 全てのGFTD管理エントリを削除
*/
removeAllEntries(): Promise<void>;
/**
* プロジェクト用のDNSエントリを追加
*/
addProjectEntry(subdomain: string, projectName: string): Promise<void>;
/**
* プロジェクト用のDNSエントリを削除
*/
removeProjectEntry(subdomain: string): Promise<void>;
/**
* 管理状況を表示
*/
showStatus(): Promise<void>;
/**
* DNS設定の初期化
*/
initialize(): Promise<void>;
/**
* バックアップから復元
*/
restoreBackup(): Promise<void>;
private insertEntry;
private removeEntryFromContent;
private removeGftdSection;
private initializeGftdSection;
}
//# sourceMappingURL=dns-manager.d.ts.map