[FIX] Changes made to database will now be reflected in the cluster
This commit is contained in:
parent
0a0f9c8463
commit
11f70087f1
6 changed files with 128 additions and 26 deletions
59
lib/k8s/server-modify.js
Normal file
59
lib/k8s/server-modify.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
import k8s from "@kubernetes/client-node";
|
||||
import {
|
||||
createExtraService,
|
||||
createBackupSecret,
|
||||
createServerService,
|
||||
} from "./server-create.js";
|
||||
import kc from "./k8s-config.js";
|
||||
import { getServerAssets } from "./k8s-server-control.js";
|
||||
const k8sCore = kc.makeApiClient(k8s.CoreV1Api);
|
||||
const namespace = process.env.MCL_SERVER_NAMESPACE;
|
||||
|
||||
export default async function modifyServerResources(modifySpec) {
|
||||
const { id: serverId } = modifySpec;
|
||||
const serverAssets = await getServerAssets(serverId);
|
||||
const serverService = createServerService(modifySpec);
|
||||
const extraService = createExtraService(modifySpec);
|
||||
const backupSecret = createBackupSecret(modifySpec);
|
||||
const serverResources = [];
|
||||
|
||||
if (!!serverService)
|
||||
// Will Always Exist
|
||||
serverResources.push(
|
||||
k8sCore.replaceNamespacedService(
|
||||
serverAssets.service.metadata.name,
|
||||
namespace,
|
||||
serverService,
|
||||
),
|
||||
);
|
||||
|
||||
if (!!extraService && !!serverAssets.extraService)
|
||||
// Might not exist
|
||||
serverResources.push(
|
||||
k8sCore.replaceNamespacedService(
|
||||
serverAssets.extraService.metadata.name,
|
||||
namespace,
|
||||
extraService,
|
||||
),
|
||||
);
|
||||
else if (!!extraService)
|
||||
serverResources.push(
|
||||
k8sCore.createNamespacedService(namespace, extraService),
|
||||
);
|
||||
|
||||
if (!!backupSecret && !!serverAssets.backupSecret)
|
||||
// Might not exist
|
||||
serverResources.push(
|
||||
k8sCore.replaceNamespacedSecret(
|
||||
serverAssets.backupSecret.metadata.name,
|
||||
namespace,
|
||||
backupSecret,
|
||||
),
|
||||
);
|
||||
else if (!!backupSecret)
|
||||
serverResources.push(
|
||||
k8sCore.createNamespacedSecret(namespace, backupSecret),
|
||||
);
|
||||
|
||||
return await Promise.all(serverResources);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue