@serve.zone/appstore 32.9.0 → 32.10.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.9.0",
8
- "versions": ["1.0.0", "1.1.0", "1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8", "1.1.9", "1.1.10", "1.2.0", "1.2.1", "1.3.0", "1.4.0", "1.5.0", "1.6.0", "1.7.0", "1.8.0", "1.9.0"],
7
+ "latestVersion": "1.10.0",
8
+ "versions": ["1.0.0", "1.1.0", "1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8", "1.1.9", "1.1.10", "1.2.0", "1.2.1", "1.3.0", "1.4.0", "1.5.0", "1.6.0", "1.7.0", "1.8.0", "1.9.0", "1.10.0"],
9
9
  "maintainer": "serve.zone",
10
10
  "links": {
11
11
  "Source": "https://code.foss.global/serve.zone/cloudly",
@@ -0,0 +1,173 @@
1
+ {
2
+ "image": "code.foss.global/serve.zone/cloudly@sha256:0b492a2511643981f003f1424715cf5abcdf39767fe5c995ad036a31b219f61e",
3
+ "targetPorts": [
4
+ {
5
+ "name": "web",
6
+ "port": 3000,
7
+ "protocol": "http",
8
+ "default": true
9
+ }
10
+ ],
11
+ "envVars": [
12
+ {
13
+ "key": "SERVEZONE_ENVIRONMENT",
14
+ "value": "production",
15
+ "description": "Cloudly runtime environment.",
16
+ "required": true
17
+ },
18
+ {
19
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
20
+ "value": "https://${SERVICE_DOMAIN}",
21
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
22
+ "required": true
23
+ },
24
+ {
25
+ "key": "SERVEZONE_LISTENPORT",
26
+ "value": "3000",
27
+ "description": "Internal Cloudly HTTP port inside the container.",
28
+ "required": true
29
+ },
30
+ {
31
+ "key": "SERVEZONE_SSLMODE",
32
+ "value": "external",
33
+ "description": "Use external TLS termination through Onebox or dcrouter.",
34
+ "required": true
35
+ },
36
+ {
37
+ "key": "SERVEZONE_SECRET_KEYRING_PATH",
38
+ "value": "/run/secrets/cloudly-secrets-v2-keyring.json",
39
+ "description": "Path to the Cloudly Secrets v2 keyring mounted by Onebox; the keyring value is never placed in the public environment.",
40
+ "required": true
41
+ },
42
+ {
43
+ "key": "SERVEZONE_SECRET_KEYRING_FILE",
44
+ "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.",
45
+ "required": true,
46
+ "secret": true,
47
+ "delivery": {
48
+ "type": "file",
49
+ "targetPath": "/run/secrets/cloudly-secrets-v2-keyring.json",
50
+ "uid": 0,
51
+ "gid": 0,
52
+ "mode": 256
53
+ }
54
+ },
55
+ {
56
+ "key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
57
+ "value": "/run/secrets/cloudly-workloadinit-approval.json",
58
+ "description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
59
+ "required": true
60
+ },
61
+ {
62
+ "key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
63
+ "description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
64
+ "required": true,
65
+ "secret": true,
66
+ "delivery": {
67
+ "type": "file",
68
+ "targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
69
+ "uid": 0,
70
+ "gid": 0,
71
+ "mode": 256
72
+ }
73
+ },
74
+ {
75
+ "key": "MONGODB_URL",
76
+ "value": "${MONGODB_URI}",
77
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
78
+ "required": true
79
+ },
80
+ {
81
+ "key": "MONGODB_NAME",
82
+ "value": "${MONGODB_DATABASE}",
83
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
84
+ "required": true
85
+ },
86
+ {
87
+ "key": "MONGODB_USER",
88
+ "value": "${MONGODB_USERNAME}",
89
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
90
+ "required": true
91
+ },
92
+ {
93
+ "key": "MONGODB_PASS",
94
+ "value": "${MONGODB_PASSWORD}",
95
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
96
+ "required": true
97
+ },
98
+ {
99
+ "key": "S3_ENDPOINT",
100
+ "value": "onebox-corestore",
101
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
102
+ "required": true
103
+ },
104
+ {
105
+ "key": "S3_PORT",
106
+ "value": "9000",
107
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
108
+ "required": true
109
+ },
110
+ {
111
+ "key": "S3_USESSL",
112
+ "value": "false",
113
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
114
+ "required": true
115
+ },
116
+ {
117
+ "key": "S3_BUCKET",
118
+ "value": "${S3_BUCKET}",
119
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
120
+ "required": true
121
+ },
122
+ {
123
+ "key": "S3_ACCESSKEY",
124
+ "value": "${S3_ACCESS_KEY}",
125
+ "description": "S3 access key provisioned by Onebox Corestore.",
126
+ "required": true
127
+ },
128
+ {
129
+ "key": "S3_SECRETKEY",
130
+ "value": "${S3_SECRET_KEY}",
131
+ "description": "S3 secret key provisioned by Onebox Corestore.",
132
+ "required": true
133
+ }
134
+ ],
135
+ "platformRequirements": {
136
+ "mongodb": true,
137
+ "s3": true
138
+ },
139
+ "platformOidc": {
140
+ "redirectPath": "/auth/oidc/callback",
141
+ "roles": [
142
+ {
143
+ "id": "admin",
144
+ "label": "Administrator",
145
+ "description": "Full Cloudly administration for this hosted instance."
146
+ },
147
+ {
148
+ "id": "user",
149
+ "label": "User",
150
+ "description": "Standard authenticated Cloudly access for this hosted instance."
151
+ }
152
+ ],
153
+ "environmentVariables": {
154
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
155
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
156
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
157
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
158
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
159
+ },
160
+ "clientAuthenticationMethod": "client_secret_basic"
161
+ },
162
+ "minOneboxVersion": "32.4.0",
163
+ "changelog": "Move Cloudly to 33.7.0, a feature release over 33.6.0 that includes the fixes of 33.6.1. A fresh greenfield service can take over a legacy service's Corestore database and bucket with their data and retention intact: an adoptCorestoreLegacyResources selection entry may name successorServiceId (interfaces 32.34.0), and the adopting binding is then created on that successor with corestoreLegacyAdoption.legacyServiceId naming the legacy owner, and the plan entry carries the successor for Corestore's offline adoption, which Corestore 33.2.0 is the first release to read. The successor must share the owner's organization, be an immutable-deployment service, own no legacy resource of the capability and hold no other binding of it, and a legacy resource is adopted by one service only, enforced by a claim written in the adoption's transaction; the new refusals are legacy-resource-adopted-elsewhere, successor-organization-mismatch, successor-not-greenfield and successor-owns-legacy-resource, and each created adoption is logged. Until now a legacy service replaced by a greenfield deployment stranded its data, since only its own binding could adopt it. A deployment reservation whose release tag the service registry already holds a digest for is refused DEPLOYMENT_RELEASE_TAG_OCCUPIED, not retryable, whoever pushed it, instead of being left awaiting its image forever, and the reserve-phase preflight reports such a tag as VERSION_COLLISION unless the operation's own push bound that digest, for existing services and greenfield deployments alike. An administrator's manifest push to a release tag a deployment operation reserved is refused 409 release-tag-reserved, naming the operation, and a claim read that fails refuses the push; unreserved release tags and mutable tags keep the administrator's write access. A platform binding's status report is pushed back to its cluster relay only when it changed what the relay reads (status, reason, endpoints, bucket name or Corestore authority fence), which ends the loop of about one push a second with a relay that kept reporting the same failed state; every report is still recorded in the service's reconciliation status, and a change whose push failed after it was stored is pushed again with the binding's next report. The runtime contract is unchanged from 1.9.0 and requires Onebox 32.4.0. Cloudly 33.7.0 stores the adoption claims in a new collection and keeps the data version 0.23.0, so from 1.9.0 there is no data step. From 1.8.0 or earlier, the changes of Cloudly 33.6.0 apply too: every new service gets its own deployment namespace, <name>-<id digest>-v<major> with twelve hex digits of the SHA-256 of the service id, so two services of one project on one Cloudly both reserve instead of the second being refused DEPLOYMENT_RESOURCE_COLLISION; a service already holding its project-only namespace keeps it, as does an operation reserved under it, so no deployed service moves and no data changes. Cloudly now stops gracefully on SIGTERM and SIGINT: the first signal runs Cloudly.stop(), which closes the database last, and the process exits 0 when the stop completes and 1 when it fails or has not completed within 8 seconds, below the 10-second stop grace of Docker and Swarm, so stopping or restarting the Cloudly service no longer leaves a database transaction held on the server and the next start no longer crash-loops on EFENCE_BUSY until the server's 30-minute session timeout; a second signal exits at once with 143 (SIGTERM) or 130 (SIGINT), and a process ended by SIGKILL still holds its database session until that timeout. getDeploymentMachineUsers lists a deployment machine user configured under Cloudly 11 again instead of failing the whole listing with an unnamed internal error, a stored user the listing still cannot describe fails it with an error naming the user and the refused part (identity, tokens or grants), and every unexpected failure of getDeploymentMachineUsers or mutateDeploymentMachineUser is logged with each error of its chain. From 1.8.0 or earlier, startup runs the forward-only data migration from 0.22.0 to 0.23.0 through the step deployment-machine-user-grants, which keeps on every deployment machine user exactly the grants a capability check reads, the first valid grant per organization and service, and permanently removes the rest, such as the { serviceId, capabilities } grants stored by Cloudly 11; tokens, names and every deployment's authority stay as they are. Stop Cloudly and take a verified backup before upgrading, because the step has no inverse and rollback requires a full restore. From 1.7.0 or earlier, the deployment machine users of Cloudly 33.5.0 apply too: a deployment is reserved only by a deployment machine user. reserveServiceDeployment refuses any other verified actor, an administrator included, with DEPLOYMENT_MACHINE_IDENTITY_REQUIRED before anything is reserved, and the reserve-phase getDeploymentPreflight reports the same blocker; an existing api machine user with its grants already qualifies and needs no change. A deployer that signs in with a username and password, such as tsdeploy with TSDEPLOY_CLOUDLY_USERNAME and TSDEPLOY_CLOUDLY_PASSWORD, is an administrator and is refused, so switch it to a machine-user token before upgrading from 1.7.0 or earlier: create a deployment machine user per deployer with mutateDeploymentMachineUser or Access → Deployment machine users in the dashboard, attach its grants with configureServiceDeploymentMachineUser, and give its username and token to the deployer. An operation an administrator reserved earlier stays awaiting its image; clean it up with cleanupServiceDeployment. mutateDeploymentMachineUser creates an API machine user with one token (create), replaces every token of one with a new token (rotate-token) or removes its tokens while its grants stay (revoke-token); the token is answered once and expires at most a year after the mutation, and getDeploymentMachineUsers lists every deployment machine user with its token expiries and grants and never a token value. The identity getIdentityByToken issues and the registry bearer of a machine login now name the SHA-256 of their token, and every verification checks that the user still holds that unexpired token, so removing a token ends the sessions opened with it. A machine identity or registry bearer issued by an earlier release names no token and is refused, so its holder exchanges its token again: a deployer such as tsdeploy does so on every run, while a long-running API or administrator machine client that keeps its identity across a reconnect calls getIdentityByToken once more after the upgrade; cluster identities, including relays on the shared cluster token, and service workload identities are unaffected. Let no deployment run while Cloudly upgrades: a run in progress keeps its pre-upgrade identity and is refused for the rest of that run, so rerun it or resume it with deploy-retry. The cluster config broadcast now reaches the elected relay of every cluster, so a Corestore endpoint written on a node of a Pallet cluster, and every other broadcast, reaches that cluster's relay at once instead of when it reconnects, and setServiceRuntimeSpec refuses a spec the runtime spec contract rejects as Service runtime operation rejected: invalid. instead of Internal server error, and stores nothing. From 1.6.0, startup first runs the forward-only data migration from 0.21.0 to 0.22.0 through the step runtime-session-protocol-offer, which states protocol: null on every Pallet session row recorded before Cloudly stored the protocol offer its node stated, so such a node counts as unrecorded until it registers again; that step has no inverse either. The published-port ranges of Cloudly 33.4.0 apply too: setServicePublishedPorts publishes a contiguous range through hostPortEnd and same-port outbound through symmetric: true, which needs public egress (published-port-symmetric-without-egress) and owns its inside ports (published-port-symmetric-inside-overlap); new handoff leases translate outbound flows only into the SNAT band 49152-65535, whose ports are refused published-port-reserved, while a node keeps its 1024-65535 lease until its router is re-created; a service network policy write for a service whose deletion has begun is refused service-deleting; and a projection carrying a range or a symmetric entry is withheld as node-contract-behind from a Pallet node whose session states a release below interfaces 32.31.0, or none. From 1.5.0 the same step runs, and the service network egress of Cloudly 33.3.0 applies too: an administrator sets a service's network egress with setServiceNetworkEgress, which states whether the service's attached workloads reach the public internet and which platform endpoints of the protected authority they reach, and reads it with getServiceNetworkEgress; a workload whose enabled database or object-storage binding sits on a node whose Corestore endpoint its network does not select is refused database-endpoint-unselected or objectstorage-endpoint-unselected, and a replica already running keeps running while its target reports the refusal, so grant the endpoint through the service's egress before such a workload is placed again; the default runtime spec of a new service probes its process instead of its first TCP target port. From 1.4.0 the same step runs, and the gateway admin bootstrap of Cloudly 33.2.0 applies too: an administrator hands Cloudly a dcrouter admin token once through bootstrapExternalGatewayCredential or servezone gateway bootstrap, from which Cloudly provisions and stores its own gateway-client credential; a first enrollment turns admin-bootstrap-required, a gateway settings change the held credential cannot carry is staged, a runtime network address plan out of its canonical order is refused plan-unsorted, and a relay naming a node Cloudly does not hold is refused relay-node-unknown: roll out Cloudly 33.7.0 first, then Coreflow 33.2.0, which recognises the relay-node-unknown refusal. From 1.3.0 the same step runs, and the per-node database endpoint of Cloudly 33.1.0 applies too: roll out Cloudly 33.7.0 first, then Coreflow 33.2.0 (33.1.0 at minimum), then Corestore 33.0.0, and set every node's Corestore database endpoint with setClusterNodeCorestoreDatabaseEndpoint, because a database binding on a node without one is not granted and its service is refused database-endpoint-missing, and existing database bindings answer no credential material until they are granted again for the endpoint. From 1.2.1 or earlier, startup runs the forward-only data migration from 0.20.0 to 0.21.0 through the step retire-cluster-relay-acme and then the steps runtime-session-protocol-offer to 0.22.0 and deployment-machine-user-grants to 0.23.0; retire-cluster-relay-acme drops the relay certificate and DNS collections of Cloudly's retired Cloudflare and Let's Encrypt integration and logs every relay name whose A record Cloudly had written at Cloudflare: remove each such record at the provider. A cluster relay then requires a dcrouter that advertises dns.clientRecords and certificates.exactIssuance, SERVEZONE_SSLMODE=letsencrypt is refused (this template keeps external), and the typed API changes as the Breaking Changes of the Cloudly 33.0.0 changelog list; review them, stop Cloudly and take a verified backup before upgrading, because the 32.9 image refuses the migrated data and rollback requires a full restore. The upgrade is marked migration-required and backup-before-upgrade because hosts read these flags from the target version alone and every upgrade from 1.8.0 or earlier runs the 0.22.0 to 0.23.0 step, an upgrade from 1.6.0 or earlier runs the 0.21.0 to 0.22.0 step before it and one from 1.2.1 or earlier the migration from 0.20.0 as well, and breaking and manual-review because that step removes stored grants forward-only and, from 1.7.0 or earlier, a username and password deployer, an administrator's deployment reservation and a machine identity or registry bearer issued earlier are refused. An installation on 1.1.10 or earlier also runs the 1.2.0 steps first, from 0.10.0, and requires completed Secrets v2 cutover retirement. Preserve existing user and storage identities, OIDC bindings, the encrypted keyring and WorkloadInit approval as dedicated root-readable files.",
164
+ "breaking": true,
165
+ "requiresManualReview": true,
166
+ "migrationRequired": true,
167
+ "backupBeforeUpgrade": true,
168
+ "healthCheck": {
169
+ "path": "/status",
170
+ "port": 3000,
171
+ "expectedStatus": 200
172
+ }
173
+ }
package/appstore.json CHANGED
@@ -151,7 +151,7 @@
151
151
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
152
152
  "category": "Dev Tools",
153
153
  "iconName": "server",
154
- "latestVersion": "1.9.0",
154
+ "latestVersion": "1.10.0",
155
155
  "tags": ["serve.zone", "control-plane", "clusters", "deployments"]
156
156
  },
157
157
  {
package/changelog.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-09-29 - 32.10.0
4
+
5
+ ### Features
6
+
7
+ - publish the Cloudly 1.10.0 template for Cloudly 33.7.0 (cloudly)
8
+ - Add Cloudly app version 1.10.0, pinned to the Cloudly 33.7.0 multi-platform image index `code.foss.global/serve.zone/cloudly@sha256:0b492a2511643981f003f1424715cf5abcdf39767fe5c995ad036a31b219f61e` (linux/amd64 and linux/arm64), and mark it as the latest catalog version.
9
+ - Keep the 1.9.0 runtime contract and `minOneboxVersion` 32.4.0. Cloudly 33.6.1 and 33.7.0 change neither `qenv.yml` nor the Dockerfile and read no new environment variable, so every start-required variable is still a required template variable and `SERVEZONE_SSLMODE` stays `external`.
10
+ - Keep the upgrade breaking, manual-review, migration-required and backup-before-upgrade. Cloudly 33.7.0 adds no data step and keeps the data version 0.23.0, so an upgrade from 1.9.0 migrates nothing, but hosts read these flags from the target version alone and every upgrade from 1.8.0 or earlier still runs the forward-only step `deployment-machine-user-grants` on this image.
11
+ - The template changelog names the successor adoption of Cloudly 33.7.0 (`adoptCorestoreLegacyResources` with `successorServiceId`, interfaces 32.34.0, carried out by Corestore 33.2.0 or later, with its four new refusals) and the 33.6.1 fixes (`DEPLOYMENT_RELEASE_TAG_OCCUPIED` and the `VERSION_COLLISION` preflight for a registry-held release tag, `409 release-tag-reserved` for an administrator's push to a reserved tag, binding status pushed to the relay only on change). For installations on 1.8.0 or earlier it carries forward the 1.9.0 notes, with the rollout order Cloudly 33.7.0 before Coreflow 33.2.0.
12
+ - Update the bundled client data, the README guidance and the resolver regression coverage, which now holds 1.10.0 to the 1.9.0 runtime contract and upgrade flags.
13
+
3
14
  ## 2026-09-28 - 32.9.0
4
15
 
5
16
  ### Features
@@ -31,7 +31,7 @@ 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.9.0",
34
+ "latestVersion": "1.10.0",
35
35
  "versions": [
36
36
  "1.0.0",
37
37
  "1.1.0",
@@ -53,7 +53,8 @@ export const appStorePackageData = {
53
53
  "1.6.0",
54
54
  "1.7.0",
55
55
  "1.8.0",
56
- "1.9.0"
56
+ "1.9.0",
57
+ "1.10.0"
57
58
  ],
58
59
  "maintainer": "serve.zone",
59
60
  "links": {
@@ -1822,6 +1823,179 @@ export const appStorePackageData = {
1822
1823
  "expectedStatus": 200
1823
1824
  }
1824
1825
  },
1826
+ "apps/cloudly/versions/1.10.0/config.json": {
1827
+ "image": "code.foss.global/serve.zone/cloudly@sha256:0b492a2511643981f003f1424715cf5abcdf39767fe5c995ad036a31b219f61e",
1828
+ "targetPorts": [
1829
+ {
1830
+ "name": "web",
1831
+ "port": 3000,
1832
+ "protocol": "http",
1833
+ "default": true
1834
+ }
1835
+ ],
1836
+ "envVars": [
1837
+ {
1838
+ "key": "SERVEZONE_ENVIRONMENT",
1839
+ "value": "production",
1840
+ "description": "Cloudly runtime environment.",
1841
+ "required": true
1842
+ },
1843
+ {
1844
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
1845
+ "value": "https://${SERVICE_DOMAIN}",
1846
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
1847
+ "required": true
1848
+ },
1849
+ {
1850
+ "key": "SERVEZONE_LISTENPORT",
1851
+ "value": "3000",
1852
+ "description": "Internal Cloudly HTTP port inside the container.",
1853
+ "required": true
1854
+ },
1855
+ {
1856
+ "key": "SERVEZONE_SSLMODE",
1857
+ "value": "external",
1858
+ "description": "Use external TLS termination through Onebox or dcrouter.",
1859
+ "required": true
1860
+ },
1861
+ {
1862
+ "key": "SERVEZONE_SECRET_KEYRING_PATH",
1863
+ "value": "/run/secrets/cloudly-secrets-v2-keyring.json",
1864
+ "description": "Path to the Cloudly Secrets v2 keyring mounted by Onebox; the keyring value is never placed in the public environment.",
1865
+ "required": true
1866
+ },
1867
+ {
1868
+ "key": "SERVEZONE_SECRET_KEYRING_FILE",
1869
+ "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.",
1870
+ "required": true,
1871
+ "secret": true,
1872
+ "delivery": {
1873
+ "type": "file",
1874
+ "targetPath": "/run/secrets/cloudly-secrets-v2-keyring.json",
1875
+ "uid": 0,
1876
+ "gid": 0,
1877
+ "mode": 256
1878
+ }
1879
+ },
1880
+ {
1881
+ "key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
1882
+ "value": "/run/secrets/cloudly-workloadinit-approval.json",
1883
+ "description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
1884
+ "required": true
1885
+ },
1886
+ {
1887
+ "key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
1888
+ "description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
1889
+ "required": true,
1890
+ "secret": true,
1891
+ "delivery": {
1892
+ "type": "file",
1893
+ "targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
1894
+ "uid": 0,
1895
+ "gid": 0,
1896
+ "mode": 256
1897
+ }
1898
+ },
1899
+ {
1900
+ "key": "MONGODB_URL",
1901
+ "value": "${MONGODB_URI}",
1902
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
1903
+ "required": true
1904
+ },
1905
+ {
1906
+ "key": "MONGODB_NAME",
1907
+ "value": "${MONGODB_DATABASE}",
1908
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
1909
+ "required": true
1910
+ },
1911
+ {
1912
+ "key": "MONGODB_USER",
1913
+ "value": "${MONGODB_USERNAME}",
1914
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
1915
+ "required": true
1916
+ },
1917
+ {
1918
+ "key": "MONGODB_PASS",
1919
+ "value": "${MONGODB_PASSWORD}",
1920
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
1921
+ "required": true
1922
+ },
1923
+ {
1924
+ "key": "S3_ENDPOINT",
1925
+ "value": "onebox-corestore",
1926
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
1927
+ "required": true
1928
+ },
1929
+ {
1930
+ "key": "S3_PORT",
1931
+ "value": "9000",
1932
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
1933
+ "required": true
1934
+ },
1935
+ {
1936
+ "key": "S3_USESSL",
1937
+ "value": "false",
1938
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
1939
+ "required": true
1940
+ },
1941
+ {
1942
+ "key": "S3_BUCKET",
1943
+ "value": "${S3_BUCKET}",
1944
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
1945
+ "required": true
1946
+ },
1947
+ {
1948
+ "key": "S3_ACCESSKEY",
1949
+ "value": "${S3_ACCESS_KEY}",
1950
+ "description": "S3 access key provisioned by Onebox Corestore.",
1951
+ "required": true
1952
+ },
1953
+ {
1954
+ "key": "S3_SECRETKEY",
1955
+ "value": "${S3_SECRET_KEY}",
1956
+ "description": "S3 secret key provisioned by Onebox Corestore.",
1957
+ "required": true
1958
+ }
1959
+ ],
1960
+ "platformRequirements": {
1961
+ "mongodb": true,
1962
+ "s3": true
1963
+ },
1964
+ "platformOidc": {
1965
+ "redirectPath": "/auth/oidc/callback",
1966
+ "roles": [
1967
+ {
1968
+ "id": "admin",
1969
+ "label": "Administrator",
1970
+ "description": "Full Cloudly administration for this hosted instance."
1971
+ },
1972
+ {
1973
+ "id": "user",
1974
+ "label": "User",
1975
+ "description": "Standard authenticated Cloudly access for this hosted instance."
1976
+ }
1977
+ ],
1978
+ "environmentVariables": {
1979
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
1980
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
1981
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
1982
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
1983
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
1984
+ },
1985
+ "clientAuthenticationMethod": "client_secret_basic"
1986
+ },
1987
+ "minOneboxVersion": "32.4.0",
1988
+ "changelog": "Move Cloudly to 33.7.0, a feature release over 33.6.0 that includes the fixes of 33.6.1. A fresh greenfield service can take over a legacy service's Corestore database and bucket with their data and retention intact: an adoptCorestoreLegacyResources selection entry may name successorServiceId (interfaces 32.34.0), and the adopting binding is then created on that successor with corestoreLegacyAdoption.legacyServiceId naming the legacy owner, and the plan entry carries the successor for Corestore's offline adoption, which Corestore 33.2.0 is the first release to read. The successor must share the owner's organization, be an immutable-deployment service, own no legacy resource of the capability and hold no other binding of it, and a legacy resource is adopted by one service only, enforced by a claim written in the adoption's transaction; the new refusals are legacy-resource-adopted-elsewhere, successor-organization-mismatch, successor-not-greenfield and successor-owns-legacy-resource, and each created adoption is logged. Until now a legacy service replaced by a greenfield deployment stranded its data, since only its own binding could adopt it. A deployment reservation whose release tag the service registry already holds a digest for is refused DEPLOYMENT_RELEASE_TAG_OCCUPIED, not retryable, whoever pushed it, instead of being left awaiting its image forever, and the reserve-phase preflight reports such a tag as VERSION_COLLISION unless the operation's own push bound that digest, for existing services and greenfield deployments alike. An administrator's manifest push to a release tag a deployment operation reserved is refused 409 release-tag-reserved, naming the operation, and a claim read that fails refuses the push; unreserved release tags and mutable tags keep the administrator's write access. A platform binding's status report is pushed back to its cluster relay only when it changed what the relay reads (status, reason, endpoints, bucket name or Corestore authority fence), which ends the loop of about one push a second with a relay that kept reporting the same failed state; every report is still recorded in the service's reconciliation status, and a change whose push failed after it was stored is pushed again with the binding's next report. The runtime contract is unchanged from 1.9.0 and requires Onebox 32.4.0. Cloudly 33.7.0 stores the adoption claims in a new collection and keeps the data version 0.23.0, so from 1.9.0 there is no data step. From 1.8.0 or earlier, the changes of Cloudly 33.6.0 apply too: every new service gets its own deployment namespace, <name>-<id digest>-v<major> with twelve hex digits of the SHA-256 of the service id, so two services of one project on one Cloudly both reserve instead of the second being refused DEPLOYMENT_RESOURCE_COLLISION; a service already holding its project-only namespace keeps it, as does an operation reserved under it, so no deployed service moves and no data changes. Cloudly now stops gracefully on SIGTERM and SIGINT: the first signal runs Cloudly.stop(), which closes the database last, and the process exits 0 when the stop completes and 1 when it fails or has not completed within 8 seconds, below the 10-second stop grace of Docker and Swarm, so stopping or restarting the Cloudly service no longer leaves a database transaction held on the server and the next start no longer crash-loops on EFENCE_BUSY until the server's 30-minute session timeout; a second signal exits at once with 143 (SIGTERM) or 130 (SIGINT), and a process ended by SIGKILL still holds its database session until that timeout. getDeploymentMachineUsers lists a deployment machine user configured under Cloudly 11 again instead of failing the whole listing with an unnamed internal error, a stored user the listing still cannot describe fails it with an error naming the user and the refused part (identity, tokens or grants), and every unexpected failure of getDeploymentMachineUsers or mutateDeploymentMachineUser is logged with each error of its chain. From 1.8.0 or earlier, startup runs the forward-only data migration from 0.22.0 to 0.23.0 through the step deployment-machine-user-grants, which keeps on every deployment machine user exactly the grants a capability check reads, the first valid grant per organization and service, and permanently removes the rest, such as the { serviceId, capabilities } grants stored by Cloudly 11; tokens, names and every deployment's authority stay as they are. Stop Cloudly and take a verified backup before upgrading, because the step has no inverse and rollback requires a full restore. From 1.7.0 or earlier, the deployment machine users of Cloudly 33.5.0 apply too: a deployment is reserved only by a deployment machine user. reserveServiceDeployment refuses any other verified actor, an administrator included, with DEPLOYMENT_MACHINE_IDENTITY_REQUIRED before anything is reserved, and the reserve-phase getDeploymentPreflight reports the same blocker; an existing api machine user with its grants already qualifies and needs no change. A deployer that signs in with a username and password, such as tsdeploy with TSDEPLOY_CLOUDLY_USERNAME and TSDEPLOY_CLOUDLY_PASSWORD, is an administrator and is refused, so switch it to a machine-user token before upgrading from 1.7.0 or earlier: create a deployment machine user per deployer with mutateDeploymentMachineUser or Access → Deployment machine users in the dashboard, attach its grants with configureServiceDeploymentMachineUser, and give its username and token to the deployer. An operation an administrator reserved earlier stays awaiting its image; clean it up with cleanupServiceDeployment. mutateDeploymentMachineUser creates an API machine user with one token (create), replaces every token of one with a new token (rotate-token) or removes its tokens while its grants stay (revoke-token); the token is answered once and expires at most a year after the mutation, and getDeploymentMachineUsers lists every deployment machine user with its token expiries and grants and never a token value. The identity getIdentityByToken issues and the registry bearer of a machine login now name the SHA-256 of their token, and every verification checks that the user still holds that unexpired token, so removing a token ends the sessions opened with it. A machine identity or registry bearer issued by an earlier release names no token and is refused, so its holder exchanges its token again: a deployer such as tsdeploy does so on every run, while a long-running API or administrator machine client that keeps its identity across a reconnect calls getIdentityByToken once more after the upgrade; cluster identities, including relays on the shared cluster token, and service workload identities are unaffected. Let no deployment run while Cloudly upgrades: a run in progress keeps its pre-upgrade identity and is refused for the rest of that run, so rerun it or resume it with deploy-retry. The cluster config broadcast now reaches the elected relay of every cluster, so a Corestore endpoint written on a node of a Pallet cluster, and every other broadcast, reaches that cluster's relay at once instead of when it reconnects, and setServiceRuntimeSpec refuses a spec the runtime spec contract rejects as Service runtime operation rejected: invalid. instead of Internal server error, and stores nothing. From 1.6.0, startup first runs the forward-only data migration from 0.21.0 to 0.22.0 through the step runtime-session-protocol-offer, which states protocol: null on every Pallet session row recorded before Cloudly stored the protocol offer its node stated, so such a node counts as unrecorded until it registers again; that step has no inverse either. The published-port ranges of Cloudly 33.4.0 apply too: setServicePublishedPorts publishes a contiguous range through hostPortEnd and same-port outbound through symmetric: true, which needs public egress (published-port-symmetric-without-egress) and owns its inside ports (published-port-symmetric-inside-overlap); new handoff leases translate outbound flows only into the SNAT band 49152-65535, whose ports are refused published-port-reserved, while a node keeps its 1024-65535 lease until its router is re-created; a service network policy write for a service whose deletion has begun is refused service-deleting; and a projection carrying a range or a symmetric entry is withheld as node-contract-behind from a Pallet node whose session states a release below interfaces 32.31.0, or none. From 1.5.0 the same step runs, and the service network egress of Cloudly 33.3.0 applies too: an administrator sets a service's network egress with setServiceNetworkEgress, which states whether the service's attached workloads reach the public internet and which platform endpoints of the protected authority they reach, and reads it with getServiceNetworkEgress; a workload whose enabled database or object-storage binding sits on a node whose Corestore endpoint its network does not select is refused database-endpoint-unselected or objectstorage-endpoint-unselected, and a replica already running keeps running while its target reports the refusal, so grant the endpoint through the service's egress before such a workload is placed again; the default runtime spec of a new service probes its process instead of its first TCP target port. From 1.4.0 the same step runs, and the gateway admin bootstrap of Cloudly 33.2.0 applies too: an administrator hands Cloudly a dcrouter admin token once through bootstrapExternalGatewayCredential or servezone gateway bootstrap, from which Cloudly provisions and stores its own gateway-client credential; a first enrollment turns admin-bootstrap-required, a gateway settings change the held credential cannot carry is staged, a runtime network address plan out of its canonical order is refused plan-unsorted, and a relay naming a node Cloudly does not hold is refused relay-node-unknown: roll out Cloudly 33.7.0 first, then Coreflow 33.2.0, which recognises the relay-node-unknown refusal. From 1.3.0 the same step runs, and the per-node database endpoint of Cloudly 33.1.0 applies too: roll out Cloudly 33.7.0 first, then Coreflow 33.2.0 (33.1.0 at minimum), then Corestore 33.0.0, and set every node's Corestore database endpoint with setClusterNodeCorestoreDatabaseEndpoint, because a database binding on a node without one is not granted and its service is refused database-endpoint-missing, and existing database bindings answer no credential material until they are granted again for the endpoint. From 1.2.1 or earlier, startup runs the forward-only data migration from 0.20.0 to 0.21.0 through the step retire-cluster-relay-acme and then the steps runtime-session-protocol-offer to 0.22.0 and deployment-machine-user-grants to 0.23.0; retire-cluster-relay-acme drops the relay certificate and DNS collections of Cloudly's retired Cloudflare and Let's Encrypt integration and logs every relay name whose A record Cloudly had written at Cloudflare: remove each such record at the provider. A cluster relay then requires a dcrouter that advertises dns.clientRecords and certificates.exactIssuance, SERVEZONE_SSLMODE=letsencrypt is refused (this template keeps external), and the typed API changes as the Breaking Changes of the Cloudly 33.0.0 changelog list; review them, stop Cloudly and take a verified backup before upgrading, because the 32.9 image refuses the migrated data and rollback requires a full restore. The upgrade is marked migration-required and backup-before-upgrade because hosts read these flags from the target version alone and every upgrade from 1.8.0 or earlier runs the 0.22.0 to 0.23.0 step, an upgrade from 1.6.0 or earlier runs the 0.21.0 to 0.22.0 step before it and one from 1.2.1 or earlier the migration from 0.20.0 as well, and breaking and manual-review because that step removes stored grants forward-only and, from 1.7.0 or earlier, a username and password deployer, an administrator's deployment reservation and a machine identity or registry bearer issued earlier are refused. An installation on 1.1.10 or earlier also runs the 1.2.0 steps first, from 0.10.0, and requires completed Secrets v2 cutover retirement. Preserve existing user and storage identities, OIDC bindings, the encrypted keyring and WorkloadInit approval as dedicated root-readable files.",
1989
+ "breaking": true,
1990
+ "requiresManualReview": true,
1991
+ "migrationRequired": true,
1992
+ "backupBeforeUpgrade": true,
1993
+ "healthCheck": {
1994
+ "path": "/status",
1995
+ "port": 3000,
1996
+ "expectedStatus": 200
1997
+ }
1998
+ },
1825
1999
  "apps/cloudly/versions/1.2.0/config.json": {
1826
2000
  "image": "code.foss.global/serve.zone/cloudly@sha256:9731dcf7d56567235017008994a00b2a4eeb7fd64a7d801bee0933fd6eede007",
1827
2001
  "targetPorts": [
@@ -4407,7 +4581,7 @@ export const appStorePackageData = {
4407
4581
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
4408
4582
  "category": "Dev Tools",
4409
4583
  "iconName": "server",
4410
- "latestVersion": "1.9.0",
4584
+ "latestVersion": "1.10.0",
4411
4585
  "tags": [
4412
4586
  "serve.zone",
4413
4587
  "control-plane",
@@ -4469,4 +4643,4 @@ export const appStorePackageData = {
4469
4643
  },
4470
4644
  "textFiles": {}
4471
4645
  };
4472
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19jbGllbnQvZGF0YS5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBSTVFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF5QjtJQUN2RCxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFdBQVcsRUFBRTtRQUNYLHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLHlEQUF5RDtZQUN4RSxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTzthQUNSO1lBQ0QsWUFBWSxFQUFFLFlBQVk7U0FDM0I7UUFDRCx5Q0FBeUMsRUFBRTtZQUN6QyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLGFBQWEsRUFBRTtnQkFDYjtvQkFDRSxNQUFNLEVBQUUsS0FBSztvQkFDYixNQUFNLEVBQUUsSUFBSTtvQkFDWixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsU0FBUyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0Y7U0FDRjtRQUNELHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLGdHQUFnRztZQUMvRyxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsUUFBUTtZQUNwQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9B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
4646
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19jbGllbnQvZGF0YS5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBSTVFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF5QjtJQUN2RCxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFdBQVcsRUFBRTtRQUNYLHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLHlEQUF5RDtZQUN4RSxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsU0FBUztZQUNyQixlQUFlLEVBQUUsT0FBTztZQUN4QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTzthQUNSO1lBQ0QsWUFBWSxFQUFFLFlBQVk7U0FDM0I7UUFDRCx5Q0FBeUMsRUFBRTtZQUN6QyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLGFBQWEsRUFBRTtnQkFDYjtvQkFDRSxNQUFNLEVBQUUsS0FBSztvQkFDYixNQUFNLEVBQUUsSUFBSTtvQkFDWixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsU0FBUyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0Y7U0FDRjtRQUNELHVCQUF1QixFQUFFO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsYUFBYSxFQUFFLGdHQUFnRztZQUMvRyxVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsUUFBUTtZQUNwQixlQUFlLEVBQUUsUUFBUTtZQUN6QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9B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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/appstore",
3
- "version": "32.9.0",
3
+ "version": "32.10.0",
4
4
  "private": false,
5
5
  "description": "serve.zone App Store metadata, parser, and resolver client.",
6
6
  "type": "module",
package/readme.md CHANGED
@@ -33,7 +33,7 @@ The App Store currently lists 21 app templates.
33
33
  | App ID | Name | App Store category | Image | Port |
34
34
  | --- | --- | --- | --- | --- |
35
35
  | `adminer` | Adminer | Dev Tools | `adminer:latest` | `8080` |
36
- | `cloudly` | Cloudly | Dev Tools | `code.foss.global/serve.zone/cloudly@sha256:efcb200497b45ea14ef87155ac67a13a9be8eebd67801680122e84b9f3670c26` | `3000` |
36
+ | `cloudly` | Cloudly | Dev Tools | `code.foss.global/serve.zone/cloudly@sha256:0b492a2511643981f003f1424715cf5abcdf39767fe5c995ad036a31b219f61e` | `3000` |
37
37
  | `ghost` | Ghost | CMS | `ghost:latest` | `2368` |
38
38
  | `gitea` | Gitea | Dev Tools | `gitea/gitea:latest` | `3000` |
39
39
  | `gitops` | GitOps | Dev Tools | `code.foss.global/serve.zone/gitops:2.13.0` | `3000` |
@@ -64,7 +64,7 @@ Some templates ask Onebox to provision local platform services and inject connec
64
64
 
65
65
  | App ID | Requirements | Notes |
66
66
  | --- | --- | --- |
67
- | `cloudly` | MongoDB, S3 | Version `1.9.0` pins Cloudly `33.6.0` and requires Onebox `32.4.0`. It keeps the `1.8.0` runtime contract and is marked breaking, migration-required, backup-before-upgrade and manual-review, because every upgrade migrates on this image and the flags are read from the target version alone. From every earlier version, startup runs the forward-only data step `deployment-machine-user-grants` from `0.22.0` to `0.23.0`, which keeps on every deployment machine user only the grants a capability check reads and permanently removes the rest (such as the `{ serviceId, capabilities }` grants of Cloudly 11); stop Cloudly and take a verified backup first, as the way back is the pre-upgrade backup. Cloudly `33.6.0` stops gracefully on SIGTERM and SIGINT within 8 seconds, below the 10-second stop grace of Docker and Swarm, so a stop or restart no longer leaves a database transaction held and the next start no longer crash-loops on `EFENCE_BUSY`; a process ended by SIGKILL still holds its database session until the server's session timeout. Every new service gets its own deployment namespace, so two services of one project reserve without `DEPLOYMENT_RESOURCE_COLLISION`, while a deployed service keeps its namespace, and `getDeploymentMachineUsers` lists users configured under Cloudly 11 again. From `1.7.0` or earlier, Cloudly `33.5.0`'s changes apply: Cloudly reserves a deployment only for a deployment machine user: `reserveServiceDeployment` refuses an administrator with `DEPLOYMENT_MACHINE_IDENTITY_REQUIRED`, including a deployer that signs in with a username and password (such as tsdeploy with `TSDEPLOY_CLOUDLY_USERNAME`/`TSDEPLOY_CLOUDLY_PASSWORD`), so before upgrading create a deployment machine user per deployer (`mutateDeploymentMachineUser`, or Access → Deployment machine users in the dashboard), attach its grants with `configureServiceDeploymentMachineUser` and switch the deployer to its token; an existing `api` machine user with its grants already qualifies. A machine identity or registry bearer issued by an earlier release is refused until its holder exchanges its token again with `getIdentityByToken`, and removing a token now ends the sessions opened with it. Let no deployment run during the upgrade: a run in progress keeps its pre-upgrade identity and is refused for the rest of that run (rerun it, or resume it with `deploy-retry`). From `1.3.0` through `1.6.0`, startup runs the forward-only data step `runtime-session-protocol-offer` from `0.21.0` to `0.22.0`, which states `protocol: null` on every Pallet session row recorded before Cloudly stored its node's protocol offer; stop Cloudly and take a verified backup first, as rollback is full-restore-only. From `1.6.0`, Cloudly `33.4.0`'s changes apply: Cloudly `33.4.0` lets `setServicePublishedPorts` publish a contiguous range through `hostPortEnd` (at most 1024 ports in 64 entries per protocol) and same-port outbound through `symmetric: true`, which needs public egress (`published-port-symmetric-without-egress`) and owns its inside ports (`published-port-symmetric-inside-overlap`). New handoff leases translate outbound flows only into `49152-65535`, whose ports are refused `published-port-reserved`; a node keeps its `1024-65535` lease until its router is re-created. A policy write for a service being deleted is refused `service-deleting`. A projection carrying a range or a symmetric entry is withheld as `node-contract-behind` from a Pallet node whose session states a release below interfaces `32.31.0`, or an unrecorded one, so ranges and symmetric entries take effect on a node only once it runs a Pallet release built on interfaces `32.31.0` or later. From `1.5.0`, Cloudly `33.3.0`'s changes apply: Cloudly `33.3.0` lets an administrator set a service's network egress with `setServiceNetworkEgress` (public internet, and the platform endpoints of the protected authority), and refuses a workload whose database or object-storage binding sits on a node whose Corestore endpoint its network does not select as `database-endpoint-unselected` or `objectstorage-endpoint-unselected`; a replica already running keeps running while its target reports the refusal. From `1.4.0`, Cloudly `33.2.0`'s changes apply: Cloudly takes a dcrouter admin token once through `bootstrapExternalGatewayCredential` to provision its own gateway-client credential, starts a first enrollment with the gateway settings, and stages a gateway settings change the held credential cannot carry until the next bootstrap. From `1.2.1` or earlier, startup runs the forward-only migration from `0.20.0` to `0.21.0` before that step, dropping the relay certificate and DNS collections of Cloudly's retired Cloudflare and Let's Encrypt integration and logging every relay name whose A record Cloudly had written at Cloudflare, which the operator removes at the provider. dcrouter holds every cluster relay name's A record and certificate from then on, `SERVEZONE_SSLMODE=letsencrypt` is refused, and the typed API changes as the Cloudly 33.0.0 changelog lists. Stop Cloudly and take a verified backup before upgrading; rollback is full-restore-only. Roll out Cloudly `33.6.0` before Coreflow `33.2.0`; Coreflow `33.1.0` is the minimum. From `1.3.0`, also roll out Cloudly before Coreflow and Corestore `33.0.0`, and set every node's Corestore database endpoint, because a database binding on a node without one is not granted and its service is refused `database-endpoint-missing`, and existing database bindings return no credentials until they are granted again for the endpoint. From `1.1.10` or earlier, startup first runs the `1.2.0` steps from `0.10.0` and needs completed Secrets v2 cutover retirement. 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. |
67
+ | `cloudly` | MongoDB, S3 | Version `1.10.0` pins Cloudly `33.7.0` and requires Onebox `32.4.0`. It keeps the `1.9.0` runtime contract and is marked breaking, migration-required, backup-before-upgrade and manual-review, because the flags are read from the target version alone and every upgrade from `1.8.0` or earlier migrates on this image; from `1.9.0` there is no data step, as the data version stays `0.23.0`. Cloudly `33.7.0` lets a fresh greenfield service take over a legacy service's Corestore database and bucket with their data and retention intact: an `adoptCorestoreLegacyResources` selection entry may name `successorServiceId` (interfaces `32.34.0`, carried out by Corestore `33.2.0` or later), the successor must share the owner's organization, be an immutable-deployment service, own no legacy resource of the capability and hold no other binding of it, and each legacy resource is adopted by one service only (`legacy-resource-adopted-elsewhere`, `successor-organization-mismatch`, `successor-not-greenfield`, `successor-owns-legacy-resource`). Since Cloudly `33.6.1`, a deployment reservation whose release tag the registry already holds is refused `DEPLOYMENT_RELEASE_TAG_OCCUPIED` instead of waiting for its image forever, an administrator's manifest push to a release tag a deployment operation reserved is refused `409 release-tag-reserved`, and a binding status report reaches its cluster relay only when it changed what the relay reads. From `1.8.0` or earlier, startup runs the forward-only data step `deployment-machine-user-grants` from `0.22.0` to `0.23.0`, which keeps on every deployment machine user only the grants a capability check reads and permanently removes the rest (such as the `{ serviceId, capabilities }` grants of Cloudly 11); stop Cloudly and take a verified backup first, as the way back is the pre-upgrade backup. Cloudly `33.6.0`'s changes apply too: Cloudly stops gracefully on SIGTERM and SIGINT within 8 seconds, below the 10-second stop grace of Docker and Swarm, so a stop or restart no longer leaves a database transaction held and the next start no longer crash-loops on `EFENCE_BUSY`; a process ended by SIGKILL still holds its database session until the server's session timeout. Every new service gets its own deployment namespace, so two services of one project reserve without `DEPLOYMENT_RESOURCE_COLLISION`, while a deployed service keeps its namespace, and `getDeploymentMachineUsers` lists users configured under Cloudly 11 again. From `1.7.0` or earlier, Cloudly `33.5.0`'s changes apply: Cloudly reserves a deployment only for a deployment machine user: `reserveServiceDeployment` refuses an administrator with `DEPLOYMENT_MACHINE_IDENTITY_REQUIRED`, including a deployer that signs in with a username and password (such as tsdeploy with `TSDEPLOY_CLOUDLY_USERNAME`/`TSDEPLOY_CLOUDLY_PASSWORD`), so before upgrading create a deployment machine user per deployer (`mutateDeploymentMachineUser`, or Access → Deployment machine users in the dashboard), attach its grants with `configureServiceDeploymentMachineUser` and switch the deployer to its token; an existing `api` machine user with its grants already qualifies. A machine identity or registry bearer issued by an earlier release is refused until its holder exchanges its token again with `getIdentityByToken`, and removing a token now ends the sessions opened with it. Let no deployment run during the upgrade: a run in progress keeps its pre-upgrade identity and is refused for the rest of that run (rerun it, or resume it with `deploy-retry`). From `1.3.0` through `1.6.0`, startup runs the forward-only data step `runtime-session-protocol-offer` from `0.21.0` to `0.22.0`, which states `protocol: null` on every Pallet session row recorded before Cloudly stored its node's protocol offer; stop Cloudly and take a verified backup first, as rollback is full-restore-only. From `1.6.0`, Cloudly `33.4.0`'s changes apply: Cloudly `33.4.0` lets `setServicePublishedPorts` publish a contiguous range through `hostPortEnd` (at most 1024 ports in 64 entries per protocol) and same-port outbound through `symmetric: true`, which needs public egress (`published-port-symmetric-without-egress`) and owns its inside ports (`published-port-symmetric-inside-overlap`). New handoff leases translate outbound flows only into `49152-65535`, whose ports are refused `published-port-reserved`; a node keeps its `1024-65535` lease until its router is re-created. A policy write for a service being deleted is refused `service-deleting`. A projection carrying a range or a symmetric entry is withheld as `node-contract-behind` from a Pallet node whose session states a release below interfaces `32.31.0`, or an unrecorded one, so ranges and symmetric entries take effect on a node only once it runs a Pallet release built on interfaces `32.31.0` or later. From `1.5.0`, Cloudly `33.3.0`'s changes apply: Cloudly `33.3.0` lets an administrator set a service's network egress with `setServiceNetworkEgress` (public internet, and the platform endpoints of the protected authority), and refuses a workload whose database or object-storage binding sits on a node whose Corestore endpoint its network does not select as `database-endpoint-unselected` or `objectstorage-endpoint-unselected`; a replica already running keeps running while its target reports the refusal. From `1.4.0`, Cloudly `33.2.0`'s changes apply: Cloudly takes a dcrouter admin token once through `bootstrapExternalGatewayCredential` to provision its own gateway-client credential, starts a first enrollment with the gateway settings, and stages a gateway settings change the held credential cannot carry until the next bootstrap. From `1.2.1` or earlier, startup runs the forward-only migration from `0.20.0` to `0.21.0` before that step, dropping the relay certificate and DNS collections of Cloudly's retired Cloudflare and Let's Encrypt integration and logging every relay name whose A record Cloudly had written at Cloudflare, which the operator removes at the provider. dcrouter holds every cluster relay name's A record and certificate from then on, `SERVEZONE_SSLMODE=letsencrypt` is refused, and the typed API changes as the Cloudly 33.0.0 changelog lists. Stop Cloudly and take a verified backup before upgrading; rollback is full-restore-only. Roll out Cloudly `33.7.0` before Coreflow `33.2.0`; Coreflow `33.1.0` is the minimum. From `1.3.0`, also roll out Cloudly before Coreflow and Corestore `33.0.0`, and set every node's Corestore database endpoint, because a database binding on a node without one is not granted and its service is refused `database-endpoint-missing`, and existing database bindings return no credentials until they are granted again for the endpoint. From `1.1.10` or earlier, startup first runs the `1.2.0` steps from `0.10.0` and needs completed Secrets v2 cutover retirement. 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. |
68
68
  | `ghost` | MariaDB | Uses MySQL-style `database__connection__*` environment variables. |
69
69
  | `gitea` | MariaDB | Uses Gitea database environment variables with `${MARIADB_*}` placeholders. |
70
70
  | `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.9.0",
37
+ "latestVersion": "1.10.0",
38
38
  "versions": [
39
39
  "1.0.0",
40
40
  "1.1.0",
@@ -56,7 +56,8 @@ export const appStorePackageData: IAppStorePackageData = {
56
56
  "1.6.0",
57
57
  "1.7.0",
58
58
  "1.8.0",
59
- "1.9.0"
59
+ "1.9.0",
60
+ "1.10.0"
60
61
  ],
61
62
  "maintainer": "serve.zone",
62
63
  "links": {
@@ -1825,6 +1826,179 @@ export const appStorePackageData: IAppStorePackageData = {
1825
1826
  "expectedStatus": 200
1826
1827
  }
1827
1828
  },
1829
+ "apps/cloudly/versions/1.10.0/config.json": {
1830
+ "image": "code.foss.global/serve.zone/cloudly@sha256:0b492a2511643981f003f1424715cf5abcdf39767fe5c995ad036a31b219f61e",
1831
+ "targetPorts": [
1832
+ {
1833
+ "name": "web",
1834
+ "port": 3000,
1835
+ "protocol": "http",
1836
+ "default": true
1837
+ }
1838
+ ],
1839
+ "envVars": [
1840
+ {
1841
+ "key": "SERVEZONE_ENVIRONMENT",
1842
+ "value": "production",
1843
+ "description": "Cloudly runtime environment.",
1844
+ "required": true
1845
+ },
1846
+ {
1847
+ "key": "SERVEZONE_PUBLIC_ORIGIN",
1848
+ "value": "https://${SERVICE_DOMAIN}",
1849
+ "description": "Canonical public Cloudly origin including protocol and optional public port.",
1850
+ "required": true
1851
+ },
1852
+ {
1853
+ "key": "SERVEZONE_LISTENPORT",
1854
+ "value": "3000",
1855
+ "description": "Internal Cloudly HTTP port inside the container.",
1856
+ "required": true
1857
+ },
1858
+ {
1859
+ "key": "SERVEZONE_SSLMODE",
1860
+ "value": "external",
1861
+ "description": "Use external TLS termination through Onebox or dcrouter.",
1862
+ "required": true
1863
+ },
1864
+ {
1865
+ "key": "SERVEZONE_SECRET_KEYRING_PATH",
1866
+ "value": "/run/secrets/cloudly-secrets-v2-keyring.json",
1867
+ "description": "Path to the Cloudly Secrets v2 keyring mounted by Onebox; the keyring value is never placed in the public environment.",
1868
+ "required": true
1869
+ },
1870
+ {
1871
+ "key": "SERVEZONE_SECRET_KEYRING_FILE",
1872
+ "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.",
1873
+ "required": true,
1874
+ "secret": true,
1875
+ "delivery": {
1876
+ "type": "file",
1877
+ "targetPath": "/run/secrets/cloudly-secrets-v2-keyring.json",
1878
+ "uid": 0,
1879
+ "gid": 0,
1880
+ "mode": 256
1881
+ }
1882
+ },
1883
+ {
1884
+ "key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
1885
+ "value": "/run/secrets/cloudly-workloadinit-approval.json",
1886
+ "description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
1887
+ "required": true
1888
+ },
1889
+ {
1890
+ "key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
1891
+ "description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
1892
+ "required": true,
1893
+ "secret": true,
1894
+ "delivery": {
1895
+ "type": "file",
1896
+ "targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
1897
+ "uid": 0,
1898
+ "gid": 0,
1899
+ "mode": 256
1900
+ }
1901
+ },
1902
+ {
1903
+ "key": "MONGODB_URL",
1904
+ "value": "${MONGODB_URI}",
1905
+ "description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
1906
+ "required": true
1907
+ },
1908
+ {
1909
+ "key": "MONGODB_NAME",
1910
+ "value": "${MONGODB_DATABASE}",
1911
+ "description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
1912
+ "required": true
1913
+ },
1914
+ {
1915
+ "key": "MONGODB_USER",
1916
+ "value": "${MONGODB_USERNAME}",
1917
+ "description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
1918
+ "required": true
1919
+ },
1920
+ {
1921
+ "key": "MONGODB_PASS",
1922
+ "value": "${MONGODB_PASSWORD}",
1923
+ "description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
1924
+ "required": true
1925
+ },
1926
+ {
1927
+ "key": "S3_ENDPOINT",
1928
+ "value": "onebox-corestore",
1929
+ "description": "S3 endpoint host provisioned by Onebox Corestore.",
1930
+ "required": true
1931
+ },
1932
+ {
1933
+ "key": "S3_PORT",
1934
+ "value": "9000",
1935
+ "description": "S3 endpoint port provisioned by Onebox Corestore.",
1936
+ "required": true
1937
+ },
1938
+ {
1939
+ "key": "S3_USESSL",
1940
+ "value": "false",
1941
+ "description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
1942
+ "required": true
1943
+ },
1944
+ {
1945
+ "key": "S3_BUCKET",
1946
+ "value": "${S3_BUCKET}",
1947
+ "description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
1948
+ "required": true
1949
+ },
1950
+ {
1951
+ "key": "S3_ACCESSKEY",
1952
+ "value": "${S3_ACCESS_KEY}",
1953
+ "description": "S3 access key provisioned by Onebox Corestore.",
1954
+ "required": true
1955
+ },
1956
+ {
1957
+ "key": "S3_SECRETKEY",
1958
+ "value": "${S3_SECRET_KEY}",
1959
+ "description": "S3 secret key provisioned by Onebox Corestore.",
1960
+ "required": true
1961
+ }
1962
+ ],
1963
+ "platformRequirements": {
1964
+ "mongodb": true,
1965
+ "s3": true
1966
+ },
1967
+ "platformOidc": {
1968
+ "redirectPath": "/auth/oidc/callback",
1969
+ "roles": [
1970
+ {
1971
+ "id": "admin",
1972
+ "label": "Administrator",
1973
+ "description": "Full Cloudly administration for this hosted instance."
1974
+ },
1975
+ {
1976
+ "id": "user",
1977
+ "label": "User",
1978
+ "description": "Standard authenticated Cloudly access for this hosted instance."
1979
+ }
1980
+ ],
1981
+ "environmentVariables": {
1982
+ "issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
1983
+ "clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
1984
+ "clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
1985
+ "redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
1986
+ "audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
1987
+ },
1988
+ "clientAuthenticationMethod": "client_secret_basic"
1989
+ },
1990
+ "minOneboxVersion": "32.4.0",
1991
+ "changelog": "Move Cloudly to 33.7.0, a feature release over 33.6.0 that includes the fixes of 33.6.1. A fresh greenfield service can take over a legacy service's Corestore database and bucket with their data and retention intact: an adoptCorestoreLegacyResources selection entry may name successorServiceId (interfaces 32.34.0), and the adopting binding is then created on that successor with corestoreLegacyAdoption.legacyServiceId naming the legacy owner, and the plan entry carries the successor for Corestore's offline adoption, which Corestore 33.2.0 is the first release to read. The successor must share the owner's organization, be an immutable-deployment service, own no legacy resource of the capability and hold no other binding of it, and a legacy resource is adopted by one service only, enforced by a claim written in the adoption's transaction; the new refusals are legacy-resource-adopted-elsewhere, successor-organization-mismatch, successor-not-greenfield and successor-owns-legacy-resource, and each created adoption is logged. Until now a legacy service replaced by a greenfield deployment stranded its data, since only its own binding could adopt it. A deployment reservation whose release tag the service registry already holds a digest for is refused DEPLOYMENT_RELEASE_TAG_OCCUPIED, not retryable, whoever pushed it, instead of being left awaiting its image forever, and the reserve-phase preflight reports such a tag as VERSION_COLLISION unless the operation's own push bound that digest, for existing services and greenfield deployments alike. An administrator's manifest push to a release tag a deployment operation reserved is refused 409 release-tag-reserved, naming the operation, and a claim read that fails refuses the push; unreserved release tags and mutable tags keep the administrator's write access. A platform binding's status report is pushed back to its cluster relay only when it changed what the relay reads (status, reason, endpoints, bucket name or Corestore authority fence), which ends the loop of about one push a second with a relay that kept reporting the same failed state; every report is still recorded in the service's reconciliation status, and a change whose push failed after it was stored is pushed again with the binding's next report. The runtime contract is unchanged from 1.9.0 and requires Onebox 32.4.0. Cloudly 33.7.0 stores the adoption claims in a new collection and keeps the data version 0.23.0, so from 1.9.0 there is no data step. From 1.8.0 or earlier, the changes of Cloudly 33.6.0 apply too: every new service gets its own deployment namespace, <name>-<id digest>-v<major> with twelve hex digits of the SHA-256 of the service id, so two services of one project on one Cloudly both reserve instead of the second being refused DEPLOYMENT_RESOURCE_COLLISION; a service already holding its project-only namespace keeps it, as does an operation reserved under it, so no deployed service moves and no data changes. Cloudly now stops gracefully on SIGTERM and SIGINT: the first signal runs Cloudly.stop(), which closes the database last, and the process exits 0 when the stop completes and 1 when it fails or has not completed within 8 seconds, below the 10-second stop grace of Docker and Swarm, so stopping or restarting the Cloudly service no longer leaves a database transaction held on the server and the next start no longer crash-loops on EFENCE_BUSY until the server's 30-minute session timeout; a second signal exits at once with 143 (SIGTERM) or 130 (SIGINT), and a process ended by SIGKILL still holds its database session until that timeout. getDeploymentMachineUsers lists a deployment machine user configured under Cloudly 11 again instead of failing the whole listing with an unnamed internal error, a stored user the listing still cannot describe fails it with an error naming the user and the refused part (identity, tokens or grants), and every unexpected failure of getDeploymentMachineUsers or mutateDeploymentMachineUser is logged with each error of its chain. From 1.8.0 or earlier, startup runs the forward-only data migration from 0.22.0 to 0.23.0 through the step deployment-machine-user-grants, which keeps on every deployment machine user exactly the grants a capability check reads, the first valid grant per organization and service, and permanently removes the rest, such as the { serviceId, capabilities } grants stored by Cloudly 11; tokens, names and every deployment's authority stay as they are. Stop Cloudly and take a verified backup before upgrading, because the step has no inverse and rollback requires a full restore. From 1.7.0 or earlier, the deployment machine users of Cloudly 33.5.0 apply too: a deployment is reserved only by a deployment machine user. reserveServiceDeployment refuses any other verified actor, an administrator included, with DEPLOYMENT_MACHINE_IDENTITY_REQUIRED before anything is reserved, and the reserve-phase getDeploymentPreflight reports the same blocker; an existing api machine user with its grants already qualifies and needs no change. A deployer that signs in with a username and password, such as tsdeploy with TSDEPLOY_CLOUDLY_USERNAME and TSDEPLOY_CLOUDLY_PASSWORD, is an administrator and is refused, so switch it to a machine-user token before upgrading from 1.7.0 or earlier: create a deployment machine user per deployer with mutateDeploymentMachineUser or Access → Deployment machine users in the dashboard, attach its grants with configureServiceDeploymentMachineUser, and give its username and token to the deployer. An operation an administrator reserved earlier stays awaiting its image; clean it up with cleanupServiceDeployment. mutateDeploymentMachineUser creates an API machine user with one token (create), replaces every token of one with a new token (rotate-token) or removes its tokens while its grants stay (revoke-token); the token is answered once and expires at most a year after the mutation, and getDeploymentMachineUsers lists every deployment machine user with its token expiries and grants and never a token value. The identity getIdentityByToken issues and the registry bearer of a machine login now name the SHA-256 of their token, and every verification checks that the user still holds that unexpired token, so removing a token ends the sessions opened with it. A machine identity or registry bearer issued by an earlier release names no token and is refused, so its holder exchanges its token again: a deployer such as tsdeploy does so on every run, while a long-running API or administrator machine client that keeps its identity across a reconnect calls getIdentityByToken once more after the upgrade; cluster identities, including relays on the shared cluster token, and service workload identities are unaffected. Let no deployment run while Cloudly upgrades: a run in progress keeps its pre-upgrade identity and is refused for the rest of that run, so rerun it or resume it with deploy-retry. The cluster config broadcast now reaches the elected relay of every cluster, so a Corestore endpoint written on a node of a Pallet cluster, and every other broadcast, reaches that cluster's relay at once instead of when it reconnects, and setServiceRuntimeSpec refuses a spec the runtime spec contract rejects as Service runtime operation rejected: invalid. instead of Internal server error, and stores nothing. From 1.6.0, startup first runs the forward-only data migration from 0.21.0 to 0.22.0 through the step runtime-session-protocol-offer, which states protocol: null on every Pallet session row recorded before Cloudly stored the protocol offer its node stated, so such a node counts as unrecorded until it registers again; that step has no inverse either. The published-port ranges of Cloudly 33.4.0 apply too: setServicePublishedPorts publishes a contiguous range through hostPortEnd and same-port outbound through symmetric: true, which needs public egress (published-port-symmetric-without-egress) and owns its inside ports (published-port-symmetric-inside-overlap); new handoff leases translate outbound flows only into the SNAT band 49152-65535, whose ports are refused published-port-reserved, while a node keeps its 1024-65535 lease until its router is re-created; a service network policy write for a service whose deletion has begun is refused service-deleting; and a projection carrying a range or a symmetric entry is withheld as node-contract-behind from a Pallet node whose session states a release below interfaces 32.31.0, or none. From 1.5.0 the same step runs, and the service network egress of Cloudly 33.3.0 applies too: an administrator sets a service's network egress with setServiceNetworkEgress, which states whether the service's attached workloads reach the public internet and which platform endpoints of the protected authority they reach, and reads it with getServiceNetworkEgress; a workload whose enabled database or object-storage binding sits on a node whose Corestore endpoint its network does not select is refused database-endpoint-unselected or objectstorage-endpoint-unselected, and a replica already running keeps running while its target reports the refusal, so grant the endpoint through the service's egress before such a workload is placed again; the default runtime spec of a new service probes its process instead of its first TCP target port. From 1.4.0 the same step runs, and the gateway admin bootstrap of Cloudly 33.2.0 applies too: an administrator hands Cloudly a dcrouter admin token once through bootstrapExternalGatewayCredential or servezone gateway bootstrap, from which Cloudly provisions and stores its own gateway-client credential; a first enrollment turns admin-bootstrap-required, a gateway settings change the held credential cannot carry is staged, a runtime network address plan out of its canonical order is refused plan-unsorted, and a relay naming a node Cloudly does not hold is refused relay-node-unknown: roll out Cloudly 33.7.0 first, then Coreflow 33.2.0, which recognises the relay-node-unknown refusal. From 1.3.0 the same step runs, and the per-node database endpoint of Cloudly 33.1.0 applies too: roll out Cloudly 33.7.0 first, then Coreflow 33.2.0 (33.1.0 at minimum), then Corestore 33.0.0, and set every node's Corestore database endpoint with setClusterNodeCorestoreDatabaseEndpoint, because a database binding on a node without one is not granted and its service is refused database-endpoint-missing, and existing database bindings answer no credential material until they are granted again for the endpoint. From 1.2.1 or earlier, startup runs the forward-only data migration from 0.20.0 to 0.21.0 through the step retire-cluster-relay-acme and then the steps runtime-session-protocol-offer to 0.22.0 and deployment-machine-user-grants to 0.23.0; retire-cluster-relay-acme drops the relay certificate and DNS collections of Cloudly's retired Cloudflare and Let's Encrypt integration and logs every relay name whose A record Cloudly had written at Cloudflare: remove each such record at the provider. A cluster relay then requires a dcrouter that advertises dns.clientRecords and certificates.exactIssuance, SERVEZONE_SSLMODE=letsencrypt is refused (this template keeps external), and the typed API changes as the Breaking Changes of the Cloudly 33.0.0 changelog list; review them, stop Cloudly and take a verified backup before upgrading, because the 32.9 image refuses the migrated data and rollback requires a full restore. The upgrade is marked migration-required and backup-before-upgrade because hosts read these flags from the target version alone and every upgrade from 1.8.0 or earlier runs the 0.22.0 to 0.23.0 step, an upgrade from 1.6.0 or earlier runs the 0.21.0 to 0.22.0 step before it and one from 1.2.1 or earlier the migration from 0.20.0 as well, and breaking and manual-review because that step removes stored grants forward-only and, from 1.7.0 or earlier, a username and password deployer, an administrator's deployment reservation and a machine identity or registry bearer issued earlier are refused. An installation on 1.1.10 or earlier also runs the 1.2.0 steps first, from 0.10.0, and requires completed Secrets v2 cutover retirement. Preserve existing user and storage identities, OIDC bindings, the encrypted keyring and WorkloadInit approval as dedicated root-readable files.",
1992
+ "breaking": true,
1993
+ "requiresManualReview": true,
1994
+ "migrationRequired": true,
1995
+ "backupBeforeUpgrade": true,
1996
+ "healthCheck": {
1997
+ "path": "/status",
1998
+ "port": 3000,
1999
+ "expectedStatus": 200
2000
+ }
2001
+ },
1828
2002
  "apps/cloudly/versions/1.2.0/config.json": {
1829
2003
  "image": "code.foss.global/serve.zone/cloudly@sha256:9731dcf7d56567235017008994a00b2a4eeb7fd64a7d801bee0933fd6eede007",
1830
2004
  "targetPorts": [
@@ -4410,7 +4584,7 @@ export const appStorePackageData: IAppStorePackageData = {
4410
4584
  "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
4411
4585
  "category": "Dev Tools",
4412
4586
  "iconName": "server",
4413
- "latestVersion": "1.9.0",
4587
+ "latestVersion": "1.10.0",
4414
4588
  "tags": [
4415
4589
  "serve.zone",
4416
4590
  "control-plane",