From 04c58d4022bd94c1d47bbe485d64e472c93d0a22 Mon Sep 17 00:00:00 2001 From: "Miguel A. Cabrera Minagorri" Date: Thu, 26 Sep 2019 07:42:23 +0000 Subject: [PATCH] [bitnami/grafana] Add LDAP documentation to README.md --- bitnami/grafana/Chart.yaml | 2 +- bitnami/grafana/README.md | 64 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/bitnami/grafana/Chart.yaml b/bitnami/grafana/Chart.yaml index d116259b60..1b20057c60 100644 --- a/bitnami/grafana/Chart.yaml +++ b/bitnami/grafana/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: grafana -version: 0.0.2 +version: 0.0.3 appVersion: "6.3.3" description: Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. keywords: diff --git a/bitnami/grafana/README.md b/bitnami/grafana/README.md index 935b189fe0..cf3b0036f8 100644 --- a/bitnami/grafana/README.md +++ b/bitnami/grafana/README.md @@ -174,6 +174,70 @@ $ helm install --name my-release -f ./values-production.yaml bitnami/grafana + ingress.enabled: true ``` +### LDAP configuration +To enable LDAP authentication it is needed to provide a ConfigMap with the Grafana LDAP configuration file. For instance: + +**configmap.yaml**: +``` +apiVersion: v1 +kind: ConfigMap +metadata: + name: ldap-config +data: + ldap.toml: |- + [[servers]] + # Ldap server host (specify multiple hosts space separated) + host = "ldap" + # Default port is 389 or 636 if use_ssl = true + port = 389 + # Set to true if ldap server supports TLS + use_ssl = false + # Set to true if connect ldap server with STARTTLS pattern (create connection in insecure, then upgrade to secure connection with TLS) + start_tls = false + # set to true if you want to skip ssl cert validation + ssl_skip_verify = false + # set to the path to your root CA certificate or leave unset to use system defaults + # root_ca_cert = "/path/to/certificate.crt" + # Authentication against LDAP servers requiring client certificates + # client_cert = "/path/to/client.crt" + # client_key = "/path/to/client.key" + + # Search user bind dn + bind_dn = "cn=admin,dc=example,dc=org" + # Search user bind password + # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" + bind_password = 'admin' + + # User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)" + # Allow login from email or username, example "(|(sAMAccountName=%s)(userPrincipalName=%s))" + search_filter = "(uid=%s)" + + # An array of base dns to search through + search_base_dns = ["ou=People,dc=support,dc=example,dc=org"] + + # group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))" + # group_search_filter_user_attribute = "distinguishedName" + # group_search_base_dns = ["ou=groups,dc=grafana,dc=org"] + + # Specify names of the ldap attributes your ldap uses + [servers.attributes] + name = "givenName" + surname = "sn" + username = "cn" + member_of = "memberOf" + email = "email" +``` + +Create the ConfigMap into the cluster: +```bash +$ kubectl create -f configmap.yaml +``` + +And deploy the Grafana Helm Chart using the existing ConfigMap: +```bash +$ helm install bitnami/grafana --set ldap.enabled=true,ldap.configMapName=ldap-config,ldap.allowSignUp=true +``` + ### Supporting HA (High Availability) To support HA Grafana just need an external database where store dashboards, users and other persistent data.