Adding LDAP support for Keystone charm
[osm/devops.git] / docker / Keystone / Dockerfile
index 2030aa5..8525cb5 100644 (file)
@@ -1,3 +1,21 @@
+# Copyright 2018 Whitestack, LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact: esousa@whitestack.com or glavado@whitestack.com
+##
+
 FROM ubuntu:16.04
 
 LABEL Maintainer="esousa@whitestack.com" \
@@ -15,9 +33,11 @@ RUN apt-get update && \
     apt-get upgrade -y && \
     apt-get autoremove -y && \
     apt-get install -y software-properties-common && \
-    add-apt-repository -y cloud-archive:queens && \
+    add-apt-repository -y cloud-archive:pike && \
     apt-get update && apt dist-upgrade -y && \
-    apt-get install -y python-openstackclient keystone apache2 libapache2-mod-wsgi net-tools mysql-client && \
+    apt-get install -y python-openstackclient keystone apache2 libapache2-mod-wsgi net-tools mysql-client dnsutils && \
+    apt-get install -y python-pip build-essential python-dev libldap2-dev libsasl2-dev libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev ldap-utils && \
+    pip install python-ldap ldappool && \
     rm -rf /var/lib/apt/lists/* && \
     chmod +x start.sh
 
@@ -26,9 +46,35 @@ ENV DB_HOST                 keystone-db
 ENV DB_PORT                 3306
 ENV ROOT_DB_USER            root
 ENV ROOT_DB_PASSWORD        admin
-# keystone
 ENV KEYSTONE_DB_PASSWORD    admin
+# keystone
+ENV REGION_ID               RegionOne
+ENV KEYSTONE_HOST           keystone
+# admin user
+ENV ADMIN_USERNAME          admin
 ENV ADMIN_PASSWORD          admin
-ENV NBI_PASSWORD            nbi
+ENV ADMIN_PROJECT           admin
+# nbi service user
+ENV SERVICE_USERNAME        nbi
+ENV SERVICE_PASSWORD        nbi
+ENV SERVICE_PROJECT         service
+# ldap
+# ENV LDAP_AUTHENTICATION_DOMAIN_NAME     no default
+# ENV LDAP_URL                            ldap://localhost
+# ENV LDAP_BIND_USER                      no default
+# ENV LDAP_BIND_PASSWORD                  no default
+# ENV LDAP_USER_TREE_DN                   no default
+# ENV LDAP_USER_OBJECTCLASS               inetOrgPerson
+# ENV LDAP_USER_ID_ATTRIBUTE              cn
+# ENV LDAP_USER_NAME_ATTRIBUTE            sn
+# ENV LDAP_USER_PASS_ATTRIBUTE            userPassword
+# ENV LDAP_USER_FILTER                    no default
+# ENV LDAP_USER_ENABLED_ATTRIBUTE         enabled
+# ENV LDAP_USER_ENABLED_MASK              0
+# ENV LDAP_USER_ENABLED_DEFAULT           true
+# ENV LDAP_USER_ENABLED_INVERT            false
+# ENV LDAP_USE_STARTTLS                   false
+# ENV LDAP_TLS_CACERT_BASE64              no default
+# ENV LDAP_TLS_REQ_CERT                   demand
 
 ENTRYPOINT ./start.sh