fix: reliable source upload, build cancel, WordPress port 80 default

- Replace port-forward/netcat PVC upload with kubectl cp for integrity
- Add build cancellation API and session cleanup; deploy catches cancel
- Default port 80 for WordPress, PHP, and Laravel on create
- Build progress modal with cancel; Helm/K8s adjustments for deployments
- Update build and kubernetes specs

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
keyhan
2026-05-14 16:03:45 +03:30
parent 3d56a2cc5d
commit 0c0a6cd5be
12 changed files with 637 additions and 93 deletions
@@ -8,7 +8,7 @@ import * as crypto from 'crypto';
import { Application } from './entities/application.entity';
import { CreateApplicationDto, UpdateApplicationDto } from './dto/application.dto';
import { ClustersService } from '../clusters/clusters.service';
import { UserRole, DatabaseType, CustomDomainStatus } from '../common/enums';
import { UserRole, DatabaseType, CustomDomainStatus, AppRuntime } from '../common/enums';
@Injectable()
export class ApplicationsService {
@@ -78,6 +78,10 @@ export class ApplicationsService {
const customDomain = dto.customDomain?.toLowerCase().trim() || undefined;
const defaultPort = [AppRuntime.WORDPRESS, AppRuntime.PHP, AppRuntime.LARAVEL].includes(dto.runtime)
? 80
: 3000;
const app = this.appsRepository.create({
...dto,
userId,
@@ -85,6 +89,7 @@ export class ApplicationsService {
poolId,
dbUsername,
dbPassword,
port: dto.port ?? defaultPort,
subdomain: `${dto.name}-${userId.split('-')[0]}`,
customDomain: customDomain || undefined,
customDomainStatus: customDomain ? CustomDomainStatus.PENDING_DNS : CustomDomainStatus.NONE,