Conventions used below
<keep-host>– public FQDN where users access Keep (e.g.keep.example.com)<gitlab-host>– URL of your GitLab instance (e.g.gitlab.example.com)<registry-host>– container registry that stores images (omit if you use the public images)- Kubernetes namespace
keep– feel free to change it everywhere if you prefer another namespace.
1. Prerequisites
2. Create the GitLab OAuth application
- GitLab ▸ Admin → Applications → New
- Name →
keep‑sso - Redirect URI →
https://<keep-host>/oauth2/callback - Scopes →
openid profile email(+read_apiif you plan to gate access by group/project) - Save – copy the generated Application ID and Secret.
3. Kubernetes secrets & config
4. Deploy oauth2‑proxy (Helm)
ssl-insecure-skip-verify: "true" under extraArgs.
5. Patch (or create) Keep’s Ingress resource
Add three annotations so ingress‑nginx delegates auth to the Service:6. Environment variables for Keep
7. Quick validation
https://<keep-host>→ redirect to GitLab → sign in → return to Keep.- DevTools ▸ Network →
/api/auth/sessionreturns 200.

