/* * SysDeck - Encryption Vault Panel * Author: Jeremy Anderson (https://dcos.net) * * Lists LUKS-encrypted block devices via `lsblk -J`. The bridge parser * filters to fstype=crypto_LUKS and surfaces device name + size. */ export async function mount(panel, { bridge, EventBus }) { panel.innerHTML = renderSkeleton(); let luks = []; try { luks = await bridge.vault.listLuks(); } catch (err) { panel.innerHTML = renderError(err); return; } panel.innerHTML = `

Encryption Vault

${luks.length} LUKS volumes detected

${luks.map((d) => ` `).join('') || ''}
DeviceFSTypeMountpointSize
${d.name} ${d.fstype} ${d.mountpoint ?? '—'} ${d.size ?? '—'}
No LUKS volumes found.
`; EventBus.emit('vault.loaded', { luksCount: luks.length }); } function renderSkeleton() { return `
`; } function renderError(err) { return `

lsblk unavailable

${err.message || err}.

`; }