fix(deps): update Docker API usage to DockerHost facade, bump dependencies, and adjust tests/docs

This commit is contained in:
2026-02-04 11:36:05 +00:00
parent 6117b20cc5
commit 31dc8eee22
11 changed files with 933 additions and 968 deletions

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/spark',
version: '1.2.4',
version: '1.2.5',
description: 'A comprehensive tool for maintaining and configuring servers, integrating with Docker and supporting advanced task scheduling, targeted at the Servezone infrastructure and used by @serve.zone/cloudly as a cluster node server system manager.'
}

View File

@@ -38,14 +38,8 @@ export class SparkServicesManager {
public async updateServices() {
for (const service of this.services) {
const existingService = await plugins.docker.DockerService.getServiceByName(
this.dockerHost,
service.name
);
const existingServiceSecret = await plugins.docker.DockerSecret.getSecretByName(
this.dockerHost,
`${service.name}Secret`
);
const existingService = await this.dockerHost.getServiceByName(service.name);
const existingServiceSecret = await this.dockerHost.getSecretByName(`${service.name}Secret`);
if (existingService) {
const needsUpdate: boolean = await existingService.needsUpdate();
if (!needsUpdate) {
@@ -56,28 +50,25 @@ export class SparkServicesManager {
// continuing here means we need to update the service
logger.log('ok', `${service.name} needs to be updated!`);
await existingService.remove();
await existingServiceSecret.remove();
if (existingServiceSecret) {
await existingServiceSecret.remove();
}
}
if (!existingService && existingServiceSecret) {
await existingServiceSecret.remove();
}
const newServiceImage = await plugins.docker.DockerImage.createFromRegistry(
this.dockerHost,
{
creationObject: {
imageUrl: service.image,
},
}
);
const newServiceSecret = await plugins.docker.DockerSecret.createSecret(this.dockerHost, {
const newServiceImage = await this.dockerHost.createImageFromRegistry({
imageUrl: service.image,
});
const newServiceSecret = await this.dockerHost.createSecret({
name: `${service.name}Secret`,
contentArg: plugins.smartjson.stringify(service.secretJson),
version: await newServiceImage.getVersion(),
labels: {},
});
const newService = await plugins.docker.DockerService.createService(this.dockerHost, {
const newService = await this.dockerHost.createService({
image: newServiceImage,
labels: {},
name: service.name,
@@ -88,7 +79,7 @@ export class SparkServicesManager {
});
logger.log('ok', `updated service >>${newService.Spec.Name}<<!`);
}
logger.log('success', `updated ${this.services.length} services!`);
}
}