Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
a8bfe77
Add new tokens with tailwind alias config
RemiBonnet Oct 24, 2025
a3f7236
Add toggle theme and new app console-v5
RemiBonnet Oct 28, 2025
db82634
feat(navigation): add general layout (#2110)
RemiBonnet Dec 15, 2025
cfbf0d8
Update Dockerfile and package.json for console-v5 (#2225)
RemiBonnet Dec 15, 2025
541fc51
fix(new-nav): update router and its layouts (#2227)
rmnbrd Dec 15, 2025
2317bce
feat(organization-overview): add webflow changelog section (#2230)
RemiBonnet Dec 15, 2025
dca100e
feat(new-nav): add authentication (#2232)
rmnbrd Dec 16, 2025
97284a2
impr(new-nav): add logout button and better redirection (#2237)
rmnbrd Dec 17, 2025
6d75591
feat(organization-overview): changelog, links + draft project and pro…
RemiBonnet Dec 17, 2025
26389a9
fix(new-nav): auth context (#2239)
rmnbrd Dec 17, 2025
925f65f
feat(organization-overview): start production health cluster (#2242)
RemiBonnet Dec 18, 2025
cb9c73c
feat(badge): update token (#2245)
RemiBonnet Dec 18, 2025
916e785
feat(cluster): starting views (#2249)
RemiBonnet Dec 19, 2025
696285c
refactor(routes): remove pathname state from links in environment and…
RemiBonnet Dec 23, 2025
cf5c205
feat(cluster): add overview (#2253)
RemiBonnet Dec 24, 2025
4198515
feat(sidebar): add new component for navigation (#2259)
RemiBonnet Dec 24, 2025
04a45b5
feat(cluster-logs): add new view (#2260)
RemiBonnet Dec 26, 2025
54208b2
fix(tokens): update callout & progress-bar components
RemiBonnet Dec 26, 2025
a25e69f
feat(cluster): add general settings (#2264)
RemiBonnet Dec 31, 2025
2b42088
feat(cluster): add credentials settings (#2268)
RemiBonnet Dec 31, 2025
4d9cc74
fix(sticky): ensure dropdown overlays above sticky header (#2269)
RemiBonnet Dec 31, 2025
294fb1d
feat(cluster): add danger-zone settings (#2272)
RemiBonnet Dec 31, 2025
b05902c
feat(cluster): add resources settings (#2271)
RemiBonnet Dec 31, 2025
842bb19
fix(dockerfile): add missing line continuation for environment variables
RemiBonnet Jan 6, 2026
45b125b
feat(cluster): add advanced settings (#2279)
RemiBonnet Jan 6, 2026
9d08de1
feat(cluster): add eks-anywhere settings (#2280)
RemiBonnet Jan 7, 2026
216f0cc
feat(cluster): add image registry and network pages (#2277)
RemiBonnet Jan 7, 2026
f63b23c
feat(new-nav): add onboarding views (#2262)
rmnbrd Jan 9, 2026
9afce6c
feat(header): add user-menu (#2289)
RemiBonnet Jan 9, 2026
5f52dea
feat(cluster): add cluster new page (#2284)
RemiBonnet Jan 9, 2026
d70673b
fix(cluster): terminal new token and overview responsive (#2282)
RemiBonnet Jan 9, 2026
3249faf
fix(new-nav): chargebee imports (#2293)
rmnbrd Jan 9, 2026
7670889
feat(button): Applied new token and style to buttons and action toolb…
TheoGrandin74 Jan 12, 2026
e132ac2
Impr(new-nav): better data fetching (#2298)
rmnbrd Jan 13, 2026
1e3dbe4
feat(cluster): add general step in the creation flow (#2303)
RemiBonnet Jan 15, 2026
a5cadaf
feat(cluster): add resources step in the creation flow (#2308)
RemiBonnet Jan 19, 2026
cb4e751
feat(input): New tokens added (#2313)
TheoGrandin74 Jan 19, 2026
fc6d94b
fix(new-nav): apply correct zIndex value for InputSelect's portal con…
rmnbrd Jan 19, 2026
f22c756
impr(new-nav): improve login UI (#2320)
rmnbrd Jan 22, 2026
ce286b8
fix(new-nav): correct auth redirect issue (#2323)
rmnbrd Jan 22, 2026
3051067
feat(datepicker): Component refactoring and new tokens (#2316)
TheoGrandin74 Jan 26, 2026
b42e858
fix(new-navigation): redirection to login page when user is not authe…
rmnbrd Jan 26, 2026
f4384b5
fix: DatePicker TS error (#2335)
rmnbrd Jan 27, 2026
3533d67
Feat/component tokens (#2314)
TheoGrandin74 Jan 29, 2026
8cf9668
feat(new-nav): add Project overview page (#2305)
rmnbrd Jan 29, 2026
380e571
feat(new-navigation): add Project variables view (#2342)
rmnbrd Jan 29, 2026
cd35c11
style(spotlight): tokenization + adding TanStack Router and integrati…
TheoGrandin74 Jan 29, 2026
a27d128
feat(routing): fix migration from react-dom-router to tanstack in spo…
TheoGrandin74 Jan 29, 2026
a9bc11b
refactor(ui): remove ActionToolbar usage in env list and update butto…
TheoGrandin74 Jan 30, 2026
da8f0e1
style(multiple-selector): tokenization & small design improvments (#2…
TheoGrandin74 Jan 30, 2026
d12e2c3
style(cluster): Quick design improvments (#2324)
TheoGrandin74 Jan 30, 2026
e66b3ec
impr(new-nav): change order of Project overview's sections (#2347)
rmnbrd Jan 30, 2026
79d3fb2
Merge branch 'staging' into new-navigation
rmnbrd Jan 30, 2026
dbf1784
feat(new-nav): add Project settings (#2349)
rmnbrd Jan 30, 2026
96a13e8
fix(new-nav): UI tweaks for project variables (#2352)
rmnbrd Jan 30, 2026
4e1286f
style(variables): UI fixes and adding missing tokens (#2356)
TheoGrandin74 Feb 4, 2026
72a0254
feat(new-nav): add settings for Environment (#2362)
rmnbrd Feb 10, 2026
d01e771
feat(new-nav): add environment overview
rmnbrd Feb 10, 2026
41a9803
fix(select): remove terminal warning hsla format (#2370)
RemiBonnet Feb 11, 2026
0488976
fix(new-nav): TS issues
rmnbrd Feb 13, 2026
9ec47b2
feat(variables): add variables tabs at environment scope (#2367)
TheoGrandin74 Feb 13, 2026
5f478d3
style(code-editor): Tokenization (#2351)
TheoGrandin74 Feb 13, 2026
3f0d98b
style(modals): tokenization added and quick fixes on popover (#2353)
TheoGrandin74 Feb 13, 2026
bd4c009
feat(org-settings): update @awesome.me/kit package and settings struc…
TheoGrandin74 Feb 13, 2026
6f9b1b4
feat(cluster): add features step in the creation flow (#2374)
RemiBonnet Feb 13, 2026
70dd827
feat(cluster): add summary step, deployment card and fixes (#2380)
RemiBonnet Feb 13, 2026
a29d639
feat(settings-labels-annotations): added new page to console-v5, upda…
TheoGrandin74 Feb 13, 2026
4ce4ced
chore(workflows): update pull request trigger and adjust build cmds (…
RemiBonnet Feb 13, 2026
c507cb9
feat(tests): fix all tests and improve CI (#2383)
RemiBonnet Feb 16, 2026
649e529
Merge branch 'staging' into new-navigation
RemiBonnet Feb 16, 2026
641e758
feat(container-registries): added container-registries settings page …
TheoGrandin74 Feb 16, 2026
0285248
feat(user-settings): implement user settings modal (#2388)
RemiBonnet Feb 16, 2026
bcd671a
feat(alerts): add alert organization pages (#2386)
RemiBonnet Feb 18, 2026
5bbbb00
feat(danger-zone): added organization danger zone and update tests (#…
TheoGrandin74 Feb 18, 2026
221d8cc
feat(helm-repositories): implement helm repositories settings page an…
TheoGrandin74 Feb 18, 2026
64a6bbd
feat(danger-zone): enhance organization danger zone access control an…
TheoGrandin74 Feb 19, 2026
49264a5
feat(api-token): add settings page to new navigation (#2399)
TheoGrandin74 Feb 19, 2026
e50b111
feat(git repositories access): Adding Git repositories access page to…
TheoGrandin74 Feb 19, 2026
b9ff0ec
feat(webhooks): implement webhook settings page with modal (#2389)
TheoGrandin74 Feb 19, 2026
52cdc54
feat(cloud-credentials): implement cloud credentials management page …
TheoGrandin74 Feb 19, 2026
fbcde18
feat(new-nav): add audit logs page (#2375)
rmnbrd Feb 19, 2026
05fd145
feat(billing-details): implement billing details settings page and te…
TheoGrandin74 Feb 19, 2026
eea7047
impr(new-nav): env overview loading and ErrorBoundary (#2397)
rmnbrd Feb 19, 2026
de4e742
feat(ai-copilot): refactor AI Copilot settings (#2403)
TheoGrandin74 Feb 23, 2026
6021a81
feat(new-nav): add deployment history for envs (#2407)
rmnbrd Feb 24, 2026
7d89f9e
feat(billing-summary): billing summary page (#2401)
TheoGrandin74 Feb 24, 2026
cd3fed9
fix(new-nav): updating env overview to use EnvironmentStateChip inste…
rmnbrd Feb 24, 2026
39f7fcd
feat(members): adding members to console v5 and tokenization (#2413)
TheoGrandin74 Feb 25, 2026
bd23353
feat(service-overview): add new ui (#2412)
RemiBonnet Feb 25, 2026
63ea6a1
feat(audit-logs): enhance audit logs diff UI and add it to container-…
TheoGrandin74 Feb 26, 2026
e946f61
feat(deployment-history): add service deployment and update environme…
RemiBonnet Feb 26, 2026
bf89105
fix(environment-deployment-list, service-deployment-list): update col…
RemiBonnet Feb 26, 2026
e6e0e7d
impr(new-nav): update lint rules for routeTree.gen file so we avoid u…
rmnbrd Feb 26, 2026
9b28d7f
feat(org settings): adding suspense logic and harmonizing skeletons a…
TheoGrandin74 Feb 26, 2026
0bfb112
feat(roles & permissions): tokenization and addition to console-v5 (#…
TheoGrandin74 Feb 26, 2026
8fc723c
feat(service-monitoring-dashboard): add view (#2427)
RemiBonnet Feb 27, 2026
d074ea1
Merge branch 'staging' into new-navigation
RemiBonnet Mar 2, 2026
ef264c1
Merge 'staging' into 'new-navigation'
RemiBonnet Mar 2, 2026
3e49230
fix(cluster): general settings section heading for labels
RemiBonnet Mar 2, 2026
1602e6f
feat(breadcrumbs): add service support + suffix rendering (#2433)
RemiBonnet Mar 2, 2026
09ed906
feat(service-variables): add service variables route + hide it for da…
RemiBonnet Mar 3, 2026
3e423a6
fix(service): add settings layout and danger-zone (#2437)
RemiBonnet Mar 3, 2026
e102b71
feat(new-nav): add Env overview page (#2436)
rmnbrd Mar 3, 2026
18297bb
feat(service-monitoring-alerts): add view (#2428)
RemiBonnet Mar 3, 2026
b2e1710
fix(observability-callout): update styles for improved contrast (#2446)
RemiBonnet Mar 4, 2026
d2ab02f
feat(services): add services/new page (#2442)
RemiBonnet Mar 5, 2026
9fe3409
fix(dropdown-services): new token previous next btn (#2449)
RemiBonnet Mar 5, 2026
1b35d2c
feat(new-nav): add service logs page (#2441)
rmnbrd Mar 5, 2026
44ffd03
Merge branch 'staging' into new-navigation
rmnbrd Mar 5, 2026
4ee0caf
feat(application-container-creation-flow): add general step (#2451)
RemiBonnet Mar 6, 2026
65105c3
fix(variable-list): show service link in built-in list (#2452)
RemiBonnet Mar 6, 2026
fa61529
fix(new-nav): Fix the TS definition of the Link component (#2450)
rmnbrd Mar 6, 2026
e44af25
fix(new-nav): make environment overview's table rows clickable (#2455)
rmnbrd Mar 9, 2026
b37acbb
feat(service-settings): add advanced settings views (#2440)
RemiBonnet Mar 9, 2026
cb8d8f0
fix(ui): truncate label breadcrumb, pods details, outline link (#2456)
RemiBonnet Mar 9, 2026
33d2d13
feat(services): add general settings (#2454)
RemiBonnet Mar 9, 2026
d71be04
feat(application-container-creation-flow): add resources step (#2459)
RemiBonnet Mar 10, 2026
444cb9e
Merge branch 'staging' into new-navigation
RemiBonnet Mar 10, 2026
5b5b3ff
feat(services): add resources settings (#2461)
RemiBonnet Mar 10, 2026
e83bbba
feat(new-nav): add env deployment details view (#2460)
rmnbrd Mar 11, 2026
9326b7c
feat(service-port): add creation flow and settings (#2464)
RemiBonnet Mar 11, 2026
e7f58ac
feat(ui): cluster loading, update pods view, database colors tokens (…
RemiBonnet Mar 12, 2026
28b7a13
feat(service-healthchecks): add creation flow and settings (#2466)
RemiBonnet Mar 12, 2026
7893643
feat(new-nav): make deploy menus consistent (#2469)
rmnbrd Mar 12, 2026
e7ade77
feat(application-container-creation-flow): add flow (#2470)
RemiBonnet Mar 12, 2026
28957a8
fix(breadcrumb-item): update condition for rendering one item (#2476)
RemiBonnet Mar 13, 2026
46e3b20
feat(new-nav): add tabbar for env overview section (#2480)
rmnbrd Mar 16, 2026
064c990
fix(inputs): improve input with value with label transition (#2479)
RemiBonnet Mar 16, 2026
5fa9ad0
feat(spotlight): add tanstack routes (#2481)
RemiBonnet Mar 16, 2026
e027557
fix(cluster-deployment-progress-card): update gradient text colors an…
TheoGrandin74 Mar 16, 2026
35852e4
feat(database-creation-flow): add flow (#2471)
RemiBonnet Mar 16, 2026
f7378ec
feat(deployment-rules): implement create, edit, and index routes for …
TheoGrandin74 Mar 16, 2026
be643a5
feat(organization): Breacrumb alignment and BlockContent padding (#2485)
TheoGrandin74 Mar 16, 2026
f844a6f
feat(terraform overview): styling improvments on output variables and…
TheoGrandin74 Mar 17, 2026
1cf8dc7
refactor(styles): update font weights and avatar size for lighter int…
TheoGrandin74 Mar 17, 2026
a8f2df7
fix(inputs): improve input with value with label transition (#2482)
RemiBonnet Mar 17, 2026
28cd1f3
feat(storage-settings): add view (#2475)
RemiBonnet Mar 17, 2026
7a53d4d
feat(domain-settings): add view (#2473)
RemiBonnet Mar 17, 2026
f5ed773
feat(deployment-restrictions-settings): add view (#2478)
RemiBonnet Mar 17, 2026
8e2643f
fix(cluster-advanced-settings): update table head to match style of o…
TheoGrandin74 Mar 17, 2026
d75ef2a
refactor(pages): unify padding across various pages for consistency (…
TheoGrandin74 Mar 18, 2026
d4c7f78
refactor(icons): update color classes for deployment icon and compone…
TheoGrandin74 Mar 18, 2026
6dad693
refactor(cluster): update styles and layout for cluster creation and …
TheoGrandin74 Mar 18, 2026
29ed2af
feat(audit-logs): harmonize audit logs header with other pages header…
TheoGrandin74 Mar 18, 2026
672a94c
refactor(sidebar): hover style update (#2493)
TheoGrandin74 Mar 18, 2026
27d68e6
feat(services-deployment-pipeline): add view (#2486)
RemiBonnet Mar 18, 2026
ee2a572
feat(service-terminal): add component (#2494)
RemiBonnet Mar 18, 2026
5781cf2
fix(input-select): improved disabled state styling for inputs and sel…
TheoGrandin74 Mar 18, 2026
0437f8f
fix(new-nav): redirect issue (#2502)
rmnbrd Mar 18, 2026
45c04db
fix(design): update styles for logs, service overview, breadcrumb (#2…
TheoGrandin74 Mar 18, 2026
60927ce
feat(ai-copilot-settings): harmonizing settings layout with other set…
TheoGrandin74 Mar 18, 2026
30123f6
fix(git-webhook-status-badge): design improvments on git webhook badg…
TheoGrandin74 Mar 19, 2026
cb87ed1
fix(need-redeploy-flag): full width outside container (#2503)
RemiBonnet Mar 19, 2026
5ef4b23
feat(new-nav): add deployment logs (#2487)
rmnbrd Mar 19, 2026
3eaf14e
Merge branch 'staging' into new-navigation
rmnbrd Mar 19, 2026
45c1eed
fix(new-nav): failing unit tests (#2506)
rmnbrd Mar 19, 2026
3c2f952
refactor(monitoring-dashboard): replace Heading with styled div for s…
TheoGrandin74 Mar 19, 2026
3da0db5
fix(environments): enhance environments table (#2507)
RemiBonnet Mar 19, 2026
683137f
fix(webflow): changelog synchronization on build (#2509)
RemiBonnet Mar 19, 2026
65aef9e
fix(database): add managed database mode selection (#2513)
RemiBonnet Mar 20, 2026
1e0a39e
Merge branch 'staging' into new-navigation
rmnbrd Mar 20, 2026
4f67007
fix(new-nav): add missing unavailable status to new DeploymentAction …
rmnbrd Mar 20, 2026
7253936
refactor(styles): update disabled state for input and select, harmoni…
TheoGrandin74 Mar 20, 2026
e65e956
feat(service-header): added cluster redirection to service overview (…
TheoGrandin74 Mar 20, 2026
4f8ba74
feat(cluster-nodes): distinguish deploying vs removing node status
acarranoqovery Mar 20, 2026
563a9a3
feat(variable): add import .env (#2518)
RemiBonnet Mar 20, 2026
f9fe143
feat(posthog): synchronize identified user with Auth0 (#2523)
RemiBonnet Mar 20, 2026
42f1e61
feat(new-nav): clean up service logs layout (#2522)
rmnbrd Mar 20, 2026
1280bbf
feat(new-nav): add last deployment section to env overview (#2514)
rmnbrd Mar 20, 2026
dfaccdb
fix(posthog): enhance organization tracking (#2525)
RemiBonnet Mar 23, 2026
556c611
fix(login): add color token (#2526)
RemiBonnet Mar 23, 2026
408d793
fix(cluster): add EKS Anywhere configuration view and cluster feedbac…
RemiBonnet Mar 23, 2026
2706bb7
fix(cluster-update-modal): update navigation and color tokens (#2528)
RemiBonnet Mar 23, 2026
3fb6812
refactor(cluster-metrics): simplify node removing detection to use un…
acarranoqovery Mar 23, 2026
12fadb6
fix(navigation): update breadcrumb paths and navigation redirects (#2…
RemiBonnet Mar 24, 2026
82b5d62
feat(clone-service): enhance routing and mutation logic for cloning s…
RemiBonnet Mar 24, 2026
800c143
feat(routes): add cloud shell routes for clusters and services (#2521)
TheoGrandin74 Mar 24, 2026
48ce882
Merge remote-tracking branch 'origin/staging' into new-navigation
RemiBonnet Mar 24, 2026
534cfc6
fix(devops-copilot): routing bugs with merge
RemiBonnet Mar 24, 2026
226ecee
fix(cluster-logs): improve log rendering and perf (#2532)
RemiBonnet Mar 24, 2026
4503419
feat(new-nav): add pre-check logs view (#2534)
rmnbrd Mar 25, 2026
50e8e7f
feat(new-nav): add missing logs links (#2519)
rmnbrd Mar 25, 2026
6846b5f
fix(devops-copilot): add feature
RemiBonnet Mar 24, 2026
18e42c1
refactor(devops-copilot): update UI components and remove unused empt…
RemiBonnet Mar 24, 2026
9a2d355
refactor(devops-copilot): improve UI text and loading state handling
RemiBonnet Mar 24, 2026
a28272c
feat(devops-copilot): integrate AI diagnostic feature for deployment …
RemiBonnet Mar 25, 2026
818b3f7
refactor(header, user-menu, deployment-logs): adjust UI layout and re…
RemiBonnet Mar 25, 2026
1654c3b
feat(devops-copilot): add diagnostic trigger for deployment error han…
RemiBonnet Mar 25, 2026
6a0ac2b
test(service-last-deployment): add mock for Link component and import…
RemiBonnet Mar 25, 2026
c070005
refactor(devops-copilot): update UI component styles and improve test…
RemiBonnet Mar 25, 2026
cd94de1
refactor(breadcrumbs): simplify route parameter handling in Breadcrum…
RemiBonnet Mar 25, 2026
94ec683
fix(message-list): update user message background class in tests
RemiBonnet Mar 25, 2026
f6ee9e6
fix(audit-logs): fix tokenization issues and small visual jumps when …
TheoGrandin74 Mar 25, 2026
22e853e
feat(environment): add version dropdown to env deployment details vie…
rmnbrd Mar 25, 2026
84bcb6a
fix(devops-copilot): attach copilot auth header (#2539)
RemiBonnet Mar 25, 2026
7ad74dd
fix(login): ensure safe redirection after authentication by validatin…
RemiBonnet Mar 25, 2026
e706962
Merge branch 'staging' into new-navigation
RemiBonnet Mar 26, 2026
81b45a4
feat(new-nav): add "Terraform configuration" settings section (#2540)
rmnbrd Mar 26, 2026
d33d798
feat(new-nav): add "Terraform configuration" settings section (#2540)
rmnbrd Mar 26, 2026
7192482
feat(service-access-modal): added "Access info" entry in the service …
TheoGrandin74 Mar 27, 2026
3303d7c
fix(deployment-logs): rendering history by service id not all from th…
RemiBonnet Mar 27, 2026
9ba2f2d
feat(new-nav): add "Terraform arguments" settings page (#2549)
rmnbrd Mar 27, 2026
dae43ac
feat(new-nav): add Terraform variables settings page (#2546)
rmnbrd Mar 27, 2026
148a56b
chore(new-nav): remove ScrollShadowWrapper usage (#2551)
rmnbrd Mar 27, 2026
91c594a
feat(service-avatar): reworking the service-avatar component for visu…
TheoGrandin74 Mar 27, 2026
7883e1d
fix(cluster-header-logs): add additional information (#2550)
RemiBonnet Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
node_modules
!.storybook

# Auto-generated TanStack Router file
apps/console-v5/src/routeTree.gen.ts
4 changes: 2 additions & 2 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ name: Pull request
on:
pull_request:
branches:
- staging
- '**'
jobs:
test-build-and-deploy:
uses: ./.github/workflows/test-build-and-deploy.yml
with:
flow: pull-request
branch: staging
branch: ${{ github.base_ref }}
configuration: staging
project-name: Console V3
environment-name: staging
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/test-build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,9 @@ jobs:
# easier troubleshooting. See more here: https://nx.dev/nx-cloud/set-up/record-commands#recording-non-nx-commands
parallel-commands: |
npx nx-cloud record -- npx nx format:check
# Single line required: nrwl/ci splits by newline and runs each line as a separate parallel command
parallel-commands-on-agents: |
npx nx affected --target=lint --parallel=3
npx nx affected --target=test --parallel=3 --configuration=${{ inputs.configuration }} --ci --coverage --coverageReporters=lcov --silent
npx nx affected --target=build --parallel=3
EXCLUDED_PAGES="$(node -e "const p=JSON.parse(require('child_process').execSync('npx nx show projects --json',{encoding:'utf8'})); process.stdout.write(p.filter(x=>x.startsWith('pages-')).join(','));")"; if [ -n "$EXCLUDED_PAGES" ]; then EXCLUDE_ARG="--exclude=$EXCLUDED_PAGES"; EXCLUDE_TEST_ARG="--exclude=$EXCLUDED_PAGES,console"; echo "Skipping pages projects: $EXCLUDED_PAGES"; else EXCLUDE_ARG=""; EXCLUDE_TEST_ARG="--exclude=console"; fi; if [ "${{ inputs.flow }}" = "pull-request" ]; then npx nx run console-v5:lint && npx nx affected --target=test --parallel=3 --configuration=${{ inputs.configuration }} --ci --coverage --coverageReporters=lcov --silent $EXCLUDE_TEST_ARG && yarn sync-changelog && npx nx run console-v5:build --configuration=development; else npx nx affected --target=lint --parallel=3 $EXCLUDE_ARG && npx nx affected --target=test --parallel=3 --configuration=${{ inputs.configuration }} --ci --coverage --coverageReporters=lcov --silent $EXCLUDE_TEST_ARG && yarn sync-changelog && npx nx affected --target=build --parallel=3 $EXCLUDE_ARG; fi
artifacts-path: |
dist/
coverage/
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,6 @@ Thumbs.db
.nx/workspace-data
.cursor/rules/nx-rules.mdc
.github/instructions/nx.instructions.md

vite.config.*.timestamp*
vitest.config.*.timestamp*
5 changes: 4 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,7 @@

# Symlinked skill directories (cause EISDIR errors in prettier)
.cursor/skills
.claude/skills
.claude/skills

# Auto-generated TanStack Router file
apps/console-v5/src/routeTree.gen.ts
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ RUN --mount=type=cache,target=/root/.yarn \
# Copy source files (use .dockerignore to exclude unnecessary files)
COPY . .

# Build with NX cache mount for faster rebuilds
# Build console-v5 with NX cache mount for faster rebuilds
RUN --mount=type=cache,target=/app/node_modules/.cache/nx \
yarn build
yarn nx build console-v5 --configuration=production

# Bundle static assets with nginx
FROM nginx:1.25-alpine
# Copy built assets from builder
COPY --from=builder /app/dist/apps/* /usr/share/nginx/html
COPY --from=builder /app/dist/apps/console-v5 /usr/share/nginx/html
# Add your nginx.conf
COPY nginx.conf /etc/nginx/conf.d/default.conf
# Expose port
Expand Down
41 changes: 39 additions & 2 deletions __tests__/mocks.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Auth0ProviderOptions } from '@auth0/auth0-react'
import { ComponentType } from 'react'
import type { Auth0ProviderOptions } from '@auth0/auth0-react'
import type { ComponentType } from 'react'
import * as React from 'react'

jest.mock('@auth0/auth0-react', () => ({
Auth0Provider: ({ children }: Auth0ProviderOptions) => children,
Expand All @@ -16,6 +17,42 @@ jest.mock('@auth0/auth0-react', () => ({
},
}))

jest.mock('@tanstack/react-router', () => {
const React = jest.requireActual('react')
const navigateMock = jest.fn()
return {
...jest.requireActual('@tanstack/react-router'),
useParams: jest.fn(() => ({
organizationId: '',
projectId: '',
environmentId: '',
serviceId: '',
clusterId: '',
applicationId: '',
databaseId: '',
})),
useNavigate: jest.fn(() => navigateMock),
useLocation: jest.fn(() => ({
pathname: '/',
search: '',
})),
useRouter: jest.fn(() => ({
buildLocation: jest.fn(() => ({
href: '/',
})),
})),
useMatches: jest.fn(() => []),
useSearch: jest.fn(() => ({})),
useMatchRoute: jest.fn(() => () => false),
Link: React.forwardRef(
(
{ children, ...props }: { children?: React.ReactNode; [key: string]: unknown },
ref: React.Ref<HTMLAnchorElement>
) => React.createElement('a', { ref, ...props }, children)
),
}
})

jest.mock('@uidotdev/usehooks', () => ({
useDocumentTitle: jest.fn(),
useClickAway: jest.fn(),
Expand Down
18 changes: 18 additions & 0 deletions apps/console-v5/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"extends": ["plugin:@nx/react", "../../.eslintrc.json"],
"ignorePatterns": ["!**/*", "**/vite.config.*.timestamp*", "**/vitest.config.*.timestamp*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
}
]
}
15 changes: 15 additions & 0 deletions apps/console-v5/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Console</title>
<base href="/" />

<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
</head>
<body class="bg-background text-neutral">
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
15 changes: 15 additions & 0 deletions apps/console-v5/postcss.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const { join } = require('path')

// Note: If you use library-specific PostCSS/Tailwind configuration then you should remove the `postcssConfig` build
// option from your application's configuration (i.e. project.json).
//
// See: https://nx.dev/guides/using-tailwind-css-in-react#step-4:-applying-configuration-to-libraries

module.exports = {
plugins: {
tailwindcss: {
config: join(__dirname, 'tailwind.config.js'),
},
autoprefixer: {},
},
}
66 changes: 66 additions & 0 deletions apps/console-v5/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"name": "console-v5",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "/apps/console-v5/src",
"projectType": "application",
"tags": [],
"targets": {
"build": {
"executor": "@nx/vite:build",
"outputs": ["{options.outputPath}"],
"defaultConfiguration": "production",
"options": {
"outputPath": "dist/apps/console-v5"
},
"configurations": {
"development": {
"mode": "development"
},
"production": {
"mode": "production"
}
}
},
"serve": {
"executor": "@nx/vite:dev-server",
"defaultConfiguration": "development",
"options": {
"buildTarget": "console-v5:build"
},
"configurations": {
"development": {
"buildTarget": "console-v5:build:development",
"hmr": true
},
"production": {
"buildTarget": "console-v5:build:production",
"hmr": false
}
}
},
"preview": {
"dependsOn": ["build"],
"executor": "@nx/vite:preview-server",
"defaultConfiguration": "development",
"options": {
"buildTarget": "console-v5:build"
},
"configurations": {
"development": {
"buildTarget": "console-v5:build:development"
},
"production": {
"buildTarget": "console-v5:build:production"
}
}
},
"serve-static": {
"executor": "@nx/web:file-server",
"dependsOn": ["build"],
"options": {
"buildTarget": "console-v5:build",
"spa": true
}
}
}
}
8 changes: 8 additions & 0 deletions apps/console-v5/public/changelog/latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[
{
"name": "Qovery Changelogs",
"summary": "We're super excited to announce new features and improvements: NGINX Ingress migration update, Road to Kubernetes 1.34 and 1.35, Terraform improvements",
"url": "https://www.qovery.com/changelog/2026-03-11",
"firstPublishedAt": "2026-03-11T00:00:00.000Z"
}
]
Binary file added apps/console-v5/public/favicon.ico
Binary file not shown.
Loading