Skip to content

Conversation

@danciaclara
Copy link
Collaborator

@danciaclara danciaclara commented Jan 20, 2026

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Screenshots and Media (if applicable)

Test Scenarios

References

Summary by CodeRabbit

  • Documentation
    • Added LDAP authentication guide for self-hosted governance with setup steps, examples, and validation.
    • Added Enterprise (instance) and Pro/Business (workspace) license activation guides, including sync and delink workflows and illustrations.
    • Updated multiple self-hosting guides to point to the new license activation pages and removed a few obsolete images.
  • Chore
    • Updated self-hosting navigation to surface an LDAP page and a new "Manage licenses" group.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Jan 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
developer-docs Error Error Jan 20, 2026 5:05pm

Request Review

@coderabbitai
Copy link

coderabbitai bot commented Jan 20, 2026

📝 Walkthrough

Walkthrough

Added navigation entries and documentation: a new LDAP authentication guide and a "Manage licenses" group with Enterprise and Pro/Business activation guides; updated self-hosting docs to point to the new license pages and removed a few image embeds.

Changes

Cohort / File(s) Summary
Navigation configuration
mint.json
Added self-hosting/govern/ldap to Configure > Authentication; added "Manage licenses" group under Manage with pages self-hosting/manage/manage-licenses/activate-pro-and-business and self-hosting/manage/manage-licenses/activate-enterprise.
LDAP documentation
self-hosting/govern/ldap.mdx
New LDAP auth guide covering prerequisites, server connection (URI, Bind DN, password), search/filter, attribute mapping, AD/OpenLDAP examples, two-phase bind flow, validation, and login behavior.
License activation guides
self-hosting/manage/manage-licenses/activate-enterprise.mdx, self-hosting/manage/manage-licenses/activate-pro-and-business.mdx
New guides: Enterprise (instance/God Mode) and Pro/Business (workspace) activation; includes sync and delink workflows and illustrative images.
Link updates across self-hosting guides
self-hosting/manage/migrate-plane.mdx, self-hosting/methods/...
self-hosting/troubleshoot/license-errors.mdx
Replaced external license-activation links with internal self-hosting paths pointing to the new Manage licenses pages.
Content cleanup
self-hosting/govern/integrations/sentry.mdx
Removed three obsolete image embed lines.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor User
    participant Plane as Plane app
    participant LDAP as LDAP server
    participant DB as Plane DB

    User->>Plane: Click "Sign in with LDAP"
    Plane->>LDAP: Bind with service account (Bind DN + password)
    LDAP-->>Plane: Bind success
    Plane->>LDAP: Search for user (base DN + filter)
    LDAP-->>Plane: Return user entry + attributes
    Plane->>LDAP: Optional: Bind as user to verify credentials
    LDAP-->>Plane: Authentication result
    Plane->>DB: Create/update user profile & roles
    DB-->>Plane: Persisted
    Plane-->>User: Establish session / show UI
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I nibble docs in moonlit rows, a tiny dev-hop cheer,
LDAP leaves rustle, license keys appear,
Pages planted, links reroute the trail,
Images trimmed and new guides set sail,
A rabbit's hop—merge done, hooray! 🐇

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: adding LDAP authentication documentation and Enterprise plan activation instructions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In `@self-hosting/govern/ldap.mdx`:
- Around line 171-172: Fix the run-on by splitting into clearer sentences or
using punctuation: change the clause to something like "This is why you
configure a Bind DN and password: it's Plane's identity on your LDAP server."
and ensure the following sentence reads "The Bind DN only needs read access
because Plane is just looking up information, never modifying your directory."
Update the phrasing around "Bind DN and password" and "Plane's identity" to
reflect this punctuation change.
- Around line 193-198: The two example filter lines `(mail={username})` and
`(|(uid={username})(mail={username}))` are missing Markdown list markers; update
the LDAP doc block around the User Search Filter examples so each example is a
bulleted item (e.g., prefix those lines with `- `) to match the surrounding list
style and preserve formatting for the examples like `(uid={username})` and the
group-restriction example `(&(uid={username})(memberOf=...))`.
- Around line 17-21: The ordered steps in the LDAP setup list in ldap.mdx have a
numbering gap (it goes from "2." to "4."); update the sequence so it reads 1.,
2., 3., 4., 5. (specifically change the item currently labeled "4. Click
**Configure** next to **LDAP** at the bottom of the page." to "3.") to restore
correct step ordering and ensure the list renders properly.

In `@self-hosting/manage/manage-licenses/activate-enterprise.mdx`:
- Around line 14-19: The numbered steps under the "Activate in God Mode" heading
have a discontinuity (steps go 1,2,3,6); update the list so the final step reads
"4. Click **Activate**." and, to match document hierarchy, change the "Activate
in God Mode" heading from H3 (###) to H2 (##) or make it a continuation of the
previous workflow heading; adjust the heading level in the file and fix the list
numbering in the block containing "Activate in God Mode" and the items "Sign in
to your Plane instance...", "Select **Billing**...", "Paste your license
key...", and "Click **Activate**."
🧹 Nitpick comments (2)
self-hosting/manage/manage-licenses/activate-pro-and-business.mdx (1)

57-57: Consider using a relative link for internal documentation.

The link to the migration documentation uses an absolute URL (https://developers.plane.so/...). If this is within the same documentation site, a relative link would be more maintainable and work across environments (preview, staging, production).

Suggested change
-4. If you're switching machines or reinstalling the Commercial edition, see [Move Plane instance to another server](https://developers.plane.so/self-hosting/manage/migrate-plane).
+4. If you're switching machines or reinstalling the Commercial edition, see [Move Plane instance to another server](/self-hosting/manage/migrate-plane).
self-hosting/govern/ldap.mdx (1)

143-152: Consider noting security implications of unencrypted LDAP.

The OpenLDAP example uses ldap:// (unencrypted) on port 389, while the Active Directory and FreeIPA examples use ldaps:// (encrypted). Consider adding a note that ldaps:// is recommended for production, or updating the example to use encryption.

Suggested change
 ### OpenLDAP

-Server URI: ldap://ldap.example.com:389
+Server URI: ldaps://ldap.example.com:636
Bind DN: cn=readonly,dc=example,dc=com
Bind Password: ********
User Search Base: ou=users,dc=example,dc=com


Alternatively, keep the example but add a note:
```diff
 ### OpenLDAP
+> **Note:** This example uses an unencrypted connection for simplicity. For production, use `ldaps://` on port 636.

Server URI: ldap://ldap.example.com:389

</details>

</blockquote></details>

</blockquote></details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@sriramveeraghanta sriramveeraghanta merged commit 4932bba into preview Jan 20, 2026
3 of 5 checks passed
@sriramveeraghanta sriramveeraghanta deleted the ldap-configuration branch January 20, 2026 17:11
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.

4 participants