init studio admin backend
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
import { Body, Controller, Delete, Get, Param, Post, Query } from '@nestjs/common';
|
||||
|
||||
import { ScaleWorkloadDto } from './dto/scale-workload.dto';
|
||||
import { RuntimeService } from './runtime.service';
|
||||
|
||||
@Controller('runtime')
|
||||
export class RuntimeController {
|
||||
constructor(private readonly runtimeService: RuntimeService) {}
|
||||
|
||||
@Get('namespaces')
|
||||
listNamespaces() {
|
||||
return this.runtimeService.listNamespaces();
|
||||
}
|
||||
|
||||
@Get('workloads')
|
||||
listWorkloads(@Query('namespace') namespace?: string) {
|
||||
return this.runtimeService.listWorkloads(namespace);
|
||||
}
|
||||
|
||||
@Get('metrics/pods')
|
||||
listPodMetrics(@Query('namespace') namespace?: string) {
|
||||
return this.runtimeService.listPodMetrics(namespace);
|
||||
}
|
||||
|
||||
@Post('workloads/:namespace/:kind/:name/restart')
|
||||
restartWorkload(
|
||||
@Param('namespace') namespace: string,
|
||||
@Param('kind') kind: string,
|
||||
@Param('name') name: string,
|
||||
) {
|
||||
return this.runtimeService.restartWorkload(namespace, kind, name);
|
||||
}
|
||||
|
||||
@Post('workloads/:namespace/:kind/:name/scale')
|
||||
scaleWorkload(
|
||||
@Param('namespace') namespace: string,
|
||||
@Param('kind') kind: string,
|
||||
@Param('name') name: string,
|
||||
@Body() body: ScaleWorkloadDto,
|
||||
) {
|
||||
return this.runtimeService.scaleWorkload(
|
||||
namespace,
|
||||
kind,
|
||||
name,
|
||||
body.replicas,
|
||||
);
|
||||
}
|
||||
|
||||
@Delete('workloads/:namespace/:kind/:name')
|
||||
deleteWorkload(
|
||||
@Param('namespace') namespace: string,
|
||||
@Param('kind') kind: string,
|
||||
@Param('name') name: string,
|
||||
@Query('deleteService') deleteService?: string,
|
||||
) {
|
||||
return this.runtimeService.deleteWorkload(
|
||||
namespace,
|
||||
kind,
|
||||
name,
|
||||
deleteService === 'true',
|
||||
);
|
||||
}
|
||||
|
||||
@Get('workloads/:namespace/:kind/:name/pvcs')
|
||||
listWorkloadPersistentVolumeClaims(
|
||||
@Param('namespace') namespace: string,
|
||||
@Param('kind') kind: string,
|
||||
@Param('name') name: string,
|
||||
) {
|
||||
return this.runtimeService.listWorkloadPersistentVolumeClaims(
|
||||
namespace,
|
||||
kind,
|
||||
name,
|
||||
);
|
||||
}
|
||||
|
||||
@Delete('workloads/:namespace/:kind/:name/pvcs/:claimName')
|
||||
deleteWorkloadPersistentVolumeClaim(
|
||||
@Param('namespace') namespace: string,
|
||||
@Param('kind') kind: string,
|
||||
@Param('name') name: string,
|
||||
@Param('claimName') claimName: string,
|
||||
) {
|
||||
return this.runtimeService.deleteWorkloadPersistentVolumeClaim(
|
||||
namespace,
|
||||
kind,
|
||||
name,
|
||||
claimName,
|
||||
);
|
||||
}
|
||||
|
||||
@Get('workloads/:namespace/:kind/:name/logs')
|
||||
getWorkloadLogs(
|
||||
@Param('namespace') namespace: string,
|
||||
@Param('kind') kind: string,
|
||||
@Param('name') name: string,
|
||||
@Query('tail') tail?: string,
|
||||
) {
|
||||
return this.runtimeService.getWorkloadLogs(
|
||||
namespace,
|
||||
kind,
|
||||
name,
|
||||
tail ? Number(tail) : 200,
|
||||
);
|
||||
}
|
||||
|
||||
@Get('events')
|
||||
listEvents(@Query('namespace') namespace?: string) {
|
||||
return this.runtimeService.listEvents(namespace);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user