Refactor preview deployments to use a single shared Caddy gateway container with subdomain routing (<previewId>.localhost:<port>) instead of one Caddy sidecar and one port per preview. Adds dev/preview modes, git worktree support for branch checkouts, and auto-start on phase:pending_review. - Add GatewayManager for shared Caddy lifecycle + Caddyfile generation - Add git worktree helpers for preview mode branch checkouts - Add dev mode: volume-mount + dev server image instead of build - Remove per-preview Caddy sidecar and port publishing - Use shared cw-preview-net Docker network with container name DNS - Auto-start previews when phase enters pending_review - Delete unused PreviewPanel.tsx - Update all tests (40 pass), docs, events, CLI, tRPC, frontend
47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
/**
|
|
* Preview Module — Barrel Exports
|
|
*/
|
|
|
|
export { PreviewManager } from './manager.js';
|
|
export { discoverConfig, parseCwPreviewConfig } from './config-reader.js';
|
|
export {
|
|
generateComposeFile,
|
|
generateLabels,
|
|
} from './compose-generator.js';
|
|
export {
|
|
GatewayManager,
|
|
generateGatewayCaddyfile,
|
|
} from './gateway.js';
|
|
export type { GatewayRoute } from './gateway.js';
|
|
export {
|
|
createPreviewWorktree,
|
|
removePreviewWorktree,
|
|
} from './worktree.js';
|
|
export {
|
|
isDockerAvailable,
|
|
composeUp,
|
|
composeDown,
|
|
composePs,
|
|
listPreviewProjects,
|
|
getContainerLabels,
|
|
ensureDockerNetwork,
|
|
removeDockerNetwork,
|
|
dockerNetworkExists,
|
|
} from './docker-client.js';
|
|
export { waitForHealthy } from './health-checker.js';
|
|
export { allocatePort } from './port-allocator.js';
|
|
export type {
|
|
PreviewConfig,
|
|
PreviewServiceConfig,
|
|
PreviewServiceDevConfig,
|
|
PreviewStatus,
|
|
StartPreviewOptions,
|
|
HealthResult,
|
|
} from './types.js';
|
|
export {
|
|
PREVIEW_LABELS,
|
|
COMPOSE_PROJECT_PREFIX,
|
|
GATEWAY_PROJECT_NAME,
|
|
GATEWAY_NETWORK,
|
|
} from './types.js';
|