Skip to content

feat(ldap): migrate ldap lib#602

Open
natalian98 wants to merge 3 commits into
canonical:mainfrom
natalian98:IAM-2265-migrate-ldap-lib
Open

feat(ldap): migrate ldap lib#602
natalian98 wants to merge 3 commits into
canonical:mainfrom
natalian98:IAM-2265-migrate-ldap-lib

Conversation

@natalian98

Copy link
Copy Markdown
Contributor

This PR migrates the ldap interface library from charmhub into charmlibs.

Library being migrated

  • Charmhub-hosted library:
    • LIBAPI: 0
    • LIBPATCH: 13
    • LIBID: 5a535b3c4d0b40da98e29867128e57b9
  • New charmlibs package: charmlibs.interfaces.ldap

This is an interface library (charmlibs.interfaces.<name>, just init --interface).

Migration status

This is a bug compatible migration of the Charmhub-hosted library, releasing as version 1.0.0.

Package:

  • Package initialised with just init or just init --interface.
  • Code migrated to src/charmlibs/<name>/_<name>.py.
  • Public API exported from __init__.py with __all__.
  • Charmhub lib docstring moved to __init__.py (this is rendered in the docs).
  • Charmhub-hosted LIBAPI and LIBPATCH version documented in the migrated module's docstring.
  • LIBID, LIBAPI, LIBPATCH removed (or retained with a note on why).
  • PYDEPS moved to pyproject.toml dependencies with appropriate constraints.
  • Library version set for release (typically 1.0.0).

Repository metadata:

  • .docs/reference/libs.yaml updated with entries for new and old libs.
  • CODEOWNERS updated with a /<package>/ entry for the owning team.

Tests and docs:

  • Unit tests migrated, plus functional and integration tests as appropriate.
  • Unnecessary files created by just init have been removed (including test_version.py and tests/functional and tests/integration if unused).
  • Diataxis docs (if any) migrated to <package>/docs/.

Interface library specific items

  • Directory name exactly matches the interface name as written in charmcraft.yaml.
  • Interface metadata added (or updated if necessary), or an issue created and tracked to do this as a follow-up task.
  • Testing package added under interfaces/<name>/testing/ exporting relation_for_provider and relation_for_requirer if needed (see how-to guide), or an issue created and tracked to do this as a follow-up task.

Commit strategy

To make review easier, this PR is organized into focused, semantic commits:

• feat: migrate ldap interface: Unified migration of the upstream library. Contains the core scaffolding, verbatim baseline files (library source, tests, and documentation), updated imports, and linter-enforced adjustments in a single coherent step.
• chore: update ldap lib metadata: Registering the package in the monorepo's global configuration indices (interfaces/index.json and .docs/reference/libs.yaml).
• chore: update CODEOWNERS: Registry of monorepo code ownership for the ldap interface directory.

@natalian98
natalian98 force-pushed the IAM-2265-migrate-ldap-lib branch from f984dd5 to 314984e Compare July 17, 2026 14:31
@natalian98
natalian98 marked this pull request as ready for review July 17, 2026 14:35
@natalian98
natalian98 requested review from a team as code owners July 17, 2026 14:35
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.

1 participant