14export const eptEnsStaticSite = async ({importMetaUrl, publicDir = 'public', svcPortNo = 3000, ensName, getWallet, ipfsApiUrl, ipfsGatewayUrl, ...props}: {importMetaUrl: string, publicDir?: string, svcPortNo?: number, ensName?: string, getWallet?: () => any, ipfsApiUrl?: string, ipfsGatewayUrl?: string, [k: string]: any}) => { 15 const isEns = Boolean(ensName) 16 const isK8s = Boolean(props.kube_extHostname) 17 throwIf(() => isEns && isK8s, {ensName, kube_extHostname: props.kube_extHostname}) 18 throwIf(() => !isEns && !isK8s, {ensName, kube_extHostname: props.kube_extHostname}) 20 const fullConfig = {importMetaUrl, publicDir, svcPortNo, ensName, getWallet, ipfsApiUrl, ipfsGatewayUrl, ...props} 28 const ensInfo = async () => doEnsInfo({ensName: ensName!}) 29 ensInfo.cliDescript = 'show current ENS contenthash' 30 const ensApply = async () => doEnsApply({uploadDir: root, ensName: ensName!, getWallet: getWallet!, ipfsApiUrl, ipfsGatewayUrl}) 31 ensApply.cliDescript = 'upload to IPFS and set ENS contenthash' 32 const actionsH: Record<string, (...args: any[]) => Promise<void>> = {devserver: staticSiteDevserver, info: ensInfo, apply: ensApply} 33 availActionsCtx.enterWith({...availActionsCtx.getStore(), ...actionsH}) 35 const wantsHelp = action === 'help' || !action || cliFlag('--help') 36 if (wantsHelp || !actionsH[action!]) { 37 cliBase({actionNames: Object.keys(actionsH), actionsH}) 43 availActionsCtx.enterWith({...availActionsCtx.getStore(), ...getDeployActions(), devserver: staticSiteDevserver}) 45 await doStaticSiteK8sApply({...props, importMetaUrl, svcPortNo, publicDir: root, action}) 49export const doStaticSiteK8sApply = async (props: Record<string, any>) => { 50 const { publicDir, svcPortNo } = props 52 nextContCtx.enterWith({ 53 command: ['http-server', '/app', '-p', String(svcPortNo), '-a', '0.0.0.0', '-c-1'], 54 ports: [{containerPort: svcPortNo}],