@serve.zone/appstore 2.0.0 → 2.2.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.
@@ -4,8 +4,8 @@
4
4
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
5
5
  "category": "Dev Tools",
6
6
  "iconName": "server",
7
- "latestVersion": "1.1.1",
8
- "versions": ["1.0.0", "1.1.0", "1.1.1"],
7
+ "latestVersion": "1.1.3",
8
+ "versions": ["1.0.0", "1.1.0", "1.1.1", "1.1.2", "1.1.3"],
9
9
  "maintainer": "serve.zone",
10
10
  "links": {
11
11
  "Source": "https://code.foss.global/serve.zone/cloudly",
@@ -0,0 +1,130 @@
1
+ {
2
+ "image": "code.foss.global/serve.zone/cloudly@sha256:de503daed88b058d285bf0d7fd3fc21f1a4b8cd93a50aa1ec32fe92a38b43390",
3
+ "targetPorts": [
4
+ { "name": "web", "port": 3000, "protocol": "http", "default": true }
5
+ ],
6
+ "envVars": [
7
+ {
8
+ "key": "SERVEZONE_ENVIRONMENT",
9
+ "value": "production",
10
+ "description": "Cloudly runtime environment.",
11
+ "required": true
12
+ },
13
+ {
14
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
15
+ "value": "https://${SERVICE_DOMAIN}",
16
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
17
+ "required": true
18
+ },
19
+ {
20
+ "key": "SERVEZONE_LISTENPORT",
21
+ "value": "3000",
22
+ "description": "Internal Cloudly HTTP port inside the container.",
23
+ "required": true
24
+ },
25
+ {
26
+ "key": "SERVEZONE_SSLMODE",
27
+ "value": "external",
28
+ "description": "Use external TLS termination through Onebox or dcrouter.",
29
+ "required": true
30
+ },
31
+ {
32
+ "key": "MONGODB_URL",
33
+ "value": "${MONGODB_URI}",
34
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
35
+ "required": true
36
+ },
37
+ {
38
+ "key": "MONGODB_NAME",
39
+ "value": "${MONGODB_DATABASE}",
40
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
41
+ "required": true
42
+ },
43
+ {
44
+ "key": "MONGODB_USER",
45
+ "value": "${MONGODB_USERNAME}",
46
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
47
+ "required": true
48
+ },
49
+ {
50
+ "key": "MONGODB_PASS",
51
+ "value": "${MONGODB_PASSWORD}",
52
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
53
+ "required": true
54
+ },
55
+ {
56
+ "key": "S3_ENDPOINT",
57
+ "value": "onebox-corestore",
58
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
59
+ "required": true
60
+ },
61
+ {
62
+ "key": "S3_PORT",
63
+ "value": "9000",
64
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
65
+ "required": true
66
+ },
67
+ {
68
+ "key": "S3_USESSL",
69
+ "value": "false",
70
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
71
+ "required": true
72
+ },
73
+ {
74
+ "key": "S3_BUCKET",
75
+ "value": "${S3_BUCKET}",
76
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
77
+ "required": true
78
+ },
79
+ {
80
+ "key": "S3_ACCESSKEY",
81
+ "value": "${S3_ACCESS_KEY}",
82
+ "description": "S3 access key provisioned by Onebox Corestore.",
83
+ "required": true
84
+ },
85
+ {
86
+ "key": "S3_SECRETKEY",
87
+ "value": "${S3_SECRET_KEY}",
88
+ "description": "S3 secret key provisioned by Onebox Corestore.",
89
+ "required": true
90
+ }
91
+ ],
92
+ "platformRequirements": {
93
+ "mongodb": true,
94
+ "s3": true
95
+ },
96
+ "platformOidc": {
97
+ "redirectPath": "/auth/oidc/callback",
98
+ "roles": [
99
+ {
100
+ "id": "admin",
101
+ "label": "Administrator",
102
+ "description": "Full Cloudly administration for this hosted instance."
103
+ },
104
+ {
105
+ "id": "user",
106
+ "label": "User",
107
+ "description": "Standard authenticated Cloudly access for this hosted instance."
108
+ }
109
+ ],
110
+ "environmentVariables": {
111
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
112
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
113
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
114
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
115
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
116
+ },
117
+ "clientAuthenticationMethod": "client_secret_basic"
118
+ },
119
+ "minOneboxVersion": "7.1.0",
120
+ "changelog": "Upgrade Cloudly to 17.0.0 and run the Onebox-coordinated offline migration from legacy SecretGroup and SecretBundle persistence into the encrypted v2 secret runtime.",
121
+ "breaking": true,
122
+ "requiresManualReview": true,
123
+ "migrationRequired": true,
124
+ "backupBeforeUpgrade": true,
125
+ "healthCheck": {
126
+ "path": "/status",
127
+ "port": 3000,
128
+ "expectedStatus": 200
129
+ }
130
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "image": "code.foss.global/serve.zone/cloudly@sha256:330b4f1617616e655eb411c10067367748f543522c2fc59483b3ff7656d972c6",
3
+ "targetPorts": [
4
+ { "name": "web", "port": 3000, "protocol": "http", "default": true }
5
+ ],
6
+ "envVars": [
7
+ {
8
+ "key": "SERVEZONE_ENVIRONMENT",
9
+ "value": "production",
10
+ "description": "Cloudly runtime environment.",
11
+ "required": true
12
+ },
13
+ {
14
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
15
+ "value": "https://${SERVICE_DOMAIN}",
16
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
17
+ "required": true
18
+ },
19
+ {
20
+ "key": "SERVEZONE_LISTENPORT",
21
+ "value": "3000",
22
+ "description": "Internal Cloudly HTTP port inside the container.",
23
+ "required": true
24
+ },
25
+ {
26
+ "key": "SERVEZONE_SSLMODE",
27
+ "value": "external",
28
+ "description": "Use external TLS termination through Onebox or dcrouter.",
29
+ "required": true
30
+ },
31
+ {
32
+ "key": "MONGODB_URL",
33
+ "value": "${MONGODB_URI}",
34
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
35
+ "required": true
36
+ },
37
+ {
38
+ "key": "MONGODB_NAME",
39
+ "value": "${MONGODB_DATABASE}",
40
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
41
+ "required": true
42
+ },
43
+ {
44
+ "key": "MONGODB_USER",
45
+ "value": "${MONGODB_USERNAME}",
46
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
47
+ "required": true
48
+ },
49
+ {
50
+ "key": "MONGODB_PASS",
51
+ "value": "${MONGODB_PASSWORD}",
52
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
53
+ "required": true
54
+ },
55
+ {
56
+ "key": "S3_ENDPOINT",
57
+ "value": "onebox-corestore",
58
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
59
+ "required": true
60
+ },
61
+ {
62
+ "key": "S3_PORT",
63
+ "value": "9000",
64
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
65
+ "required": true
66
+ },
67
+ {
68
+ "key": "S3_USESSL",
69
+ "value": "false",
70
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
71
+ "required": true
72
+ },
73
+ {
74
+ "key": "S3_BUCKET",
75
+ "value": "${S3_BUCKET}",
76
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
77
+ "required": true
78
+ },
79
+ {
80
+ "key": "S3_ACCESSKEY",
81
+ "value": "${S3_ACCESS_KEY}",
82
+ "description": "S3 access key provisioned by Onebox Corestore.",
83
+ "required": true
84
+ },
85
+ {
86
+ "key": "S3_SECRETKEY",
87
+ "value": "${S3_SECRET_KEY}",
88
+ "description": "S3 secret key provisioned by Onebox Corestore.",
89
+ "required": true
90
+ }
91
+ ],
92
+ "platformRequirements": {
93
+ "mongodb": true,
94
+ "s3": true
95
+ },
96
+ "platformOidc": {
97
+ "redirectPath": "/auth/oidc/callback",
98
+ "roles": [
99
+ {
100
+ "id": "admin",
101
+ "label": "Administrator",
102
+ "description": "Full Cloudly administration for this hosted instance."
103
+ },
104
+ {
105
+ "id": "user",
106
+ "label": "User",
107
+ "description": "Standard authenticated Cloudly access for this hosted instance."
108
+ }
109
+ ],
110
+ "environmentVariables": {
111
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
112
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
113
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
114
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
115
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
116
+ },
117
+ "clientAuthenticationMethod": "client_secret_basic"
118
+ },
119
+ "minOneboxVersion": "7.1.22",
120
+ "changelog": "Upgrade Cloudly to 17.1.0 and require Onebox's explicit target advance for in-progress 1.1.2 Secrets v2 cutovers before keyring preparation.",
121
+ "breaking": true,
122
+ "requiresManualReview": true,
123
+ "migrationRequired": true,
124
+ "backupBeforeUpgrade": true,
125
+ "healthCheck": {
126
+ "path": "/status",
127
+ "port": 3000,
128
+ "expectedStatus": 200
129
+ }
130
+ }
package/appstore.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "updatedAt": "2026-07-25T00:00:00Z",
3
+ "updatedAt": "2026-08-07T00:00:00Z",
4
4
  "apps": [
5
5
  {
6
6
  "id": "nginx",
@@ -152,7 +152,7 @@
152
152
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
153
153
  "category": "Dev Tools",
154
154
  "iconName": "server",
155
- "latestVersion": "1.1.1",
155
+ "latestVersion": "1.1.3",
156
156
  "tags": ["serve.zone", "control-plane", "clusters", "deployments"]
157
157
  },
158
158
  {
package/changelog.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-08-07 - 2.2.0
4
+
5
+ ### Fixes
6
+
7
+ - update development dependencies and pnpm (deps)
8
+ - Updated @git.zone/tstest to ^4.0.0
9
+ - Updated @types/node to ^26.1.2
10
+ - Updated package manager to pnpm 11.20.0
11
+
12
+ ### Features
13
+
14
+ - publish Cloudly 1.1.3 upgrade metadata (cloudly)
15
+ - Add Cloudly App Store version 1.1.3 pinned to the new Cloudly image digest.
16
+ - Raise the Cloudly minimum Onebox requirement to 7.1.22 and keep the upgrade marked for manual review, migration, and backup.
17
+ - Document the explicit target advance required for in-progress 1.1.2 Secrets v2 cutovers and update generated catalog data, README, and tests.
18
+
19
+ ## 2026-08-04 - 2.1.0
20
+
21
+ ### Features
22
+
23
+ - publish the Cloudly 17 encrypted-secrets upgrade target (cloudly)
24
+ - Add App Store version 1.1.2 pinned to the released Cloudly 17.0.0 multi-platform image digest.
25
+ - Preserve the MongoDB wire-protocol and S3 contracts while targeting the consolidated Onebox Corestore service.
26
+ - Require the Onebox 7.1.0 durable offline cutover coordinator, verified backup restore, explicit phase gates, and full-restore-only rollback contract.
27
+
3
28
  ## 2026-07-31 - 2.0.0
4
29
 
5
30
  ### Breaking Changes
@@ -31,11 +31,13 @@ export const appStorePackageData = {
31
31
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
32
32
  "category": "Dev Tools",
33
33
  "iconName": "server",
34
- "latestVersion": "1.1.1",
34
+ "latestVersion": "1.1.3",
35
35
  "versions": [
36
36
  "1.0.0",
37
37
  "1.1.0",
38
- "1.1.1"
38
+ "1.1.1",
39
+ "1.1.2",
40
+ "1.1.3"
39
41
  ],
40
42
  "maintainer": "serve.zone",
41
43
  "links": {
@@ -418,6 +420,276 @@ export const appStorePackageData = {
418
420
  },
419
421
  "minOneboxVersion": "2.2.0"
420
422
  },
423
+ "apps/cloudly/versions/1.1.2/config.json": {
424
+ "image": "code.foss.global/serve.zone/cloudly@sha256:de503daed88b058d285bf0d7fd3fc21f1a4b8cd93a50aa1ec32fe92a38b43390",
425
+ "targetPorts": [
426
+ {
427
+ "name": "web",
428
+ "port": 3000,
429
+ "protocol": "http",
430
+ "default": true
431
+ }
432
+ ],
433
+ "envVars": [
434
+ {
435
+ "key": "SERVEZONE_ENVIRONMENT",
436
+ "value": "production",
437
+ "description": "Cloudly runtime environment.",
438
+ "required": true
439
+ },
440
+ {
441
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
442
+ "value": "https://${SERVICE_DOMAIN}",
443
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
444
+ "required": true
445
+ },
446
+ {
447
+ "key": "SERVEZONE_LISTENPORT",
448
+ "value": "3000",
449
+ "description": "Internal Cloudly HTTP port inside the container.",
450
+ "required": true
451
+ },
452
+ {
453
+ "key": "SERVEZONE_SSLMODE",
454
+ "value": "external",
455
+ "description": "Use external TLS termination through Onebox or dcrouter.",
456
+ "required": true
457
+ },
458
+ {
459
+ "key": "MONGODB_URL",
460
+ "value": "${MONGODB_URI}",
461
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
462
+ "required": true
463
+ },
464
+ {
465
+ "key": "MONGODB_NAME",
466
+ "value": "${MONGODB_DATABASE}",
467
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
468
+ "required": true
469
+ },
470
+ {
471
+ "key": "MONGODB_USER",
472
+ "value": "${MONGODB_USERNAME}",
473
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
474
+ "required": true
475
+ },
476
+ {
477
+ "key": "MONGODB_PASS",
478
+ "value": "${MONGODB_PASSWORD}",
479
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
480
+ "required": true
481
+ },
482
+ {
483
+ "key": "S3_ENDPOINT",
484
+ "value": "onebox-corestore",
485
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
486
+ "required": true
487
+ },
488
+ {
489
+ "key": "S3_PORT",
490
+ "value": "9000",
491
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
492
+ "required": true
493
+ },
494
+ {
495
+ "key": "S3_USESSL",
496
+ "value": "false",
497
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
498
+ "required": true
499
+ },
500
+ {
501
+ "key": "S3_BUCKET",
502
+ "value": "${S3_BUCKET}",
503
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
504
+ "required": true
505
+ },
506
+ {
507
+ "key": "S3_ACCESSKEY",
508
+ "value": "${S3_ACCESS_KEY}",
509
+ "description": "S3 access key provisioned by Onebox Corestore.",
510
+ "required": true
511
+ },
512
+ {
513
+ "key": "S3_SECRETKEY",
514
+ "value": "${S3_SECRET_KEY}",
515
+ "description": "S3 secret key provisioned by Onebox Corestore.",
516
+ "required": true
517
+ }
518
+ ],
519
+ "platformRequirements": {
520
+ "mongodb": true,
521
+ "s3": true
522
+ },
523
+ "platformOidc": {
524
+ "redirectPath": "/auth/oidc/callback",
525
+ "roles": [
526
+ {
527
+ "id": "admin",
528
+ "label": "Administrator",
529
+ "description": "Full Cloudly administration for this hosted instance."
530
+ },
531
+ {
532
+ "id": "user",
533
+ "label": "User",
534
+ "description": "Standard authenticated Cloudly access for this hosted instance."
535
+ }
536
+ ],
537
+ "environmentVariables": {
538
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
539
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
540
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
541
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
542
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
543
+ },
544
+ "clientAuthenticationMethod": "client_secret_basic"
545
+ },
546
+ "minOneboxVersion": "7.1.0",
547
+ "changelog": "Upgrade Cloudly to 17.0.0 and run the Onebox-coordinated offline migration from legacy SecretGroup and SecretBundle persistence into the encrypted v2 secret runtime.",
548
+ "breaking": true,
549
+ "requiresManualReview": true,
550
+ "migrationRequired": true,
551
+ "backupBeforeUpgrade": true,
552
+ "healthCheck": {
553
+ "path": "/status",
554
+ "port": 3000,
555
+ "expectedStatus": 200
556
+ }
557
+ },
558
+ "apps/cloudly/versions/1.1.3/config.json": {
559
+ "image": "code.foss.global/serve.zone/cloudly@sha256:330b4f1617616e655eb411c10067367748f543522c2fc59483b3ff7656d972c6",
560
+ "targetPorts": [
561
+ {
562
+ "name": "web",
563
+ "port": 3000,
564
+ "protocol": "http",
565
+ "default": true
566
+ }
567
+ ],
568
+ "envVars": [
569
+ {
570
+ "key": "SERVEZONE_ENVIRONMENT",
571
+ "value": "production",
572
+ "description": "Cloudly runtime environment.",
573
+ "required": true
574
+ },
575
+ {
576
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
577
+ "value": "https://${SERVICE_DOMAIN}",
578
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
579
+ "required": true
580
+ },
581
+ {
582
+ "key": "SERVEZONE_LISTENPORT",
583
+ "value": "3000",
584
+ "description": "Internal Cloudly HTTP port inside the container.",
585
+ "required": true
586
+ },
587
+ {
588
+ "key": "SERVEZONE_SSLMODE",
589
+ "value": "external",
590
+ "description": "Use external TLS termination through Onebox or dcrouter.",
591
+ "required": true
592
+ },
593
+ {
594
+ "key": "MONGODB_URL",
595
+ "value": "${MONGODB_URI}",
596
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
597
+ "required": true
598
+ },
599
+ {
600
+ "key": "MONGODB_NAME",
601
+ "value": "${MONGODB_DATABASE}",
602
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
603
+ "required": true
604
+ },
605
+ {
606
+ "key": "MONGODB_USER",
607
+ "value": "${MONGODB_USERNAME}",
608
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
609
+ "required": true
610
+ },
611
+ {
612
+ "key": "MONGODB_PASS",
613
+ "value": "${MONGODB_PASSWORD}",
614
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
615
+ "required": true
616
+ },
617
+ {
618
+ "key": "S3_ENDPOINT",
619
+ "value": "onebox-corestore",
620
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
621
+ "required": true
622
+ },
623
+ {
624
+ "key": "S3_PORT",
625
+ "value": "9000",
626
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
627
+ "required": true
628
+ },
629
+ {
630
+ "key": "S3_USESSL",
631
+ "value": "false",
632
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
633
+ "required": true
634
+ },
635
+ {
636
+ "key": "S3_BUCKET",
637
+ "value": "${S3_BUCKET}",
638
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
639
+ "required": true
640
+ },
641
+ {
642
+ "key": "S3_ACCESSKEY",
643
+ "value": "${S3_ACCESS_KEY}",
644
+ "description": "S3 access key provisioned by Onebox Corestore.",
645
+ "required": true
646
+ },
647
+ {
648
+ "key": "S3_SECRETKEY",
649
+ "value": "${S3_SECRET_KEY}",
650
+ "description": "S3 secret key provisioned by Onebox Corestore.",
651
+ "required": true
652
+ }
653
+ ],
654
+ "platformRequirements": {
655
+ "mongodb": true,
656
+ "s3": true
657
+ },
658
+ "platformOidc": {
659
+ "redirectPath": "/auth/oidc/callback",
660
+ "roles": [
661
+ {
662
+ "id": "admin",
663
+ "label": "Administrator",
664
+ "description": "Full Cloudly administration for this hosted instance."
665
+ },
666
+ {
667
+ "id": "user",
668
+ "label": "User",
669
+ "description": "Standard authenticated Cloudly access for this hosted instance."
670
+ }
671
+ ],
672
+ "environmentVariables": {
673
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
674
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
675
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
676
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
677
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
678
+ },
679
+ "clientAuthenticationMethod": "client_secret_basic"
680
+ },
681
+ "minOneboxVersion": "7.1.22",
682
+ "changelog": "Upgrade Cloudly to 17.1.0 and require Onebox's explicit target advance for in-progress 1.1.2 Secrets v2 cutovers before keyring preparation.",
683
+ "breaking": true,
684
+ "requiresManualReview": true,
685
+ "migrationRequired": true,
686
+ "backupBeforeUpgrade": true,
687
+ "healthCheck": {
688
+ "path": "/status",
689
+ "port": 3000,
690
+ "expectedStatus": 200
691
+ }
692
+ },
421
693
  "apps/ghost/app.json": {
422
694
  "id": "ghost",
423
695
  "name": "Ghost",
@@ -1239,7 +1511,7 @@ export const appStorePackageData = {
1239
1511
  },
1240
1512
  "appstore.json": {
1241
1513
  "schemaVersion": 1,
1242
- "updatedAt": "2026-07-25T00:00:00Z",
1514
+ "updatedAt": "2026-08-07T00:00:00Z",
1243
1515
  "apps": [
1244
1516
  {
1245
1517
  "id": "nginx",
@@ -1447,7 +1719,7 @@ export const appStorePackageData = {
1447
1719
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
1448
1720
  "category": "Dev Tools",
1449
1721
  "iconName": "server",
1450
- "latestVersion": "1.1.1",
1722
+ "latestVersion": "1.1.3",
1451
1723
  "tags": [
1452
1724
  "serve.zone",
1453
1725
  "control-plane",
@@ -1509,4 +1781,4 @@ export const appStorePackageData = {
1509
1781
  },
1510
1782
  "textFiles": {}
1511
1783
  };
1512
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19jbGllbnQvZGF0YS5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBSTVFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF5QjtJQUN2RCxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFdBQVcsRUFBRTtRQUNYLHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLHlEQUF5RDtZQUN4RSxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTzthQUNSO1lBQ0QsWUFBWSxFQUFFLFlBQVk7U0FDM0I7UUFDRCx5Q0FBeUMsRUFBRTtZQUN6QyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLGFBQWEsRUFBRTtnQkFDYjtvQkFDRSxNQUFNLEVBQUUsS0FBSztvQkFDYixNQUFNLEVBQUUsSUFBSTtvQkFDWixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsU0FBUyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0Y7U0FDRjtRQUNELHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLGdHQUFnRztZQUMvRyxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsUUFBUTtZQUNwQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87YUFDUjtZQUNELFlBQVksRUFBRSxZQUFZO1lBQzFCLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsNkNBQTZDO2dCQUN2RCxNQUFNLEVBQUUsb0JBQW9CO2FBQzdCO1NBQ0Y7UUFDRCx5Q0FBeUMsRUFBRTtZQUN6QyxPQUFPLEVB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
1784
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19jbGllbnQvZGF0YS5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBSTVFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF5QjtJQUN2RCxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFdBQVcsRUFBRTtRQUNYLHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLHlEQUF5RDtZQUN4RSxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTzthQUNSO1lBQ0QsWUFBWSxFQUFFLFlBQVk7U0FDM0I7UUFDRCx5Q0FBeUMsRUFBRTtZQUN6QyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLGFBQWEsRUFBRTtnQkFDYjtvQkFDRSxNQUFNLEVBQUUsS0FBSztvQkFDYixNQUFNLEVBQUUsSUFBSTtvQkFDWixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsU0FBUyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0Y7U0FDRjtRQUNELHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLGdHQUFnRztZQUMvRyxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsUUFBUTtZQUNwQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2FBQ1I7WUFDRCxZQUFZLEVBQUUsWUFBWTtZQUMxQixPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLDZDQUE2QztnQkFDdkQsTUFBTSxFQUFFLG9CQUFvQjthQUM3QjtTQUNGO1FBQ0QseUNB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/appstore",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "private": false,
5
5
  "description": "serve.zone App Store metadata, parser, and resolver client.",
6
6
  "type": "module",
@@ -16,8 +16,8 @@
16
16
  "devDependencies": {
17
17
  "@git.zone/tsbuild": "^4.4.2",
18
18
  "@git.zone/tsdoc": "^2.1.1",
19
- "@git.zone/tstest": "^3.6.7",
20
- "@types/node": "^26.1.1"
19
+ "@git.zone/tstest": "^4.0.0",
20
+ "@types/node": "^26.1.2"
21
21
  },
22
22
  "files": [
23
23
  "apps/**/*",
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:510b3edb65eed00d3edce4d482f90c864b26b759e3c8f7605109516791fb47f9` | `3000` |
34
+ | `cloudly` | Cloudly | Dev Tools | `code.foss.global/serve.zone/cloudly@sha256:330b4f1617616e655eb411c10067367748f543522c2fc59483b3ff7656d972c6` | `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 | Requires Onebox `2.2.0` or newer. Uses provisioned MongoDB and managed S3-compatible storage for Cloudly state and registry storage, and reports initial admin credentials through hosted-app lifecycle. |
61
+ | `cloudly` | MongoDB, S3 | Version `1.1.3` requires Onebox `7.1.22` and its manual offline Secrets v2 cutover coordinator. Cutovers already started against `1.1.2` require an explicit held-operation target advance before keyring preparation. The flow retains verified backup/restore, explicit phase gates, and full-restore-only rollback. |
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,11 +34,13 @@ 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.1",
37
+ "latestVersion": "1.1.3",
38
38
  "versions": [
39
39
  "1.0.0",
40
40
  "1.1.0",
41
- "1.1.1"
41
+ "1.1.1",
42
+ "1.1.2",
43
+ "1.1.3"
42
44
  ],
43
45
  "maintainer": "serve.zone",
44
46
  "links": {
@@ -421,6 +423,276 @@ export const appStorePackageData: IAppStorePackageData = {
421
423
  },
422
424
  "minOneboxVersion": "2.2.0"
423
425
  },
426
+ "apps/cloudly/versions/1.1.2/config.json": {
427
+ "image": "code.foss.global/serve.zone/cloudly@sha256:de503daed88b058d285bf0d7fd3fc21f1a4b8cd93a50aa1ec32fe92a38b43390",
428
+ "targetPorts": [
429
+ {
430
+ "name": "web",
431
+ "port": 3000,
432
+ "protocol": "http",
433
+ "default": true
434
+ }
435
+ ],
436
+ "envVars": [
437
+ {
438
+ "key": "SERVEZONE_ENVIRONMENT",
439
+ "value": "production",
440
+ "description": "Cloudly runtime environment.",
441
+ "required": true
442
+ },
443
+ {
444
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
445
+ "value": "https://${SERVICE_DOMAIN}",
446
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
447
+ "required": true
448
+ },
449
+ {
450
+ "key": "SERVEZONE_LISTENPORT",
451
+ "value": "3000",
452
+ "description": "Internal Cloudly HTTP port inside the container.",
453
+ "required": true
454
+ },
455
+ {
456
+ "key": "SERVEZONE_SSLMODE",
457
+ "value": "external",
458
+ "description": "Use external TLS termination through Onebox or dcrouter.",
459
+ "required": true
460
+ },
461
+ {
462
+ "key": "MONGODB_URL",
463
+ "value": "${MONGODB_URI}",
464
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
465
+ "required": true
466
+ },
467
+ {
468
+ "key": "MONGODB_NAME",
469
+ "value": "${MONGODB_DATABASE}",
470
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
471
+ "required": true
472
+ },
473
+ {
474
+ "key": "MONGODB_USER",
475
+ "value": "${MONGODB_USERNAME}",
476
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
477
+ "required": true
478
+ },
479
+ {
480
+ "key": "MONGODB_PASS",
481
+ "value": "${MONGODB_PASSWORD}",
482
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
483
+ "required": true
484
+ },
485
+ {
486
+ "key": "S3_ENDPOINT",
487
+ "value": "onebox-corestore",
488
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
489
+ "required": true
490
+ },
491
+ {
492
+ "key": "S3_PORT",
493
+ "value": "9000",
494
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
495
+ "required": true
496
+ },
497
+ {
498
+ "key": "S3_USESSL",
499
+ "value": "false",
500
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
501
+ "required": true
502
+ },
503
+ {
504
+ "key": "S3_BUCKET",
505
+ "value": "${S3_BUCKET}",
506
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
507
+ "required": true
508
+ },
509
+ {
510
+ "key": "S3_ACCESSKEY",
511
+ "value": "${S3_ACCESS_KEY}",
512
+ "description": "S3 access key provisioned by Onebox Corestore.",
513
+ "required": true
514
+ },
515
+ {
516
+ "key": "S3_SECRETKEY",
517
+ "value": "${S3_SECRET_KEY}",
518
+ "description": "S3 secret key provisioned by Onebox Corestore.",
519
+ "required": true
520
+ }
521
+ ],
522
+ "platformRequirements": {
523
+ "mongodb": true,
524
+ "s3": true
525
+ },
526
+ "platformOidc": {
527
+ "redirectPath": "/auth/oidc/callback",
528
+ "roles": [
529
+ {
530
+ "id": "admin",
531
+ "label": "Administrator",
532
+ "description": "Full Cloudly administration for this hosted instance."
533
+ },
534
+ {
535
+ "id": "user",
536
+ "label": "User",
537
+ "description": "Standard authenticated Cloudly access for this hosted instance."
538
+ }
539
+ ],
540
+ "environmentVariables": {
541
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
542
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
543
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
544
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
545
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
546
+ },
547
+ "clientAuthenticationMethod": "client_secret_basic"
548
+ },
549
+ "minOneboxVersion": "7.1.0",
550
+ "changelog": "Upgrade Cloudly to 17.0.0 and run the Onebox-coordinated offline migration from legacy SecretGroup and SecretBundle persistence into the encrypted v2 secret runtime.",
551
+ "breaking": true,
552
+ "requiresManualReview": true,
553
+ "migrationRequired": true,
554
+ "backupBeforeUpgrade": true,
555
+ "healthCheck": {
556
+ "path": "/status",
557
+ "port": 3000,
558
+ "expectedStatus": 200
559
+ }
560
+ },
561
+ "apps/cloudly/versions/1.1.3/config.json": {
562
+ "image": "code.foss.global/serve.zone/cloudly@sha256:330b4f1617616e655eb411c10067367748f543522c2fc59483b3ff7656d972c6",
563
+ "targetPorts": [
564
+ {
565
+ "name": "web",
566
+ "port": 3000,
567
+ "protocol": "http",
568
+ "default": true
569
+ }
570
+ ],
571
+ "envVars": [
572
+ {
573
+ "key": "SERVEZONE_ENVIRONMENT",
574
+ "value": "production",
575
+ "description": "Cloudly runtime environment.",
576
+ "required": true
577
+ },
578
+ {
579
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
580
+ "value": "https://${SERVICE_DOMAIN}",
581
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
582
+ "required": true
583
+ },
584
+ {
585
+ "key": "SERVEZONE_LISTENPORT",
586
+ "value": "3000",
587
+ "description": "Internal Cloudly HTTP port inside the container.",
588
+ "required": true
589
+ },
590
+ {
591
+ "key": "SERVEZONE_SSLMODE",
592
+ "value": "external",
593
+ "description": "Use external TLS termination through Onebox or dcrouter.",
594
+ "required": true
595
+ },
596
+ {
597
+ "key": "MONGODB_URL",
598
+ "value": "${MONGODB_URI}",
599
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
600
+ "required": true
601
+ },
602
+ {
603
+ "key": "MONGODB_NAME",
604
+ "value": "${MONGODB_DATABASE}",
605
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
606
+ "required": true
607
+ },
608
+ {
609
+ "key": "MONGODB_USER",
610
+ "value": "${MONGODB_USERNAME}",
611
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
612
+ "required": true
613
+ },
614
+ {
615
+ "key": "MONGODB_PASS",
616
+ "value": "${MONGODB_PASSWORD}",
617
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
618
+ "required": true
619
+ },
620
+ {
621
+ "key": "S3_ENDPOINT",
622
+ "value": "onebox-corestore",
623
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
624
+ "required": true
625
+ },
626
+ {
627
+ "key": "S3_PORT",
628
+ "value": "9000",
629
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
630
+ "required": true
631
+ },
632
+ {
633
+ "key": "S3_USESSL",
634
+ "value": "false",
635
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
636
+ "required": true
637
+ },
638
+ {
639
+ "key": "S3_BUCKET",
640
+ "value": "${S3_BUCKET}",
641
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
642
+ "required": true
643
+ },
644
+ {
645
+ "key": "S3_ACCESSKEY",
646
+ "value": "${S3_ACCESS_KEY}",
647
+ "description": "S3 access key provisioned by Onebox Corestore.",
648
+ "required": true
649
+ },
650
+ {
651
+ "key": "S3_SECRETKEY",
652
+ "value": "${S3_SECRET_KEY}",
653
+ "description": "S3 secret key provisioned by Onebox Corestore.",
654
+ "required": true
655
+ }
656
+ ],
657
+ "platformRequirements": {
658
+ "mongodb": true,
659
+ "s3": true
660
+ },
661
+ "platformOidc": {
662
+ "redirectPath": "/auth/oidc/callback",
663
+ "roles": [
664
+ {
665
+ "id": "admin",
666
+ "label": "Administrator",
667
+ "description": "Full Cloudly administration for this hosted instance."
668
+ },
669
+ {
670
+ "id": "user",
671
+ "label": "User",
672
+ "description": "Standard authenticated Cloudly access for this hosted instance."
673
+ }
674
+ ],
675
+ "environmentVariables": {
676
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
677
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
678
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
679
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
680
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
681
+ },
682
+ "clientAuthenticationMethod": "client_secret_basic"
683
+ },
684
+ "minOneboxVersion": "7.1.22",
685
+ "changelog": "Upgrade Cloudly to 17.1.0 and require Onebox's explicit target advance for in-progress 1.1.2 Secrets v2 cutovers before keyring preparation.",
686
+ "breaking": true,
687
+ "requiresManualReview": true,
688
+ "migrationRequired": true,
689
+ "backupBeforeUpgrade": true,
690
+ "healthCheck": {
691
+ "path": "/status",
692
+ "port": 3000,
693
+ "expectedStatus": 200
694
+ }
695
+ },
424
696
  "apps/ghost/app.json": {
425
697
  "id": "ghost",
426
698
  "name": "Ghost",
@@ -1242,7 +1514,7 @@ export const appStorePackageData: IAppStorePackageData = {
1242
1514
  },
1243
1515
  "appstore.json": {
1244
1516
  "schemaVersion": 1,
1245
- "updatedAt": "2026-07-25T00:00:00Z",
1517
+ "updatedAt": "2026-08-07T00:00:00Z",
1246
1518
  "apps": [
1247
1519
  {
1248
1520
  "id": "nginx",
@@ -1450,7 +1722,7 @@ export const appStorePackageData: IAppStorePackageData = {
1450
1722
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
1451
1723
  "category": "Dev Tools",
1452
1724
  "iconName": "server",
1453
- "latestVersion": "1.1.1",
1725
+ "latestVersion": "1.1.3",
1454
1726
  "tags": [
1455
1727
  "serve.zone",
1456
1728
  "control-plane",