Skip to content

Commit f56b2ba

Browse files
Merge branch 'main' into fix/multiple-frame-anchestors
2 parents 967406b + 05af4a0 commit f56b2ba

40 files changed

+2598
-294
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# BUILD STAGE
2-
FROM node:24-slim@sha256:ac365b72b69807f4b0f73bcddccffbed7307cc6e296fddf778f3c6ffd6be2381 AS build-stage
2+
FROM node:24-slim@sha256:9b741b28148b0195d62fa456ed84dd6c953c1f17a3761f3e6e6797a754d9edff AS build-stage
33
WORKDIR /usr/src/app
44

55
# Copy package.json and package-lock.json
@@ -18,7 +18,7 @@ RUN npm prune --omit=dev
1818

1919

2020
# PRODUCTION STAGE
21-
FROM gcr.io/distroless/nodejs24-debian12@sha256:767b6dcea4bbc0ad1f1893c7444e44e7d8a3bc64d53fcd0cddc35b4264c4834a AS production
21+
FROM gcr.io/distroless/nodejs24-debian12@sha256:98fd27d54e32d0d281a4c41db1bbe87a61259b2cad12c61bb1b8c0e32166162d AS production
2222
WORKDIR /usr/src/app
2323

2424
# Copy built files

package-lock.json

Lines changed: 558 additions & 263 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"@ui5/webcomponents-fiori": "^2.7.2",
4141
"@ui5/webcomponents-icons": "^2.7.2",
4242
"@ui5/webcomponents-react": "^2.7.2",
43+
"@ui5/webcomponents-react-charts": "^2.13.1",
4344
"@xyflow/react": "^12.8.2",
4445
"clsx": "^2.1.1",
4546
"dagre": "^0.8.5",

public/locales/en.json

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@
172172
"defaultNamespaceInfo": "Leave empty to use <span>default</span> namespace",
173173
"serviceAccoutsGuide": "You can also use our <link1>Service Account Guide</link1> for more information."
174174
},
175+
175176
"ProjectsPage": {
176177
"header": "Your instances of <span>ManagedControlPlane</span>",
177178
"projectHeader": "Project:"
@@ -185,6 +186,7 @@
185186
"McpPage": {
186187
"accessError": "Managed Control Plane does not have access information yet",
187188
"componentsTitle": "Components",
189+
"overviewTitle": "Overview",
188190
"crossplaneTitle": "Crossplane",
189191
"gitOpsTitle": "GitOps",
190192
"landscapersTitle": "Landscapers",
@@ -334,7 +336,12 @@
334336
"synced": "Synced",
335337
"healthy": "Healthy",
336338
"installed": "Installed",
337-
"none": "None"
339+
"none": "None",
340+
"creating": "Creating",
341+
"unhealthy": "Unhealthy",
342+
"progress": "Managed",
343+
"remaining": "Remaining",
344+
"active": "Active"
338345
},
339346
"errors": {
340347
"installError": "Install error",
@@ -366,5 +373,52 @@
366373
"selectedComponents": "Selected Components",
367374
"pleaseSelectComponents": "Choose the components you want to add to your Managed Control Plane.",
368375
"cannotLoad": "Cannot load components list"
376+
},
377+
"Hints": {
378+
"CrossplaneHint": {
379+
"title": "Crossplane",
380+
"subtitle": "Managed Resources Readiness",
381+
"activeStatus": "Active v",
382+
"progressAvailable": "% Available",
383+
"noResources": "No Resources",
384+
"inactive": "Inactive",
385+
"activate": "Activate",
386+
"healthy": "Healthy",
387+
"hoverContent": {
388+
"totalResources": "Total Resources",
389+
"healthy": "Healthy",
390+
"creating": "Creating",
391+
"failing": "Failing"
392+
}
393+
},
394+
"GitOpsHint": {
395+
"title": "Flux",
396+
"subtitle": "GitOps Progress",
397+
"activeStatus": "Active v",
398+
"progressAvailable": "% Available",
399+
"noResources": "No Resources",
400+
"inactive": "Inactive",
401+
"activate": "Activate",
402+
"managed": "Managed",
403+
"hoverContent": {
404+
"totalResources": "Total Resources",
405+
"managed": "Managed",
406+
"unmanaged": "Unmanaged"
407+
}
408+
},
409+
"VaultHint": {
410+
"title": "Vault",
411+
"subtitle": "Rotating Secrets Progress",
412+
"activeStatus": "Active v",
413+
"progressAvailable": "% Available",
414+
"noResources": "No Resources",
415+
"inactive": "Coming soon...",
416+
"activate": "Activate"
417+
},
418+
"common": {
419+
"loading": "Loading...",
420+
"errorLoadingResources": "Error loading resources",
421+
"activate": "Activate"
422+
}
369423
}
370424
}

public/vault.png

24.9 KB
Loading

src/components/ControlPlanes/List/ControlPlaneListWorkspaceGridTile.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ export function ControlPlaneListWorkspaceGridTile({ projectName, workspace }: Pr
120120
title={t('IllustratedBanner.titleMessage')}
121121
subtitle={t('IllustratedBanner.subtitleMessage')}
122122
illustrationName={IllustrationMessageType.NoData}
123+
compact
123124
help={{
124125
link: mcpCreationGuide,
125126
buttonText: t('IllustratedBanner.helpButton'),

src/components/Dialogs/CreateProjectDialogContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export function CreateProjectDialogContainer({
5353

5454
useEffect(() => {
5555
if (username) {
56-
setValue('members', [{ name: username, role: MemberRoles.admin, kind: 'User' }]);
56+
setValue('members', [{ name: username, roles: [MemberRoles.admin], kind: 'User' }]);
5757
}
5858
if (!isOpen) {
5959
clearForm();

src/components/Dialogs/CreateWorkspaceDialogContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export function CreateWorkspaceDialogContainer({
6868

6969
useEffect(() => {
7070
if (username) {
71-
setValue('members', [{ name: username, role: MemberRoles.admin, kind: 'User' }]);
71+
setValue('members', [{ name: username, roles: [MemberRoles.admin], kind: 'User' }]);
7272
}
7373
if (!isOpen) {
7474
clearForm();

src/components/Graphs/CustomNode.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const CustomNode: React.FC<CustomNodeProps> = ({ label, type, status, transition
2828
positiveText={t('common.healthy')}
2929
negativeText={t('errors.notHealthy')}
3030
message={statusMessage}
31+
hideOnHoverEffect={true}
3132
/>
3233
</div>
3334
<div className={styles.nodeTextContainer}>

src/components/Graphs/graphUtils.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,22 @@ export const resolveProviderType = (configName: string, providerConfigsList: Pro
2626
};
2727

2828
export const generateColorMap = (items: NodeData[], colorBy: string): Record<string, string> => {
29-
const colors = ['#E09D00', '#E6600D', '#AB218E', '#678BC7', '#1A9898', '#759421', '#925ACE', '#647987'];
29+
const colors = [
30+
'#FFC933', // MANGO 4
31+
'#FF8AF0', // PINK 4
32+
'#FEADC8', // RASPBERRY 4
33+
'#2CE0BF', // TEAL 4
34+
'#FF8CB2', // RED 4
35+
'#B894FF', // INDIGO 4
36+
'#049F9A', // TEAL 6
37+
'#FA4F96', // RASPBERRY 6
38+
'#F31DED', // PINK 6
39+
'#7858FF', // INDIGO 6
40+
'#07838F', // TEAL 7
41+
'#DF1278', // RASBERRY 7
42+
'#510080', // PINK 10
43+
'#5D36FF', // INDIGO 7
44+
];
3045

3146
const keys = (() => {
3247
if (colorBy === 'source') return Array.from(new Set(items.map((i) => i.providerType).filter(Boolean)));

0 commit comments

Comments
 (0)