Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4b845d4
feat: added button that exports selected chains as Camel K custom res…
SSNikolaevich Nov 1, 2025
8b48bf3
feat: added custom resource generation dialog
SSNikolaevich Nov 28, 2025
6ba0e98
fix: fixed default resource name
SSNikolaevich Dec 2, 2025
f749baa
Merge branch 'main' into camel-k-cr
SSNikolaevich Dec 3, 2025
e7f66ac
fix: fixed icon
SSNikolaevich Dec 3, 2025
f064485
fix: fixed icons
SSNikolaevich Dec 4, 2025
f5aebee
fix: fixed link to element properties in session
SSNikolaevich Dec 4, 2025
3c51f55
Merge branch 'main' into camel-k-cr
SSNikolaevich Jan 27, 2026
85eab81
fix: fixed syntax error
SSNikolaevich Jan 28, 2026
72d725f
fix: updated package-lock.json
SSNikolaevich Jan 28, 2026
1d10b3d
Merge branch 'main' into camel-k-cr
SSNikolaevich Jan 29, 2026
be4665a
fix: aligned versions of react-router and react-router-dom
SSNikolaevich Jan 30, 2026
ec012cc
Merge branch 'main' into camel-k-cr
SSNikolaevich Jan 30, 2026
8014313
feat: implemented deploy as Camel K resource
SSNikolaevich Feb 3, 2026
a419823
feat: implemented deploy as micro domain
SSNikolaevich Feb 6, 2026
86cc45b
feat: added mode to the microdomain deployment request
SSNikolaevich Feb 6, 2026
683969d
feat: added ability to delete a microdomain from the admin tools page
SSNikolaevich Feb 10, 2026
7e123cd
feat: aligned types with runtime catalog
SSNikolaevich Feb 10, 2026
1999671
feat: handled microdomains in the deployment page
SSNikolaevich Feb 11, 2026
5c713a6
feat: implemented removing a chain from a microdomain
SSNikolaevich Feb 11, 2026
d3f88ed
feat: updated create deployment dialog
SSNikolaevich Feb 13, 2026
038793a
feat: implemented deployment to microdomains
SSNikolaevich Feb 17, 2026
03eb0f7
feat: removed export as CR dialog
SSNikolaevich Feb 17, 2026
0f1e854
Merge branch 'main' into camel-k-cr
SSNikolaevich Feb 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions src/api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ import type {
AccessControlResponse,
AccessControlUpdateRequest,
AccessControlBulkDeployRequest,
CustomResourceBuildRequest,
MicroDomainDeployRequest,
BulkMicroDomainDeployResult,
} from "./apiTypes.ts";
import { RestApi } from "./rest/restApi.ts";
import { isVsCode, VSCodeExtensionApi } from "./rest/vscodeExtensionApi.ts";
Expand Down Expand Up @@ -167,6 +170,8 @@ export interface Api {

revertToSnapshot(chainId: string, snapshotId: string): Promise<Snapshot>;

buildCR(request: CustomResourceBuildRequest): Promise<string>;

getLibraryElementByType(type: string): Promise<LibraryElement>;

getDeployments(chainId: string): Promise<Deployment[]>;
Expand Down Expand Up @@ -537,6 +542,21 @@ export interface Api {
bulkDeployChainsAccessControl(
searchRequest: AccessControlBulkDeployRequest[],
): Promise<AccessControlResponse>;

deployToMicroDomain(
request: BulkMicroDomainDeployResult,
): Promise<BulkDeploymentResult[]>;

deploySnapshotsToMicroDomain(
request: MicroDomainDeployRequest,
): Promise<void>;

deleteMicroDomain(name: string): Promise<void>;

deleteSnapshotFromMicroDomain(
name: string,
snapshotId: string,
): Promise<void>;
}

export const api: Api = isVsCode ? new VSCodeExtensionApi() : new RestApi();
56 changes: 56 additions & 0 deletions src/api/apiTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,7 @@ export type Deployment = {
snapshotId: string;
name: string;
domain: string;
domainType: DomainType;
createdWhen: number;
createdBy: User;
runtime?: RuntimeStates;
Expand All @@ -283,8 +284,14 @@ export type EngineDomain = {
replicas: number;
namespace: string;
version?: string;
type: DomainType;
};

export enum DomainType {
NATIVE = "NATIVE",
MICRO = "MICRO",
}

export type ChainLoggingSettings = {
fallbackDefault: ChainLoggingProperties;
consulDefault?: ChainLoggingProperties;
Expand Down Expand Up @@ -1241,6 +1248,37 @@ export type AccessControlProperty = {
abacParameters?: AbacParameters;
};

export type CustomResourceBuildRequest = {
options: CustomResourceOptions;
chainIds: string[];
};

export type CustomResourceOptions = {
language?: string;
name?: string;
namespace?: string;
container?: ContainerOptions;
monitoring?: MonitoringOptions;
service?: ServiceOptions;
environment?: Record<string, string>;
resources?: string[];
serviceAccount?: string;
};

export type MonitoringOptions = {
enabled: boolean;
interval: string;
};

export type ServiceOptions = {
enabled: boolean;
};

export type ContainerOptions = {
image?: string;
imagePoolPolicy?: "Always" | "Never" | "IfNotPresent";
};

export type LiveExchange = {
exchangeId: string;
deploymentId: string;
Expand Down Expand Up @@ -1317,6 +1355,24 @@ export type BulkDeploymentRequest = {
chainIds: string[];
};

export type MicroDomainDeployRequest = {
name: string;
snapshotIds: string[];
mode?: DeployMode;
};

export type BulkMicroDomainDeployResult = {
domains: string[];
chainIds: string[];
snapshotAction: BulkDeploymentSnapshotAction;
mode?: DeployMode;
};

export enum DeployMode {
REWRITE = "REWRITE",
APPEND = "APPEND",
}

export type BulkDeploymentResult = {
chainId: string;
chainName: string;
Expand Down
Loading