Skip to content

Feat/navbar external services - #213

Open
martimgil wants to merge 3 commits into
mainfrom
feat/navbar-external-services
Open

Feat/navbar external services#213
martimgil wants to merge 3 commits into
mainfrom
feat/navbar-external-services

Conversation

@martimgil

Copy link
Copy Markdown
Member

This pull request updates the NEI Platform to reflect that the Rally Tascas and Gamification features are no longer embedded platform extensions, but instead are managed as independent, external services. The documentation, configuration, and frontend have all been updated to remove Rally as an embedded extension and to support linking to these services externally via environment variables. Additionally, a new frontend hook has been added to check the health of these external services and display their status in the navigation bar.

Key changes include:

Documentation and Extension Management Updates:

  • Updated EXTENSIONS.md and related documentation to remove Rally as an embedded extension, clarify that it is now an external service, and update all examples and instructions to reference only the Gala extension as an embeddable extension. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

Configuration and Environment Variables:

  • Updated compose.yml and web-nei/.env to add environment variables for enabling/disabling Rally and Gamification as external services, and for specifying their public URLs. [1] [2]
  • Updated frontend config (web-nei/src/config/index.jsx) to read these environment variables and expose them to the app.

Frontend Navigation and Health Checking:

  • Removed Rally from the embedded extension navigation logic and instead added logic to display Rally and Gamification as external links in the navbar, controlled by the new environment variables. [1] [2] [3] [4]
  • Added a new hook, useServiceHealth, to probe and display the online status of external services in the navigation bar. [1] [2] [3]

Code Cleanup:

  • Removed legacy/unused routes and navigation data related to Rally as an embedded extension.

These changes ensure that Rally and Gamification are now treated as independent services, decoupled from the platform extension system, and can be linked and monitored via configuration.

…ervices

Rally moved off the platform into a standalone project
(Platform-rally-extension) and Gamification (nei-gamification-system) was
never wired into the navbar. Both are now shown as plain-text nav items,
env-gated, with a lightweight health probe that disables the link (opacity,
non-clickable) when the service is unreachable instead of hiding it -
avoids false negatives from network/CORS blips.

- web-nei: new useServiceHealth hook, wired into Navbar for Rally (single
  target) and Gamification (web + api-game/api-shop/api-chat, since it's a
  microservice architecture)
- web-nei/config: WEB_RALLY_URL now comes from VITE_RALLY_URL instead of
  the dead in-cluster ${BASE_URL}/rally path; new VITE_GAMIFICATION_URL/
  VITE_ENABLE_GAMIFICATION
- Remove dead Rally extension remnants left over from the extraction:
  untracked extensions/rally/ clone, orphaned .git/modules/extensions/rally
  worktree data, stale Rally sections in EXTENSIONS.md and
  dev/proxy/README.md, stale docstring example in extension_scopes.py, dead
  specialData block and commented route in web-nei
- .gitignore: also ignore leftover rally worktree-session clones
Copilot AI lite review requested due to automatic review settings August 26, 2026 17:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants