environment-based default registry

This commit is contained in:
Aiden McClelland
2025-12-20 03:44:23 -07:00
parent e859c1adb1
commit e8a423e67b
6 changed files with 14 additions and 8 deletions

View File

@@ -13,7 +13,6 @@ mount -t tmpfs tmpfs /tmp
mkdir -p /tmp/lower /tmp/upper /tmp/work /tmp/combined
mount -o loop debian.${ARCH}.squashfs /tmp/lower
mount -t overlay -olowerdir=/tmp/lower,upperdir=/tmp/upper,workdir=/tmp/work overlay /tmp/combined
echo mounted overlay
mkdir -p /tmp/combined/usr/lib/startos/
rsync -a --copy-unsafe-links --info=progress2 dist/ /tmp/combined/usr/lib/startos/init/

View File

@@ -13,6 +13,7 @@ export type WorkspaceConfig = {
skipStartupAlerts: boolean
}
}
defaultRegistry: string
}
export const defaultRegistries = {
@@ -24,4 +25,5 @@ export const knownRegistries = {
...defaultRegistries,
start9Alpha: 'https://alpha-registry-x.start9.com/',
start9Beta: 'https://beta-registry.start9.com/',
communityBeta: 'https://community-beta-registry.start9.com/',
} as const

View File

@@ -56,7 +56,8 @@ export class MarketplaceNotificationComponent {
@Input() url = ''
get status() {
const { start9, community, start9Beta, start9Alpha } = knownRegistries
const { start9, community, start9Beta, communityBeta, start9Alpha } =
knownRegistries
if (sameUrl(this.url, start9)) {
return 'success'
@@ -66,7 +67,7 @@ export class MarketplaceNotificationComponent {
return 'info'
}
if (sameUrl(this.url, start9Beta)) {
if (sameUrl(this.url, start9Beta) || sameUrl(this.url, communityBeta)) {
return 'warning'
}

View File

@@ -16,6 +16,7 @@ import { MarketplaceMenuComponent } from './components/menu.component'
import { MarketplaceNotificationComponent } from './components/notification.component'
import { MarketplaceTileComponent } from './components/tile.component'
import { StorageService } from 'src/app/services/storage.service'
import { ConfigService } from 'src/app/services/config.service'
@Component({
template: `
@@ -160,6 +161,7 @@ import { StorageService } from 'src/app/services/storage.service'
export default class MarketplaceComponent {
private readonly categoryService = inject(AbstractCategoryService)
private readonly marketplaceService = inject(MarketplaceService)
private readonly configService = inject(ConfigService)
private readonly router = inject(Router)
private readonly storage = inject(StorageService)
private readonly route = inject(ActivatedRoute)
@@ -175,7 +177,7 @@ export default class MarketplaceComponent {
queryParams: {
registry:
this.storage.get('selectedRegistry') ||
defaultRegistries.start9,
this.configService.defaultRegistry,
},
queryParamsHandling: 'merge',
})

View File

@@ -6,6 +6,7 @@ const {
gitHash,
useMocks,
ui: { api, mocks },
defaultRegistry,
} = require('../../../../../config.json') as WorkspaceConfig
@Injectable({
@@ -26,6 +27,7 @@ export class ConfigService {
api = api
skipStartupAlerts = useMocks && mocks.skipStartupAlerts
supportsWebSockets = !!window.WebSocket
defaultRegistry = defaultRegistry
isTor(): boolean {
return useMocks ? mocks.maskAs === 'tor' : this.hostname.endsWith('.onion')

View File

@@ -32,7 +32,7 @@ import { RR } from 'src/app/services/api/api.types'
import { ApiService } from 'src/app/services/api/embassy-api.service'
import { DataModel } from 'src/app/services/patch-db/data-model'
const { start9, community } = defaultRegistries
// const { start9, community } = defaultRegistries
@Injectable({
providedIn: 'root',
@@ -46,10 +46,10 @@ export class MarketplaceService {
.watch$('ui', 'registries')
.pipe(
map(registries => [
toStoreIdentity(start9, registries[start9]),
toStoreIdentity(community, registries[community]),
// toStoreIdentity(start9, registries[start9]),
// toStoreIdentity(community, registries[community]),
...Object.entries(registries)
.filter(([u, _]) => !sameUrl(start9, u) && !sameUrl(community, u))
// .filter(([u, _]) => !sameUrl(start9, u) && !sameUrl(community, u))
.map(([url, name]) => toStoreIdentity(url, name)),
]),
)