fix(ci): support current QuickStack app write contract
Nuvisphere/Platform-CI: Immutable QuickStack OCI deployment / Build once and deploy exact digest (push) Successful in 4s
Platform CI tests / QuickStack deploy action tests (push) Successful in 6s

This commit is contained in:
2026-10-09 12:28:57 +02:00
parent ed7a5c0ff8
commit ac0ecb4181
2 changed files with 41 additions and 4 deletions
+6 -2
View File
@@ -23,7 +23,7 @@ const APP_FIELDS = [
"securityContextRunAsGroup", "securityContextFsGroup", "securityContextPrivileged",
"gitUrl", "gitBranch", "gitUsername", "gitToken", "dockerfilePath", "replicas",
"envVars", "memoryReservation", "memoryLimit", "cpuReservation", "cpuLimit",
"webhookId", "ingressNetworkPolicy", "egressNetworkPolicy", "useNetworkPolicy",
"webhookId", "useNetworkPolicy",
"healthChechHttpGetPath", "healthCheckHttpScheme", "healthCheckHttpHeadersJson",
"healthCheckHttpPort", "healthCheckPeriodSeconds", "healthCheckTimeoutSeconds",
"healthCheckFailureThreshold", "healthCheckTcpPort",
@@ -31,7 +31,6 @@ const APP_FIELDS = [
const COLLECTION_FIELDS = {
appDomains: ["id", "hostname", "port", "useSsl", "redirectHttps"],
appPorts: ["id", "port"],
appNodePorts: ["id", "port", "nodePort", "protocol"],
appFileMounts: ["id", "containerMountPath", "content"],
appVolumes: [
@@ -58,6 +57,11 @@ export function toSavePayload(app) {
for (const [name, fields] of Object.entries(COLLECTION_FIELDS)) {
payload[name] = Array.isArray(app[name]) ? app[name].map((item) => pick(item, fields)) : [];
}
payload.appNetworkPolicy = app.appNetworkPolicy ? {
...pick(app.appNetworkPolicy, ["id", "allowInternetAccess"]),
rules: app.appNetworkPolicy.rules.map((rule) =>
pick(rule, ["id", "type", "targetAppId", "targetAgentId", "port", "protocol"])),
} : null;
return payload;
}