Add headless Angor services and shared-index install guard
Demo images / Build & push demo images (push) Failing after 43s
Demo images / Build & push demo images (push) Failing after 43s
This commit is contained in:
@@ -42,6 +42,8 @@ export const GENERATED_APP_PORTS: Record<string, number> = {
|
||||
export const GENERATED_APP_TITLES: Record<string, string> = {
|
||||
"aiui": "AI Assistant",
|
||||
"alby-hub": "Alby Hub",
|
||||
"angor-indexer": "Angor Indexer",
|
||||
"angor-relay": "Angor Relay",
|
||||
"archipelago-source": "GitWorkshop",
|
||||
"archy-btcpay-db": "BTCPay Postgres",
|
||||
"archy-mempool-db": "Mempool MariaDB",
|
||||
|
||||
@@ -25,6 +25,15 @@ function makePkg(id: string, title: string, category: string): PackageDataEntry
|
||||
}
|
||||
|
||||
describe('appsConfig service filtering', () => {
|
||||
it('keeps standalone Angor APIs in Services without a launch button', () => {
|
||||
for (const id of ['angor-indexer', 'angor-relay']) {
|
||||
const pkg = makePkg(id, id, 'money')
|
||||
expect(filterEntriesForTab([[id, pkg]], 'services', 'all')).toHaveLength(1)
|
||||
expect(filterEntriesForTab([[id, pkg]], 'apps', 'all')).toHaveLength(0)
|
||||
expect(canLaunch(pkg)).toBe(false)
|
||||
}
|
||||
})
|
||||
|
||||
it('treats bitcoin stack UI sidecars as services', () => {
|
||||
expect(isServiceContainer('bitcoin-ui')).toBe(true)
|
||||
expect(isServiceContainer('lnd-ui')).toBe(true)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { afterEach, describe, expect, it } from 'vitest'
|
||||
import { __setSignedCatalogForTests, portAuth, portIsGateFronted, type SignedAppCatalog } from '../curatedApps'
|
||||
import { __setSignedCatalogForTests, signedCatalogToApps, portAuth, portIsGateFronted, type SignedAppCatalog } from '../curatedApps'
|
||||
|
||||
/** Catalog fragments mirroring the live signed catalog's port declarations
|
||||
* (releases/app-catalog.json, 2026-09-01). */
|
||||
@@ -77,3 +77,12 @@ describe('portAuth', () => {
|
||||
expect(portAuth('mempool-web', 4080)).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
describe('standalone headless services', () => {
|
||||
it('lists Angor services while keeping shared Mempool and node relay internals hidden', () => {
|
||||
const apps = signedCatalogToApps(catalog(Object.fromEntries(
|
||||
['angor-indexer', 'angor-relay', 'mempool-api', 'strfry'].map(id => [id, { version: '1' }]),
|
||||
)))
|
||||
expect(apps.map(app => app.id)).toEqual(['angor-indexer', 'angor-relay'])
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user