78 lines
1.7 KiB
Markdown
78 lines
1.7 KiB
Markdown
# ldap
|
|
|
|
## Name
|
|
|
|
_ldap_ - serves a zone from a ldap backend.
|
|
|
|
## Description
|
|
|
|
The ldap plugin resolves A, AAAA y PTR RR from a ldap backend. To reduce load on
|
|
the backend, you can enable cache by configuring `cacheTimeout=30m`.
|
|
|
|
## Compilation
|
|
|
|
This package will always be compiled as part of CoreDNS and not in a standalone
|
|
way. It will require you to use `go get` or as a dependency on
|
|
[plugin.cfg](https://github.com/coredns/coredns/blob/master/plugin.cfg).
|
|
|
|
The [manual](https://coredns.io/manual/toc/#what-is-coredns) will have more
|
|
information about how to configure and extend the server with external plugins.
|
|
|
|
A simple way to consume this plugin, is by adding the following on
|
|
[plugin.cfg](https://github.com/coredns/coredns/blob/master/plugin.cfg), and
|
|
recompile it as
|
|
[detailed on coredns.io](https://coredns.io/2017/07/25/compile-time-enabling-or-disabling-plugins/#build-with-compile-time-configuration-file).
|
|
|
|
```
|
|
ldap:github.com/xoe-labs/ldap
|
|
```
|
|
|
|
After this you can compile coredns by:
|
|
|
|
```shell script
|
|
go generate
|
|
go build
|
|
```
|
|
|
|
Or you can instead use make:
|
|
|
|
```shell script
|
|
make
|
|
```
|
|
|
|
## Syntax
|
|
|
|
```txt
|
|
ldap
|
|
```
|
|
|
|
## Metrics
|
|
|
|
If monitoring is enabled (via the _prometheus_ directive) the following metric
|
|
is exported:
|
|
|
|
- `coredns_ldap_request_count_total{server}` - query count to the _ldap_ plugin.
|
|
|
|
The `server` label indicated which server handled the request, see the _metrics_
|
|
plugin for details.
|
|
|
|
## Ready
|
|
|
|
This plugin reports readiness to the ready plugin. It will be immediately ready.
|
|
|
|
## Examples
|
|
|
|
In this configuration, we forward all queries to 9.9.9.9 and print "ldap"
|
|
whenever we receive a query.
|
|
|
|
```corefile
|
|
. {
|
|
forward . 9.9.9.9
|
|
ldap
|
|
}
|
|
```
|
|
|
|
## Also See
|
|
|
|
See the [manual](https://coredns.io/manual).
|