{"id":37427159,"url":"https://github.com/canonical/ldap-integrator","last_synced_at":"2026-02-20T12:01:13.410Z","repository":{"id":255349496,"uuid":"849307890","full_name":"canonical/ldap-integrator","owner":"canonical","description":"A Charmed Integrator used to configure an ldap client charm to use an external ldap service.","archived":false,"fork":false,"pushed_at":"2026-02-13T03:44:51.000Z","size":401,"stargazers_count":0,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-13T12:05:59.230Z","etag":null,"topics":["charm","identity-platform","ldap","python"],"latest_commit_sha":null,"homepage":"https://github.com/canonical/ldap-integrator","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/canonical.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-29T11:12:35.000Z","updated_at":"2026-02-13T03:44:22.000Z","dependencies_parsed_at":"2026-02-20T12:00:42.070Z","dependency_job_id":null,"html_url":"https://github.com/canonical/ldap-integrator","commit_stats":null,"previous_names":["canonical/ldap-integrator"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/canonical/ldap-integrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fldap-integrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fldap-integrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fldap-integrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fldap-integrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/canonical","download_url":"https://codeload.github.com/canonical/ldap-integrator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fldap-integrator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29650503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T09:27:29.698Z","status":"ssl_error","status_checked_at":"2026-02-20T09:26:12.373Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charm","identity-platform","ldap","python"],"created_at":"2026-01-16T06:21:18.892Z","updated_at":"2026-02-20T12:01:13.306Z","avatar_url":"https://github.com/canonical.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ldap-integrator\n\n[![CharmHub Badge](https://charmhub.io/ldap-integrator/badge.svg)](https://charmhub.io/ldap-integrator)\n[![Juju](https://img.shields.io/badge/Juju%20-3.0+-%23E95420)](https://github.com/juju/juju)\n[![License](https://img.shields.io/github/license/canonical/ldap-integrator?label=License)](https://github.com/canonical/ldap-integrator/blob/main/LICENSE)\n\n[![Continuous Integration Status](https://github.com/canonical/ldap-integrator/actions/workflows/on_push.yaml/badge.svg?branch=main)](https://github.com/canonical/ldap-integrator/actions?query=branch%3Amain)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196.svg)](https://conventionalcommits.org)\n\n## Description\n\nThis charm is an integrator for external LDAP services. It enables client\ncharms to connect to and authenticate with existing LDAP servers by providing\nthe necessary LDAP configuration data through Juju integrations.\nThe LDAP integrator acts as a bridge between your Juju-managed applications\nand external LDAP infrastructure.\n\n## Usage\n\nIn this section we are going to deploy the\n[glauth operator](https://charmhub.io/glauth-k8s) and use the ldap integrator\nto connect it to an existing LDAP server.\n\n### Prerequisites\n\nYou will need:\n\n- A juju deployment\n- An existing LDAP server of your choice and you will need a bind_dn + password\n  for glauth to use\n\n### Deployment\n\nFirst you will need to deploy the charms:\n\n```console\njuju deploy glauth-k8s --channel edge --trust\njuju deploy ldap-integrator --channel edge --trust\njuju deploy self-signed-certificates --channel stable --trust\n```\n\n### Configuration\n\nNow that we have deployed our charms, we will need to configure ldap-integrator.\n\nFirst we need to create a juju secret with the bind password:\n\n```console\njuju add-secret my-secret password=\u003cbind_password\u003e\n```\n\nNow we need to grant access to the secret to the ldap-integrator:\n\n```console\njuju grant-secret my-secret ldap-integrator\n```\n\nThen you will have to configure the ldap-integrator, eg:\n\n```console\njuju config ldap-integrator urls=ldap://path/to/somewhere base_dn=dc=glauth,dc=com bind_dn=cn=user,ou=group,dc=glauth,dc=com bind_password=my-secret\n```\n\n**Note:** The `urls` configuration accepts a comma-separated list of LDAP\nserver URLs. This feature is designed to support **high availability (HA)**\nsetups by providing failover capability. Multiple URLs should point to\ndifferent replicas of the same LDAP server infrastructure (e.g., primary\nand backup servers with synchronized data). This is **not** intended for\nconnecting to multiple independent LDAP servers.\n\nNow you can integrate glauth with ldap-integrator:\n\n```console\njuju integrate glauth-k8s ldap-integrator\n```\n\nNow glauth will be proxying all ldap requests to your ldap server.\n\n## Security\n\nPlease see [SECURITY.md](https://github.com/canonical/ldap-integrator/blob/main/SECURITY.md)\nfor guidelines on reporting security issues.\n\n## Contributing\n\nPlease see the [Juju SDK docs](https://juju.is/docs/sdk) for guidelines on\nenhancements to this charm following best practice guidelines,\nand [CONTRIBUTING.md](https://github.com/canonical/ldap-integrator/blob/main/CONTRIBUTING.md)\nfor developer guidance.\n\n## License\n\nThe Charmed LDAP Integrator Operator is free software, distributed\nunder the Apache Software License, version 2.0.\nSee [LICENSE](https://github.com/canonical/ldap-integrator/blob/main/LICENSE)\nfor more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fldap-integrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanonical%2Fldap-integrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fldap-integrator/lists"}