-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile
70 lines (56 loc) · 1.77 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
FROM alpine:3.9
# add user filo
RUN addgroup -g 1000 filo && \
adduser -D -u 1000 -G filo filo
#USER filo
# install packages
RUN apk update && \
apk add --no-cache \
terraform=0.11.8-r0 \
git \
python2 python2-dev py2-pip \
python3 python3-dev py3-pip \
openssh \
go bzr \
musl-dev libffi-dev openssl-dev \
make \
vim \
bash
# make sure ansible is not installed by the system
RUN apk del ansible
# cleanup
RUN rm -rf /tmp/* /var/cache/apk/*
# opennebula provider
RUN go get -v github.com/runtastic/terraform-provider-opennebula && \
go install -v github.com/runtastic/terraform-provider-opennebula
# add opennebula provider to .terraformrc
RUN echo -e 'providers {\n\
opennebula = "/root/go/bin/terraform-provider-opennebula"\n\
}'\
>> /root/.terraformrc
# change from sh to bash
RUN rm /bin/sh && ln -sf /bin/bash /bin/sh
# WORKDIR
WORKDIR /lokum
# Copy custom inventory builder
COPY inventory_builder /lokum/inventory_builder
# clone emma repo
# RUN git clone https://github.com/nlesc-sherlock/emma.git && \
# pwd
RUN git clone https://github.com/fdiblen/emma.git && cd emma && git checkout lokum_fixes
# install kubespray requirements
RUN pip2 install --upgrade pip && \
pip2 uninstall ansible && \
cd /lokum/inventory_builder && pip3 install -r requirements.txt && \
pip2 install ansible-modules-hashivault && \
cd /lokum
# set environment variables
ENV LOKUM_HOME /lokum
ENV LOKUM_CONFIG /lokum/config
#ENV ANSIBLE_LIBRARY /usr/lib/python2.7/site-packages/ansible/modules
#ENV ANSIBLE_MODULE_UTILS /usr/lib/python2.7/site-packages/ansible/module_utils
#export PATH=$PATH:/lokum/kubespray/library
COPY scripts/lokum-init.sh /usr/local/bin/
RUN ln -s usr/local/bin/lokum-init.sh / # back compatibility
ENTRYPOINT ["lokum-init.sh"]
CMD ["deploy"]