@serve.zone/appstore 2.5.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/cloudly/app.json +2 -2
- package/apps/cloudly/versions/1.1.7/config.json +149 -0
- package/apps/cloudly/versions/1.1.8/config.json +173 -0
- package/appstore.json +2 -2
- package/changelog.md +25 -0
- package/dist_ts_client/data.generated.js +334 -5
- package/package.json +2 -2
- package/readme.md +2 -2
- package/ts_client/data.generated.ts +333 -4
package/readme.md
CHANGED
|
@@ -31,7 +31,7 @@ The App Store currently lists 21 app templates.
|
|
|
31
31
|
| App ID | Name | App Store category | Image | Port |
|
|
32
32
|
| --- | --- | --- | --- | --- |
|
|
33
33
|
| `adminer` | Adminer | Dev Tools | `adminer:latest` | `8080` |
|
|
34
|
-
| `cloudly` | Cloudly | Dev Tools | `code.foss.global/serve.zone/cloudly@sha256:
|
|
34
|
+
| `cloudly` | Cloudly | Dev Tools | `code.foss.global/serve.zone/cloudly@sha256:1ebfebd84d7b8d5a65aba7afda3481fce54d57999d2d9c0ec3716ee969bc47ed` | `3000` |
|
|
35
35
|
| `ghost` | Ghost | CMS | `ghost:latest` | `2368` |
|
|
36
36
|
| `gitea` | Gitea | Dev Tools | `gitea/gitea:latest` | `3000` |
|
|
37
37
|
| `gitops` | GitOps | Dev Tools | `code.foss.global/serve.zone/gitops:2.13.0` | `3000` |
|
|
@@ -58,7 +58,7 @@ Some templates ask Onebox to provision local platform services and inject connec
|
|
|
58
58
|
|
|
59
59
|
| App ID | Requirements | Notes |
|
|
60
60
|
| --- | --- | --- |
|
|
61
|
-
| `cloudly` | MongoDB, S3 | Version `1.1.
|
|
61
|
+
| `cloudly` | MongoDB, S3 | Version `1.1.8` pins Cloudly `25.2.0` and requires Onebox `8.3.3`. Both the existing Secrets v2 keyring and operator-approved WorkloadInit authority are required encrypted inputs delivered as separate root-owned `0400` files; the public environment contains only their fixed paths. Complete cutover retirement and verify a fresh restorable checkpoint before upgrading: startup applies ledger-backed migrations and authenticated legacy tombstone cleanup. Rollback remains full-restore-only. |
|
|
62
62
|
| `ghost` | MariaDB | Uses MySQL-style `database__connection__*` environment variables. |
|
|
63
63
|
| `gitea` | MariaDB | Uses Gitea database environment variables with `${MARIADB_*}` placeholders. |
|
|
64
64
|
| `nextcloud` | MariaDB, Valkey | Uses MySQL-compatible database variables. Valkey is declared as a platform requirement. |
|
|
@@ -34,7 +34,7 @@ export const appStorePackageData: IAppStorePackageData = {
|
|
|
34
34
|
"description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
|
|
35
35
|
"category": "Dev Tools",
|
|
36
36
|
"iconName": "server",
|
|
37
|
-
"latestVersion": "1.1.
|
|
37
|
+
"latestVersion": "1.1.8",
|
|
38
38
|
"versions": [
|
|
39
39
|
"1.0.0",
|
|
40
40
|
"1.1.0",
|
|
@@ -43,7 +43,9 @@ export const appStorePackageData: IAppStorePackageData = {
|
|
|
43
43
|
"1.1.3",
|
|
44
44
|
"1.1.4",
|
|
45
45
|
"1.1.5",
|
|
46
|
-
"1.1.6"
|
|
46
|
+
"1.1.6",
|
|
47
|
+
"1.1.7",
|
|
48
|
+
"1.1.8"
|
|
47
49
|
],
|
|
48
50
|
"maintainer": "serve.zone",
|
|
49
51
|
"links": {
|
|
@@ -1139,6 +1141,333 @@ export const appStorePackageData: IAppStorePackageData = {
|
|
|
1139
1141
|
"expectedStatus": 200
|
|
1140
1142
|
}
|
|
1141
1143
|
},
|
|
1144
|
+
"apps/cloudly/versions/1.1.7/config.json": {
|
|
1145
|
+
"image": "code.foss.global/serve.zone/cloudly@sha256:948b72927d177b8f73be0596017df78437cbaa0e96b5f2ce246590aebbab05e9",
|
|
1146
|
+
"targetPorts": [
|
|
1147
|
+
{
|
|
1148
|
+
"name": "web",
|
|
1149
|
+
"port": 3000,
|
|
1150
|
+
"protocol": "http",
|
|
1151
|
+
"default": true
|
|
1152
|
+
}
|
|
1153
|
+
],
|
|
1154
|
+
"envVars": [
|
|
1155
|
+
{
|
|
1156
|
+
"key": "SERVEZONE_ENVIRONMENT",
|
|
1157
|
+
"value": "production",
|
|
1158
|
+
"description": "Cloudly runtime environment.",
|
|
1159
|
+
"required": true
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"key": "SERVEZONE_PUBLIC_ORIGIN",
|
|
1163
|
+
"value": "https://${SERVICE_DOMAIN}",
|
|
1164
|
+
"description": "Canonical public Cloudly origin including protocol and optional public port.",
|
|
1165
|
+
"required": true
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"key": "SERVEZONE_LISTENPORT",
|
|
1169
|
+
"value": "3000",
|
|
1170
|
+
"description": "Internal Cloudly HTTP port inside the container.",
|
|
1171
|
+
"required": true
|
|
1172
|
+
},
|
|
1173
|
+
{
|
|
1174
|
+
"key": "SERVEZONE_SSLMODE",
|
|
1175
|
+
"value": "external",
|
|
1176
|
+
"description": "Use external TLS termination through Onebox or dcrouter.",
|
|
1177
|
+
"required": true
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
|
|
1181
|
+
"value": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
1182
|
+
"description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
|
|
1183
|
+
"required": true
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
|
|
1187
|
+
"description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
|
|
1188
|
+
"required": true,
|
|
1189
|
+
"secret": true,
|
|
1190
|
+
"delivery": {
|
|
1191
|
+
"type": "file",
|
|
1192
|
+
"targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
1193
|
+
"uid": 0,
|
|
1194
|
+
"gid": 0,
|
|
1195
|
+
"mode": 256
|
|
1196
|
+
}
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
"key": "MONGODB_URL",
|
|
1200
|
+
"value": "${MONGODB_URI}",
|
|
1201
|
+
"description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
|
|
1202
|
+
"required": true
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"key": "MONGODB_NAME",
|
|
1206
|
+
"value": "${MONGODB_DATABASE}",
|
|
1207
|
+
"description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
|
|
1208
|
+
"required": true
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"key": "MONGODB_USER",
|
|
1212
|
+
"value": "${MONGODB_USERNAME}",
|
|
1213
|
+
"description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
|
|
1214
|
+
"required": true
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"key": "MONGODB_PASS",
|
|
1218
|
+
"value": "${MONGODB_PASSWORD}",
|
|
1219
|
+
"description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
|
|
1220
|
+
"required": true
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
"key": "S3_ENDPOINT",
|
|
1224
|
+
"value": "onebox-corestore",
|
|
1225
|
+
"description": "S3 endpoint host provisioned by Onebox Corestore.",
|
|
1226
|
+
"required": true
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"key": "S3_PORT",
|
|
1230
|
+
"value": "9000",
|
|
1231
|
+
"description": "S3 endpoint port provisioned by Onebox Corestore.",
|
|
1232
|
+
"required": true
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
"key": "S3_USESSL",
|
|
1236
|
+
"value": "false",
|
|
1237
|
+
"description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
|
|
1238
|
+
"required": true
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"key": "S3_BUCKET",
|
|
1242
|
+
"value": "${S3_BUCKET}",
|
|
1243
|
+
"description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
|
|
1244
|
+
"required": true
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"key": "S3_ACCESSKEY",
|
|
1248
|
+
"value": "${S3_ACCESS_KEY}",
|
|
1249
|
+
"description": "S3 access key provisioned by Onebox Corestore.",
|
|
1250
|
+
"required": true
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"key": "S3_SECRETKEY",
|
|
1254
|
+
"value": "${S3_SECRET_KEY}",
|
|
1255
|
+
"description": "S3 secret key provisioned by Onebox Corestore.",
|
|
1256
|
+
"required": true
|
|
1257
|
+
}
|
|
1258
|
+
],
|
|
1259
|
+
"platformRequirements": {
|
|
1260
|
+
"mongodb": true,
|
|
1261
|
+
"s3": true
|
|
1262
|
+
},
|
|
1263
|
+
"platformOidc": {
|
|
1264
|
+
"redirectPath": "/auth/oidc/callback",
|
|
1265
|
+
"roles": [
|
|
1266
|
+
{
|
|
1267
|
+
"id": "admin",
|
|
1268
|
+
"label": "Administrator",
|
|
1269
|
+
"description": "Full Cloudly administration for this hosted instance."
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"id": "user",
|
|
1273
|
+
"label": "User",
|
|
1274
|
+
"description": "Standard authenticated Cloudly access for this hosted instance."
|
|
1275
|
+
}
|
|
1276
|
+
],
|
|
1277
|
+
"environmentVariables": {
|
|
1278
|
+
"issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
|
|
1279
|
+
"clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
|
|
1280
|
+
"clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
|
|
1281
|
+
"redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
|
|
1282
|
+
"audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
|
|
1283
|
+
},
|
|
1284
|
+
"clientAuthenticationMethod": "client_secret_basic"
|
|
1285
|
+
},
|
|
1286
|
+
"minOneboxVersion": "7.14.0",
|
|
1287
|
+
"changelog": "Move Cloudly to 25.1.0 on SmartDB 5.5.1 with orchestrator-driven legacy deployment settlement, a direct /status readiness endpoint, and the Alpine-based image. Onebox 7.14.0 settles legacy deployment operations during the fenced Cloudly Secrets v2 cutover before this target is applied.",
|
|
1288
|
+
"breaking": true,
|
|
1289
|
+
"requiresManualReview": true,
|
|
1290
|
+
"migrationRequired": true,
|
|
1291
|
+
"backupBeforeUpgrade": true,
|
|
1292
|
+
"healthCheck": {
|
|
1293
|
+
"path": "/status",
|
|
1294
|
+
"port": 3000,
|
|
1295
|
+
"expectedStatus": 200
|
|
1296
|
+
}
|
|
1297
|
+
},
|
|
1298
|
+
"apps/cloudly/versions/1.1.8/config.json": {
|
|
1299
|
+
"image": "code.foss.global/serve.zone/cloudly@sha256:1ebfebd84d7b8d5a65aba7afda3481fce54d57999d2d9c0ec3716ee969bc47ed",
|
|
1300
|
+
"targetPorts": [
|
|
1301
|
+
{
|
|
1302
|
+
"name": "web",
|
|
1303
|
+
"port": 3000,
|
|
1304
|
+
"protocol": "http",
|
|
1305
|
+
"default": true
|
|
1306
|
+
}
|
|
1307
|
+
],
|
|
1308
|
+
"envVars": [
|
|
1309
|
+
{
|
|
1310
|
+
"key": "SERVEZONE_ENVIRONMENT",
|
|
1311
|
+
"value": "production",
|
|
1312
|
+
"description": "Cloudly runtime environment.",
|
|
1313
|
+
"required": true
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
"key": "SERVEZONE_PUBLIC_ORIGIN",
|
|
1317
|
+
"value": "https://${SERVICE_DOMAIN}",
|
|
1318
|
+
"description": "Canonical public Cloudly origin including protocol and optional public port.",
|
|
1319
|
+
"required": true
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"key": "SERVEZONE_LISTENPORT",
|
|
1323
|
+
"value": "3000",
|
|
1324
|
+
"description": "Internal Cloudly HTTP port inside the container.",
|
|
1325
|
+
"required": true
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
"key": "SERVEZONE_SSLMODE",
|
|
1329
|
+
"value": "external",
|
|
1330
|
+
"description": "Use external TLS termination through Onebox or dcrouter.",
|
|
1331
|
+
"required": true
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"key": "SERVEZONE_SECRET_KEYRING_PATH",
|
|
1335
|
+
"value": "/run/secrets/cloudly-secrets-v2-keyring.json",
|
|
1336
|
+
"description": "Path to the Cloudly Secrets v2 keyring mounted by Onebox; the keyring value is never placed in the public environment.",
|
|
1337
|
+
"required": true
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
"key": "SERVEZONE_SECRET_KEYRING_FILE",
|
|
1341
|
+
"description": "Existing Cloudly Secrets v2 keyring. Onebox stores it encrypted and mounts it only as a root-readable file; retain the existing keyring when upgrading.",
|
|
1342
|
+
"required": true,
|
|
1343
|
+
"secret": true,
|
|
1344
|
+
"delivery": {
|
|
1345
|
+
"type": "file",
|
|
1346
|
+
"targetPath": "/run/secrets/cloudly-secrets-v2-keyring.json",
|
|
1347
|
+
"uid": 0,
|
|
1348
|
+
"gid": 0,
|
|
1349
|
+
"mode": 256
|
|
1350
|
+
}
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
|
|
1354
|
+
"value": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
1355
|
+
"description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
|
|
1356
|
+
"required": true
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
|
|
1360
|
+
"description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
|
|
1361
|
+
"required": true,
|
|
1362
|
+
"secret": true,
|
|
1363
|
+
"delivery": {
|
|
1364
|
+
"type": "file",
|
|
1365
|
+
"targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
1366
|
+
"uid": 0,
|
|
1367
|
+
"gid": 0,
|
|
1368
|
+
"mode": 256
|
|
1369
|
+
}
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
"key": "MONGODB_URL",
|
|
1373
|
+
"value": "${MONGODB_URI}",
|
|
1374
|
+
"description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
|
|
1375
|
+
"required": true
|
|
1376
|
+
},
|
|
1377
|
+
{
|
|
1378
|
+
"key": "MONGODB_NAME",
|
|
1379
|
+
"value": "${MONGODB_DATABASE}",
|
|
1380
|
+
"description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
|
|
1381
|
+
"required": true
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
"key": "MONGODB_USER",
|
|
1385
|
+
"value": "${MONGODB_USERNAME}",
|
|
1386
|
+
"description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
|
|
1387
|
+
"required": true
|
|
1388
|
+
},
|
|
1389
|
+
{
|
|
1390
|
+
"key": "MONGODB_PASS",
|
|
1391
|
+
"value": "${MONGODB_PASSWORD}",
|
|
1392
|
+
"description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
|
|
1393
|
+
"required": true
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
"key": "S3_ENDPOINT",
|
|
1397
|
+
"value": "onebox-corestore",
|
|
1398
|
+
"description": "S3 endpoint host provisioned by Onebox Corestore.",
|
|
1399
|
+
"required": true
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"key": "S3_PORT",
|
|
1403
|
+
"value": "9000",
|
|
1404
|
+
"description": "S3 endpoint port provisioned by Onebox Corestore.",
|
|
1405
|
+
"required": true
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"key": "S3_USESSL",
|
|
1409
|
+
"value": "false",
|
|
1410
|
+
"description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
|
|
1411
|
+
"required": true
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"key": "S3_BUCKET",
|
|
1415
|
+
"value": "${S3_BUCKET}",
|
|
1416
|
+
"description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
|
|
1417
|
+
"required": true
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
"key": "S3_ACCESSKEY",
|
|
1421
|
+
"value": "${S3_ACCESS_KEY}",
|
|
1422
|
+
"description": "S3 access key provisioned by Onebox Corestore.",
|
|
1423
|
+
"required": true
|
|
1424
|
+
},
|
|
1425
|
+
{
|
|
1426
|
+
"key": "S3_SECRETKEY",
|
|
1427
|
+
"value": "${S3_SECRET_KEY}",
|
|
1428
|
+
"description": "S3 secret key provisioned by Onebox Corestore.",
|
|
1429
|
+
"required": true
|
|
1430
|
+
}
|
|
1431
|
+
],
|
|
1432
|
+
"platformRequirements": {
|
|
1433
|
+
"mongodb": true,
|
|
1434
|
+
"s3": true
|
|
1435
|
+
},
|
|
1436
|
+
"platformOidc": {
|
|
1437
|
+
"redirectPath": "/auth/oidc/callback",
|
|
1438
|
+
"roles": [
|
|
1439
|
+
{
|
|
1440
|
+
"id": "admin",
|
|
1441
|
+
"label": "Administrator",
|
|
1442
|
+
"description": "Full Cloudly administration for this hosted instance."
|
|
1443
|
+
},
|
|
1444
|
+
{
|
|
1445
|
+
"id": "user",
|
|
1446
|
+
"label": "User",
|
|
1447
|
+
"description": "Standard authenticated Cloudly access for this hosted instance."
|
|
1448
|
+
}
|
|
1449
|
+
],
|
|
1450
|
+
"environmentVariables": {
|
|
1451
|
+
"issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
|
|
1452
|
+
"clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
|
|
1453
|
+
"clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
|
|
1454
|
+
"redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
|
|
1455
|
+
"audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
|
|
1456
|
+
},
|
|
1457
|
+
"clientAuthenticationMethod": "client_secret_basic"
|
|
1458
|
+
},
|
|
1459
|
+
"minOneboxVersion": "8.3.3",
|
|
1460
|
+
"changelog": "Move Cloudly to 25.2.0 with ledger-backed startup migrations and authenticated legacy tombstone cleanup. Requires completed Secrets v2 cutover retirement and a fresh verified restorable checkpoint. Preserve the encrypted keyring and WorkloadInit approval as dedicated root-readable files. Rollback requires a full restore.",
|
|
1461
|
+
"breaking": true,
|
|
1462
|
+
"requiresManualReview": true,
|
|
1463
|
+
"migrationRequired": true,
|
|
1464
|
+
"backupBeforeUpgrade": true,
|
|
1465
|
+
"healthCheck": {
|
|
1466
|
+
"path": "/status",
|
|
1467
|
+
"port": 3000,
|
|
1468
|
+
"expectedStatus": 200
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1142
1471
|
"apps/ghost/app.json": {
|
|
1143
1472
|
"id": "ghost",
|
|
1144
1473
|
"name": "Ghost",
|
|
@@ -1960,7 +2289,7 @@ export const appStorePackageData: IAppStorePackageData = {
|
|
|
1960
2289
|
},
|
|
1961
2290
|
"appstore.json": {
|
|
1962
2291
|
"schemaVersion": 1,
|
|
1963
|
-
"updatedAt": "2026-
|
|
2292
|
+
"updatedAt": "2026-09-04T00:00:00Z",
|
|
1964
2293
|
"apps": [
|
|
1965
2294
|
{
|
|
1966
2295
|
"id": "nginx",
|
|
@@ -2168,7 +2497,7 @@ export const appStorePackageData: IAppStorePackageData = {
|
|
|
2168
2497
|
"description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
|
|
2169
2498
|
"category": "Dev Tools",
|
|
2170
2499
|
"iconName": "server",
|
|
2171
|
-
"latestVersion": "1.1.
|
|
2500
|
+
"latestVersion": "1.1.8",
|
|
2172
2501
|
"tags": [
|
|
2173
2502
|
"serve.zone",
|
|
2174
2503
|
"control-plane",
|