This commit is contained in:
@@ -71,9 +71,37 @@ export class LinkLauncherVersionSourceDto {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class DeploymentResourceLimitsDto {
|
||||||
|
@IsOptional()
|
||||||
|
@Type(() => Number)
|
||||||
|
@IsInt()
|
||||||
|
replicas?: number;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@IsString()
|
||||||
|
cpuRequest?: string;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@IsString()
|
||||||
|
cpuLimit?: string;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@IsString()
|
||||||
|
memoryRequest?: string;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@IsString()
|
||||||
|
memoryLimit?: string;
|
||||||
|
}
|
||||||
|
|
||||||
export class DeployLauncherBackendDto {
|
export class DeployLauncherBackendDto {
|
||||||
@IsString()
|
@IsString()
|
||||||
image!: string;
|
image!: string;
|
||||||
|
|
||||||
|
@IsOptional()
|
||||||
|
@ValidateNested()
|
||||||
|
@Type(() => DeploymentResourceLimitsDto)
|
||||||
|
resources?: DeploymentResourceLimitsDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CreateLauncherBuildJobDto {
|
export class CreateLauncherBuildJobDto {
|
||||||
|
|||||||
@@ -362,6 +362,43 @@ export class LauncherService {
|
|||||||
'-n',
|
'-n',
|
||||||
namespace,
|
namespace,
|
||||||
]));
|
]));
|
||||||
|
|
||||||
|
const resources = body.resources;
|
||||||
|
if (resources?.replicas && resources.replicas > 0) {
|
||||||
|
logs.push(`[scale] deployment/${deployment} replicas=${resources.replicas}`);
|
||||||
|
appendOutput(logs, await this.kubectl([
|
||||||
|
'scale',
|
||||||
|
`deployment/${deployment}`,
|
||||||
|
`--replicas=${resources.replicas}`,
|
||||||
|
'-n',
|
||||||
|
namespace,
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
|
||||||
|
const requests = [
|
||||||
|
resources?.cpuRequest ? `cpu=${resources.cpuRequest}` : null,
|
||||||
|
resources?.memoryRequest ? `memory=${resources.memoryRequest}` : null,
|
||||||
|
].filter(Boolean);
|
||||||
|
const limits = [
|
||||||
|
resources?.cpuLimit ? `cpu=${resources.cpuLimit}` : null,
|
||||||
|
resources?.memoryLimit ? `memory=${resources.memoryLimit}` : null,
|
||||||
|
].filter(Boolean);
|
||||||
|
|
||||||
|
if (requests.length || limits.length) {
|
||||||
|
const args = [
|
||||||
|
'set',
|
||||||
|
'resources',
|
||||||
|
`deployment/${deployment}`,
|
||||||
|
`--containers=${container}`,
|
||||||
|
...(requests.length ? [`--requests=${requests.join(',')}`] : []),
|
||||||
|
...(limits.length ? [`--limits=${limits.join(',')}`] : []),
|
||||||
|
'-n',
|
||||||
|
namespace,
|
||||||
|
];
|
||||||
|
logs.push(`[resources] ${args.slice(3, -2).join(' ')}`);
|
||||||
|
appendOutput(logs, await this.kubectl(args));
|
||||||
|
}
|
||||||
|
|
||||||
logs.push(`[rollout] deployment/${deployment}`);
|
logs.push(`[rollout] deployment/${deployment}`);
|
||||||
appendOutput(logs, await this.kubectl([
|
appendOutput(logs, await this.kubectl([
|
||||||
'rollout',
|
'rollout',
|
||||||
|
|||||||
Reference in New Issue
Block a user