34const siteStyles = baseStyles + markdownStyles 36const k8sProvisionersA = 'boring k8s provisioners' 37const hetzn1AppsGroup = 'xmtp(eptViteApp), nostr, peertube, opencodeweb' 40 importMetaUrl: import.meta.url, 42 publicDir: '../public', 44 ensNameToRegister: ossEnsName, 46 getWallet: getPeatWal, 47 ipfsApiUrl, ipfsGatewayUrl, 48 renderGalleryIndex, galleryJsxPath, galleryStylesPath, stylesPath, siteStyles, 50 {epH: {threerulecycle}, path: 'threerulecycle', landingPage: 'compare.html', image: 'threerulecycle-tile'}, 51 {epH: {donateapp}, image: 'auto'}, 52 {epH: {donateTorOnion}, image: false}, 53 {epH: {drawinggame}, image: 'images/drawinggame-tile.png', href: 'https://drawinggame.org/oldgames/petesfam/a13c89a3-8eca-4ae5-aee1-d837150a0ece/pete', rounds: [ 54 {label: 'pete\'s idea: "Drunk boaters crash into a whale"'}, 55 {label: 'hazel drew:', image: 'images/drawinggame-tile.png'}, 56 {label: 'otter described: "Drunken boaters crashing into a fish"'}, 57 {label: 'badger drew:', image: 'images/drawinggame-tile-badger.png'}, 60 {epH: {ensgateway}, image: 'auto', href: 'https://vitalik.eth.demokluster.com', screenshotUrl: 'https://vitalik.eth.demokluster.com'}, 61 {epH: {haS3: epFromPath('pt0/haS3/bin/mesh/epSync.mjs')}, image: false}, 62 {epH: {eptMinecraftSync: mcEpCfg}, image: false}, 63 {epH: {gamesappDbEpCfg}, image: false, noCard: true}, 64 {epH: {homeAssProxy}, image: false}, 65 {epH: {setupHetzner}, image: false, collapsedGroup: k8sProvisionersA}, 66 {epH: {ethstatus}, image: false, command: 'ptnode pt0/deployF/ethF/binF/epEthstatus.mjs', noHelp: true}, 67 {epH: {epTornado: epFromPath('pt0/deployF/ethF/binF/epTornado.mjs')}, image: false, command: 'ptnode pt0/deployF/ethF/binF/epTornado.mjs', noHelp: true, helpHref: getSrcFileUrl('pt0/deployF/ethF/binF/epTornado.mjs')}, 68 {epH: {epZhong: epFromPath('pt0/devpconlyF/zhongF/epZhong.mjs')}, image: false, command: 'ptnode pt0/devpconlyF/zhongF/epZhong.mjs', noHelp: true}, 69 {epH: {mcDbEpCfg}, image: false, noCard: true}, 70 {epH: {peatsite: {importMetaUrl: import.meta.url}}, image: 'auto', href: '/', screenshotUrl: 'http://peatsite.localhost:31281', imageAlign: 'top left'}, 71 // {epH: {harv2demoSync: epFromPath('pt0/klustersF/harv2demo/epSync.mjs')}, image: false}, 72 {epH: {epScaffoldVultr: epFromPath('pt0/deployF/k8sF/initialSetupF/epScaffoldVultrAI.mts')}, image: false, noHelp: true, collapsedGroup: k8sProvisionersA}, 73 {epH: {epScaffoldHarvester: epFromPath('pt0/deployF/k8sF/initialSetupF/epScaffoldHarvesterAI.mts')}, image: false, noHelp: true, collapsedGroup: k8sProvisionersA}, 74 {epH: {harvesterPxeCreate: {...epFromPath('pt0/klustersF/harv2demo/harvPxeF/harv2demoorng.mjs'), name: 'harvester-pxe-create'}}, image: false, noHelp: true}, 75 {epH: {harvesterPxeJoinDuct: epFromPath('pt0/klustersF/harv2demo/harvPxeF/harv2demoduct.mjs')}, image: false, collapsedGroup: k8sProvisionersA}, 76 {epH: {harvesterPxeJoinThin: epFromPath('pt0/klustersF/harv2demo/harvPxeF/harv2demothin.mjs')}, image: false, collapsedGroup: k8sProvisionersA}, 77 {epH: {hetzn1Sync: epFromPath('pt0/klustersF/hetzn1/epSync.mjs')}, image: false, collapsedGroup: k8sProvisionersA}, 78 {epH: {xmtpchat}, image: 'auto', screenshotUrl: 'https://xmtp.hetzn1.demokluster.com', collapsedGroup: hetzn1AppsGroup}, 79 {epH: {nostr: epFromPath('pt0/klustersF/hetzn1/epSyncNostr.mjs')}, image: 'auto', screenshotUrl: 'https://nostr.hetzn1.demokluster.com', collapsedGroup: hetzn1AppsGroup}, 80 {epH: {peertube: epFromPath('pt0/klustersF/hetzn1/epSyncPeertube.mjs')}, image: 'auto', screenshotUrl: 'https://peertube.hetzn1.demokluster.com', collapsedGroup: hetzn1AppsGroup}, 81 {epH: {ocwThrowaway: epFromPath('pt0/klustersF/hetzn1/epSyncOcwThrowaway.mjs')}, image: 'auto', screenshotUrl: `https://${ossThrowawayHostname}`, basicAuth: {user: 'opencode', passwordSecretName: `${ossThrowawayCodeservName}-oc-password`}, collapsedGroup: hetzn1AppsGroup}, 82 {epH: {ptm: epFromPath('pt0/path_bin/ptm')}, image: false, noCard: true},