mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 10:21:52 +00:00
add registries.json and use real marketplace name
This commit is contained in:
committed by
Aiden McClelland
parent
798e17f636
commit
94a6cd4ff6
20
frontend/build-config.js
Executable file
20
frontend/build-config.js
Executable file
@@ -0,0 +1,20 @@
|
||||
// @ts-check
|
||||
const fs = require('fs')
|
||||
const childProcess = require('child_process')
|
||||
const { env } = require('process')
|
||||
|
||||
const gitHash = String(
|
||||
childProcess.execSync('git describe --always --abbrev=40 --dirty=-modified'),
|
||||
).trim()
|
||||
|
||||
const origConfig = require('./config.json')
|
||||
|
||||
const registries = require('./registries.json')
|
||||
|
||||
origConfig['gitHash'] = gitHash
|
||||
if (/(^|-)beta($|-)/.test(env['ENVIRONMENT'] || '')) {
|
||||
origConfig.ui['marketplace'] = registries.beta
|
||||
} else {
|
||||
origConfig.ui['marketplace'] = registries.prod
|
||||
}
|
||||
fs.writeFileSync('./config.json', JSON.stringify(origConfig, null, 2))
|
||||
@@ -13,10 +13,6 @@
|
||||
"mocks": {
|
||||
"maskAs": "tor",
|
||||
"skipStartupAlerts": true
|
||||
},
|
||||
"marketplace": {
|
||||
"url": "https://beta-registry-0-3.start9labs.com",
|
||||
"name": "Start9"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"build:setup-wizard": "ng run setup-wizard:build",
|
||||
"build:ui": "ng run ui:build && tsc projects/ui/postprocess.ts && node projects/ui/postprocess.js && git log | head -n1 > dist/ui/git-hash.txt",
|
||||
"build:all": "npm run build:deps && npm run build:diagnostic-ui && npm run build:setup-wizard && npm run build:ui",
|
||||
"start:diagnostic-ui": "npm run copy-git-hash && ionic serve --project diagnostic-ui",
|
||||
"start:setup-wizard": "npm run copy-git-hash && ionic serve --project setup-wizard",
|
||||
"start:ui": "npm run-script copy-git-hash && ionic serve --project ui",
|
||||
"copy-git-hash": "node update-git-hash.js"
|
||||
"start:diagnostic-ui": "npm run-script build-config && ionic serve --project diagnostic-ui",
|
||||
"start:setup-wizard": "npm run-script build-config && ionic serve --project setup-wizard",
|
||||
"start:ui": "npm run-script build-config && ionic serve --project ui",
|
||||
"build-config": "node build-config.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "^13.2.0",
|
||||
|
||||
@@ -1,20 +1,61 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title>Welcome to {{ version }}!</ion-title>
|
||||
<ion-title>{{ version }} Release Notes</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content class="ion-padding">
|
||||
<div style="display: flex; flex-direction: column; justify-content: space-between; height: 100%">
|
||||
<h2>A Whole New Embassy</h2>
|
||||
<div class="main-content">
|
||||
<p>New features and more new features!</p>
|
||||
</div>
|
||||
<h1>A whole new Embassy!</h1>
|
||||
<p>
|
||||
Check out the full
|
||||
<a
|
||||
href="https://start9labs.medium.com/embassyos-0-3-0-f3d2d2ea016f"
|
||||
target="_blank"
|
||||
noreferrer
|
||||
>Release Notes</a
|
||||
>.
|
||||
</p>
|
||||
<h2>Highlights</h2>
|
||||
<ul class="spaced-list">
|
||||
<li>
|
||||
<b>SSD Support</b> - Embassy now requires an external SSD, offering more
|
||||
storage, better reliability, and a faster experience.
|
||||
</li>
|
||||
<li><b>Websockets</b> - Provides a smooth, "real-time" feel.</li>
|
||||
<li>
|
||||
<b>Full Embassy Backups</b> - Create encrypted backups of your Embassy and
|
||||
all its services with a single button.
|
||||
</li>
|
||||
<li>
|
||||
<b>LAN Shared Folders (for backups)</b> - Easily perform "over-the-air"
|
||||
backups on your desktop/laptop or a drive plugged into your
|
||||
desktop/laptop.
|
||||
</li>
|
||||
<li>
|
||||
<b>Revamped User Interface</b> - The user interface has been rewritten and
|
||||
redesigned to be more performant, understandable, and beautiful.
|
||||
</li>
|
||||
<li>
|
||||
<b>Session Management</b> - View your Embassy's active sessions and log
|
||||
out remotely.
|
||||
</li>
|
||||
<li>
|
||||
<b>Alt Marketplaces</b> - Optionally connect to and browse alternative
|
||||
service marketplaces.
|
||||
</li>
|
||||
<li>
|
||||
<b>Progress Reporting</b> - View live progress of services
|
||||
installs/updates and EmbassyOS updates.
|
||||
</li>
|
||||
<li>
|
||||
<b>Health Checks</b> - View the health of your services at a glance, along
|
||||
with helpful messages if something is wrong.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="close-button">
|
||||
<ion-button fill="outline" color="dark" (click)="dismiss()">
|
||||
Begin
|
||||
</ion-button>
|
||||
</div>
|
||||
<div class="ion-text-center ion-padding">
|
||||
<ion-button fill="outline" color="dark" (click)="dismiss()">
|
||||
Begin
|
||||
</ion-button>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
}
|
||||
|
||||
.main-content {
|
||||
height: 100%;
|
||||
color: var(--ion-color-dark);
|
||||
}
|
||||
|
||||
.spaced-list {
|
||||
li {
|
||||
padding-bottom: 12px;
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@
|
||||
style="font-family: 'Montserrat'; font-size: 42px; margin: 32px 0"
|
||||
class="ion-text-center"
|
||||
>
|
||||
Embassy Marketplace
|
||||
{{ marketplaceService.marketplace.name }}
|
||||
</h1>
|
||||
|
||||
<ion-grid style="padding-bottom: 32px">
|
||||
|
||||
@@ -22,7 +22,10 @@ export class MarketplaceService {
|
||||
[version: string]: string
|
||||
}
|
||||
} = {}
|
||||
marketplaceUrl: string
|
||||
marketplace: {
|
||||
url: string
|
||||
name: string
|
||||
}
|
||||
|
||||
constructor(
|
||||
private readonly api: ApiService,
|
||||
@@ -34,10 +37,11 @@ export class MarketplaceService {
|
||||
init(): Subscription {
|
||||
return this.patch.watch$('ui', 'marketplace').subscribe(marketplace => {
|
||||
if (!marketplace || !marketplace['selected-id']) {
|
||||
this.marketplaceUrl = this.config.marketplace.url
|
||||
console.log('**MARKETPLACE', this.config)
|
||||
this.marketplace = this.config.marketplace
|
||||
} else {
|
||||
this.marketplaceUrl =
|
||||
marketplace['known-hosts'][marketplace['selected-id']].url
|
||||
this.marketplace =
|
||||
marketplace['known-hosts'][marketplace['selected-id']]
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -68,7 +72,7 @@ export class MarketplaceService {
|
||||
}
|
||||
|
||||
async installPackage(req: Omit<RR.InstallPackageReq, 'marketplace-url'>) {
|
||||
req['marketplace-url'] = this.marketplaceUrl
|
||||
req['marketplace-url'] = this.marketplace.url
|
||||
return this.api.installPackage(req as RR.InstallPackageReq)
|
||||
}
|
||||
|
||||
@@ -121,7 +125,7 @@ export class MarketplaceService {
|
||||
params: RR.GetMarketplaceDataReq,
|
||||
url?: string,
|
||||
): Promise<RR.GetMarketplaceDataRes> {
|
||||
url = url || this.marketplaceUrl
|
||||
url = url || this.marketplace.url
|
||||
return this.api.marketplaceProxy('/package/v0/info', params, url)
|
||||
}
|
||||
|
||||
@@ -140,7 +144,7 @@ export class MarketplaceService {
|
||||
return this.api.marketplaceProxy(
|
||||
'/package/v0/index',
|
||||
qp,
|
||||
this.marketplaceUrl,
|
||||
this.marketplace.url,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -150,7 +154,7 @@ export class MarketplaceService {
|
||||
return this.api.marketplaceProxy(
|
||||
`/package/v0/release-notes/${params.id}`,
|
||||
{},
|
||||
this.marketplaceUrl,
|
||||
this.marketplace.url,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ import { wizardModal } from 'src/app/components/install-wizard/install-wizard.co
|
||||
import { exists, isEmptyObject } from '@start9labs/shared'
|
||||
import { EOSService } from 'src/app/services/eos.service'
|
||||
import { ServerStatus } from 'src/app/services/patch-db/data-model'
|
||||
import { SnakePage } from 'src/app/modals/snake/snake.page'
|
||||
|
||||
@Component({
|
||||
selector: 'server-show',
|
||||
|
||||
14
frontend/registries.json
Normal file
14
frontend/registries.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"prod": {
|
||||
"url": "https://registry.start9.com",
|
||||
"name": "Embassy Marketplace"
|
||||
},
|
||||
"beta": {
|
||||
"url": "https://beta-registry-0-3.start9labs.com",
|
||||
"name": "Embassy Marketplace (Beta)"
|
||||
},
|
||||
"alpha": {
|
||||
"url": "https://alpha-registry-0-3.start9labs.com",
|
||||
"name": "Embassy Marketplace (Alpha)"
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
// @ts-check
|
||||
const fs = require('fs')
|
||||
const childProcess = require('child_process')
|
||||
|
||||
const gitHash = String(childProcess.execSync('git rev-parse HEAD')).trim()
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @param {() => T} fn
|
||||
* @param {T} defaultValue
|
||||
* @returns
|
||||
*/
|
||||
function catchDefault(fn, defaultValue) {
|
||||
try {
|
||||
return fn()
|
||||
} catch {
|
||||
return defaultValue
|
||||
}
|
||||
}
|
||||
|
||||
const origConfig = catchDefault(
|
||||
/** @returns {{gitHash?: string}} */
|
||||
() => JSON.parse(fs.readFileSync('./config.json')),
|
||||
{},
|
||||
)
|
||||
origConfig.gitHash = gitHash
|
||||
fs.writeFileSync('./config.json', JSON.stringify(origConfig, null, 2))
|
||||
2
patch-db
2
patch-db
Submodule patch-db updated: 6478f0b16b...d3426671a1
Reference in New Issue
Block a user