Commit b36f5de2 authored by Dimitrios Gogos's avatar Dimitrios Gogos
Browse files

feat: remove mocks and implement proxy to oeg in bff

parent 169b79ae
Loading
Loading
Loading
Loading
+3 −0
Changes for .env.example: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -10,3 +10,6 @@ OIDC__CLIENT_SECRET="change-me"
# The GUI dev server's address, which proxies /api here, so the login cookies
# belong to the address the browser is on. Keycloak's client must accept it.
OIDC__REDIRECT_URI="http://localhost:3000/api/auth/callback"

# OEG, which the GUI reaches through the portal at /api/oeg/* with the user's token.
OEG__BASE_URL="http://localhost:8080"
+0 −1
Changes for portal-gui/.env.development: 0 added lines, 1 removed line.
Original line number Diff line number Diff line
VITE_API_MODE=mock
VITE_PORTAL_BACKEND_URL=http://127.0.0.1:8000

portal-gui/.env.production

deleted100644 → 0
+0 −2
Changes for portal-gui/.env.production: 0 added lines, 2 removed lines.
Original line number Diff line number Diff line
VITE_OEG_SERVICE_URL=http://127.0.0.1:8080
VITE_API_MODE=real
+10 −17
Changes for portal-gui/README.md: 10 added lines, 17 removed lines.
Original line number Diff line number Diff line
@@ -33,20 +33,22 @@ See what is actually running on the cluster right now:

## Local development

**Prerequisites:** Node 20+, a running OEG reachable at `http://localhost:32263`.
The GUI talks only to the portal backend (`/api/...`), which forwards OEG calls with
the user's token. Run both from the repository root — see the root README:

```bash
cd portal/portal-gui
npm install --legacy-peer-deps   # install dependencies
npm run dev                      # dev server at http://localhost:3000
npm run build                    # production build
npm run lint                     # ESLint
make dev    # backend on :8000, GUI on :3000
```

Set `OEG_SERVICE_URL` to point at a non-default OEG endpoint:
Set OEG's address in the backend's `.env` (`OEG__BASE_URL`), not in the GUI.

GUI-only commands, from `portal-gui/`:

```bash
OEG_SERVICE_URL=http://my-oeg:32263/oeg/1.0.0 npm run dev
npm ci               # install dependencies
npm run lint         # ESLint
npm run typecheck    # TypeScript
npm run build        # production build
```

### Possible issues - troubleshooting
@@ -60,15 +62,6 @@ npm install @dnd-kit/core @dnd-kit/modifiers @dnd-kit/sortable @dnd-kit/utilitie

---

## Docker

```bash
docker build -t portal:0.1.0 .
docker run -p 3000:3000 \
  -e OEG_SERVICE_URL=http://host.docker.internal:32263/oeg/1.0.0 \
  portal:0.1.0
```

## Helm (kind cluster)

The portal is shipped as a sub-chart inside `helm/oop-platform-chart`. It is deployed automatically when you install the platform chart:
+3 −3
Changes for portal-gui/src/app/config/api.ts: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
// The portal backend forwards /api/oeg/* to OEG, with the user's token.
export const oeg = {
  baseUrl: '/oeg',
  jsonUrl: '/oeg-openapi',
  portalUrl: '/api/proxy',
  baseUrl: '/api/oeg/edge-application-management/vwip',
  jsonUrl: '/api/oeg/openapi.json',
};

export const OEGpaths = {
Loading