Serve a landing page at the base domain that links to every user-facing service
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- authentication, frontend, infrastructure
Research direction
Start with ADR 0013 and the #176 perimeter, then inspect the shared.access.routes contract and the platform phase’s static serving setup. Define shared/portal, derive its page from enabled user-facing routes, and clarify the remaining checklist items: exclude the portal link, specify the identity link, add shared services, and update #182 step 2. Done when the open acceptance criteria are met, including bare-domain certificate coverage and the login and return flows.
Written by the indexing model from the issue text.
Description
Milestone: v0.5-alpha — Identity and Authorization
Roadmap sequence: #183 (revised 2026-10-05)
Context
ADR 0013 gives every user-facing service its own host (https://<service>.<stage>.<base_domain>), but nothing answers at https://<base_domain> itself. A user has to know every host, and step 2 of the #182 walkthrough ("opens the platform's HTTPS URL") has no destination.
This is portal phase 1. Phase 2 (web admin console) and phase 3 (integrated workspace UI) are post-v1; role assignment is done with olf users (#331).
Scope
- A static page at
https://<base_domain>listing theenabled,user-facingroutes ofshared.access.routes, grouped by stage. The list is derived from the contract, never hardcoded. - Served by a minimal static server in the platform phase (the route set is static infrastructure, ADR 0002); its route is added to
shared.accessand ADR 0013. - Behind the #176 perimeter like every other route. Links are not filtered by role in this phase; the perimeter denies what a role cannot open.
Out of scope
- Role-aware filtering, admin actions, embedded service UIs.
Acceptance criteria
-
https://<base_domain>serves the page with a trusted certificate. - It lists exactly the enabled user-facing routes; internal and disabled routes are absent.
- An unauthenticated request is sent to login.
- Completing invitation setup or company SSO returns the member to this page without another credential prompt when opening an authorized service.
- Denied service access has a clear response and a return-to-portal link.
- Define
shared/portal, explicitly support the bare-domain route, and issue a certificate covering the bare domain (a subdomain wildcard alone does not cover it). - Exclude the portal's own link; specify whether the identity route is an account-management link, and provide a shared-services section alongside stages.
- #182 step 2 lands on this page.
- Dominant language
- Python
- Stars
- 26
- Forks
- 6
- Avg merge
- 6h 44m
- Merged PRs (30d)
- 314
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenLakeForge/openlakeforge
-
bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenLakeForge/openlakeforge#498 ·
Maintainers usually reply within 1 day
-
feat(cli): export `olf query` output directly to a filePossibly taken @dbdefault claimed this 11 days ago. Openenhancement good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
OpenLakeForge/openlakeforge#494 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenLakeForge/openlakeforge#488 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
OpenLakeForge/openlakeforge#487 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
OpenLakeForge/openlakeforge#484 ·
Maintainers usually reply within 1 day
All issues in OpenLakeForge/openlakeforge
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
microsoft/markitdown#2820 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
yt-project/yt#5624 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
NousResearch/hermes-agent#148376 ·
Maintainers usually reply within 1 day