feat(appstore): add service volumes and published ports

This commit is contained in:
2026-05-24 07:28:18 +00:00
parent e6ebac76b4
commit 5228eeaa23
26 changed files with 1790 additions and 348 deletions
+10 -18
View File
@@ -214,33 +214,25 @@ async function handleAppStoreCommand(onebox: Onebox, subcommand: string, args: s
const appMeta = await onebox.appStore.getAppMeta(appId);
const version = getArg(args, '--version') || appMeta.latestVersion;
const config = await onebox.appStore.getAppVersionConfig(appId, version);
const serviceName = getArg(args, '--name') || appId;
const domain = getArg(args, '--domain');
const port = parseInt(getArg(args, '--port') || String(config.port), 10);
const envVars = getAppStoreEnvVars(config, parseEnvArgs(args));
const portArg = getArg(args, '--port');
const port = portArg ? parseInt(portArg, 10) : undefined;
const autoDNS = getBooleanArg(args, '--auto-dns', true);
requireValue(serviceName, '--name');
assertValidPort(port, '--port');
if (requiresTemplateValue(envVars, 'SERVICE_DOMAIN')) {
requireValue(domain, '--domain');
if (port !== undefined) {
assertValidPort(port, '--port');
}
const service = await onebox.services.deployService({
name: serviceName,
image: config.image,
port,
const service = await onebox.appStore.installApp({
appId,
version,
serviceName,
domain,
port,
autoDNS,
envVars,
enableMongoDB: Boolean(config.platformRequirements?.mongodb),
enableS3: Boolean(config.platformRequirements?.s3),
enableClickHouse: Boolean(config.platformRequirements?.clickhouse),
enableRedis: Boolean(config.platformRequirements?.redis),
enableMariaDB: Boolean(config.platformRequirements?.mariadb),
appTemplateId: appId,
appTemplateVersion: version,
envVars: parseEnvArgs(args),
});
logger.success(`Installed ${appMeta.name} ${version} as ${service.name}`);