Git Product home page Git Product logo

adop-ldap's Introduction

#Supported tags and respective Dockerfile links

What is adop-ldap?

adop-ldap is a wrapper for the dinkel/openldap image. It has primarily been built to perform extended configuration. OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol.

How to use this image

The easiest way to run adop-ldap image is as follow:

docker run --name <your-container-name> -d -p 389:389 accenture/adop-ldap:VERSION

Runtime configuration can be provided using environment variables:

  • SLAPD_PASSWORD, the LDAP admin password. Default to Jpk66g63ZifGYIcShSGM
  • SLAPD_DOMAIN, the LDAP domain. Default to ldap.example.com
  • SLAPD_FULL_DOMAIN, the LDAP BASE_DN. Default to dc=ldap,dc=example,dc=com
  • INITIAL_ADMIN_USER, the initial LDAP user name with administrator rights
  • INITIAL_ADMIN_PASSWORD, the password for the initial administrator user
  • SLAPD_ADDITIONAL_SCHEMAS, loads additional schemas provided in the slapd package that are not installed using the environment variable with comma-separated enties. As of writing these instructions, there are the following additional schemas available: collective, corba, duaconf, dyngroup, java, misc, openldap, pmi and ppolicy.
  • SLAPD_ADDITIONAL_MODULES, comma-separated list of modules to load. It will try to run .ldif files with a corresponsing name from the module directory. Currently only memberof and ppolicy are avaliable.
  • SLAPD_PPOLICY_DN_PREFIX - (defaults to cn=default,ou=policies) sets the dn prefix used in modules/ppolicy.ldif for the olcPPolicyDefault attribute. The value used for olcPPolicyDefault is derived from $SLAPD_PPOLICY_DN_PREFIX,(dc component parts from $SLAPD_DOMAIN).
  • SLAPD_LDIF_BASE, the base directory where from ldifs can be loaded. Default to "/var/tmp/ldifs".
  • SLAPD_LOAD_LDIFS, comma-separated list of ldifs you want to load from ldifs base. This will assume that ldifs are available in SLAPD_LDIF_BASE.

LDAP Password Policy

This image enforces password policies for ldap users to include password ageing and failures. There are two policies added in this image -

  • default : Default policy is applied to all the accounts which haven't got pwdPolicySubentry operational attribute.
  • service-users : This policy is applied to service accounts like Jenkins, GitLab and Nexus.

Note : Password policies also include the password complexity using password checker module and following rules are applied -

  • Minimum length: 9
  • Maximum length: no limit
  • Minimum number of lowercase characters: 6
  • Minimum number of uppercase characters: 1
  • Minimum number of digits: 1
  • Minimum number of punctuations: 1
  • Your new password can not be the same as your old password

License

Please view licence information for the software contained on this image.

#Supported Docker versions

This image is officially supported on Docker version 1.9.1. Support for older versions (down to 1.6) is provided on a best-effort basis.

User feedback

Documentation

Documentation for this image is available in the SLAPD documenation page. Additional documentaion can be found under the docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository's README.md file before attempting a pull request.

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

Contribute

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

adop-ldap's People

Contributors

dantarl avatar dsingh07 avatar nickdgriffin avatar quirinobrizi avatar robertnorthard avatar sachinksingh28 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adop-ldap's Issues

Instruction to run the ldap image doesn't work without SLAPD_PASSWORD password

Steps to replicate the issue -

Run below command -
docker run -d --name ldap -p 389:389 accenture/adop-ldap:0.2.0

Output of the docker logs command -

Error: Container not configured and SLAPD_PASSWORD not set. Did you forget to add -e SLAPD_PASSWORD=... ?

I believe we should update the instructions to make it clear that SLAPD_PASSWORD is a mandatory parameter.

Admin user has insufficient rights

Apologies if this a newbie issue but I've started the container up using the following parameters:

docker run --name adop-ldap -p 389:389 -e INITIAL_ADMIN_PASSWORD=UGFzc3dvcmQx -e INITIAL_ADMIN_USER=admin.user -e SLAPD_PASSWORD=Jpk66g63ZifGYIcShSGM -e SLAPD_LDIF_BASE="/var/tmp/ldifs" accenture/adop-ldap

While this starts the container, appears to load the sample ldif file and I can log in both anonymously and using the admin account cn=admin.user,ou=people,dc=ldap,dc=example,dc=com, when I do log in using the admin account, it has no rights do do anything.

Accepting I might be doing something completely wrong, could you suggest what I might be doing to cause the issue and point me in the right direction?

many thanks
Tom

accept unencoded passwords

currently adop-ldap expects base64 passwords, which is nowhere documented. This is confusing for users and leads to something like this:

# echo -n adop | base64
INITIAL_ADMIN_PASSWORD: YWRvcA==
# echo -n jenkins | base64
JENKINS_PASSWORD: amVua2lucw==
# echo -n gerrit | base64
GERRIT_PASSWORD: Z2Vycml0

Instead, adop-ldap should accept cleartext passwords and do the base64 encoding in entrypoint.sh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.