Adding LDAP support for Keystone charm
[osm/devops.git] / docker / Keystone / Dockerfile
1 # Copyright 2018 Whitestack, LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
4 # not use this file except in compliance with the License. You may obtain
5 # a copy of the License at
6 #
7 #         http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 # License for the specific language governing permissions and limitations
13 # under the License.
14 #
15 # For those usages not covered by the Apache License, Version 2.0 please
16 # contact: esousa@whitestack.com or glavado@whitestack.com
17 ##
18
19 FROM ubuntu:16.04
20
21 LABEL Maintainer="esousa@whitestack.com" \
22       Description="Openstack Keystone Instance" \
23       Version="1.0" \
24       Author="Eduardo Sousa"
25
26 EXPOSE 5000
27
28 WORKDIR /keystone
29
30 COPY scripts/start.sh /keystone/start.sh
31
32 RUN apt-get update && \
33     apt-get upgrade -y && \
34     apt-get autoremove -y && \
35     apt-get install -y software-properties-common && \
36     add-apt-repository -y cloud-archive:pike && \
37     apt-get update && apt dist-upgrade -y && \
38     apt-get install -y python-openstackclient keystone apache2 libapache2-mod-wsgi net-tools mysql-client dnsutils && \
39     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 && \
40     pip install python-ldap ldappool && \
41     rm -rf /var/lib/apt/lists/* && \
42     chmod +x start.sh
43
44 # database
45 ENV DB_HOST                 keystone-db
46 ENV DB_PORT                 3306
47 ENV ROOT_DB_USER            root
48 ENV ROOT_DB_PASSWORD        admin
49 ENV KEYSTONE_DB_PASSWORD    admin
50 # keystone
51 ENV REGION_ID               RegionOne
52 ENV KEYSTONE_HOST           keystone
53 # admin user
54 ENV ADMIN_USERNAME          admin
55 ENV ADMIN_PASSWORD          admin
56 ENV ADMIN_PROJECT           admin
57 # nbi service user
58 ENV SERVICE_USERNAME        nbi
59 ENV SERVICE_PASSWORD        nbi
60 ENV SERVICE_PROJECT         service
61 # ldap
62 # ENV LDAP_AUTHENTICATION_DOMAIN_NAME     no default
63 # ENV LDAP_URL                            ldap://localhost
64 # ENV LDAP_BIND_USER                      no default
65 # ENV LDAP_BIND_PASSWORD                  no default
66 # ENV LDAP_USER_TREE_DN                   no default
67 # ENV LDAP_USER_OBJECTCLASS               inetOrgPerson
68 # ENV LDAP_USER_ID_ATTRIBUTE              cn
69 # ENV LDAP_USER_NAME_ATTRIBUTE            sn
70 # ENV LDAP_USER_PASS_ATTRIBUTE            userPassword
71 # ENV LDAP_USER_FILTER                    no default
72 # ENV LDAP_USER_ENABLED_ATTRIBUTE         enabled
73 # ENV LDAP_USER_ENABLED_MASK              0
74 # ENV LDAP_USER_ENABLED_DEFAULT           true
75 # ENV LDAP_USER_ENABLED_INVERT            false
76 # ENV LDAP_USE_STARTTLS                   false
77 # ENV LDAP_TLS_CACERT_BASE64              no default
78 # ENV LDAP_TLS_REQ_CERT                   demand
79
80 ENTRYPOINT ./start.sh