@serve.zone/appstore 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/cloudly/app.json +2 -2
- package/apps/cloudly/versions/1.1.1/config.json +120 -0
- package/appstore.json +2 -2
- package/changelog.md +18 -0
- package/dist_ts_client/classes.appstoreresolver.d.ts +5 -0
- package/dist_ts_client/classes.appstoreresolver.js +160 -28
- package/dist_ts_client/data.generated.js +131 -5
- package/dist_ts_client/types.d.ts +1 -0
- package/package.json +2 -1
- package/readme.md +7 -4
- package/ts_client/classes.appstoreresolver.ts +186 -26
- package/ts_client/data.generated.ts +130 -4
- package/ts_client/readme.md +4 -1
- package/ts_client/types.ts +1 -0
package/apps/cloudly/app.json
CHANGED
|
@@ -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.
|
|
8
|
-
"versions": ["1.0.0", "1.1.0"],
|
|
7
|
+
"latestVersion": "1.1.1",
|
|
8
|
+
"versions": ["1.0.0", "1.1.0", "1.1.1"],
|
|
9
9
|
"maintainer": "serve.zone",
|
|
10
10
|
"links": {
|
|
11
11
|
"Source": "https://code.foss.global/serve.zone/cloudly",
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"image": "code.foss.global/serve.zone/cloudly@sha256:510b3edb65eed00d3edce4d482f90c864b26b759e3c8f7605109516791fb47f9",
|
|
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 connection URL provisioned by Onebox.",
|
|
35
|
+
"required": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "MONGODB_NAME",
|
|
39
|
+
"value": "${MONGODB_DATABASE}",
|
|
40
|
+
"description": "MongoDB database name provisioned by Onebox.",
|
|
41
|
+
"required": true
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"key": "MONGODB_USER",
|
|
45
|
+
"value": "${MONGODB_USERNAME}",
|
|
46
|
+
"description": "MongoDB username provisioned by Onebox.",
|
|
47
|
+
"required": true
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"key": "MONGODB_PASS",
|
|
51
|
+
"value": "${MONGODB_PASSWORD}",
|
|
52
|
+
"description": "MongoDB password provisioned by Onebox.",
|
|
53
|
+
"required": true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"key": "S3_ENDPOINT",
|
|
57
|
+
"value": "onebox-minio",
|
|
58
|
+
"description": "S3 endpoint host for the MinIO service provisioned by Onebox.",
|
|
59
|
+
"required": true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"key": "S3_PORT",
|
|
63
|
+
"value": "9000",
|
|
64
|
+
"description": "S3 endpoint port for the MinIO service provisioned by Onebox.",
|
|
65
|
+
"required": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"key": "S3_USESSL",
|
|
69
|
+
"value": "false",
|
|
70
|
+
"description": "Use plain HTTP for internal MinIO 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 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.",
|
|
83
|
+
"required": true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"key": "S3_SECRETKEY",
|
|
87
|
+
"value": "${S3_SECRET_KEY}",
|
|
88
|
+
"description": "S3 secret key provisioned by Onebox.",
|
|
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": "2.2.0"
|
|
120
|
+
}
|
package/appstore.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-07-
|
|
3
|
+
"updatedAt": "2026-07-25T00: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.
|
|
155
|
+
"latestVersion": "1.1.1",
|
|
156
156
|
"tags": ["serve.zone", "control-plane", "clusters", "deployments"]
|
|
157
157
|
},
|
|
158
158
|
{
|
package/changelog.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-07-28 - 1.4.2
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
|
|
7
|
+
- publish Cloudly App Store version 1.1.1 with the exact 14.5.3 image digest (cloudly)
|
|
8
|
+
- Gives Onebox a managed, immutable upgrade target for the control-plane recovery release while preserving the existing storage and Platform OIDC contract.
|
|
9
|
+
|
|
10
|
+
## 2026-07-25 - 1.4.1
|
|
11
|
+
|
|
12
|
+
### Fixes
|
|
13
|
+
|
|
14
|
+
- enforce authoritative latest version resolution (resolver)
|
|
15
|
+
- Reject index/app metadata divergence and stale latestVersion declarations before returning catalog data.
|
|
16
|
+
- Select implicit latest repo-manifest versions by highest semantic value instead of array position, requiring explicit intent for multiple non-semver versions.
|
|
17
|
+
- Apply configurable timeouts to remote catalog, manifest, registry, and body fetches and cancel unread failed-response bodies.
|
|
18
|
+
- Return isolated validated metadata snapshots so callers cannot mutate cached catalog state.
|
|
19
|
+
- Align bundled catalog data with Cloudly 1.1.0 metadata.
|
|
20
|
+
|
|
3
21
|
## 2026-07-24 - 1.4.0
|
|
4
22
|
|
|
5
23
|
### Features
|
|
@@ -10,8 +10,10 @@ export declare class AppStoreResolver {
|
|
|
10
10
|
private readonly fetchRef;
|
|
11
11
|
private readonly source;
|
|
12
12
|
private readonly resolveDockerDigests;
|
|
13
|
+
private readonly requestTimeoutMs;
|
|
13
14
|
private readonly now;
|
|
14
15
|
private appStoreCache;
|
|
16
|
+
private inlineAppMetaCache;
|
|
15
17
|
private sourceAppCache;
|
|
16
18
|
constructor(optionsArg?: IAppStoreResolverOptions);
|
|
17
19
|
getSourceInfo(): IAppStoreSourceInfo;
|
|
@@ -36,8 +38,11 @@ export declare class AppStoreResolver {
|
|
|
36
38
|
private resolveServezoneAppStoreManifest;
|
|
37
39
|
private resolveConfigSource;
|
|
38
40
|
private applyDockerImageSourceToConfig;
|
|
41
|
+
private validateInlineAppMetadata;
|
|
39
42
|
private createAppMetaFromAppStoreApp;
|
|
40
43
|
private getAppStoreApp;
|
|
44
|
+
private withRemoteResponse;
|
|
45
|
+
private fetchRemoteHeaders;
|
|
41
46
|
private fetchJson;
|
|
42
47
|
fetchText(pathArg: string): Promise<string>;
|
|
43
48
|
private fetchTextFromUrl;
|