cobald development environment
This commit is contained in:
7
roles/cobald/files/cobald-entrypoint.sh
Normal file
7
roles/cobald/files/cobald-entrypoint.sh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ -f /usr/local/lib/cobaldmodules/setup.py -a \
|
||||||
|
-d /usr/local/lib/cobaldmodules/cobaldmodules ] && \
|
||||||
|
pip3 install --no-deps --editable /usr/local/lib/cobaldmodules
|
||||||
|
|
||||||
|
exec "${@:-/bin/bash}"
|
@@ -10,28 +10,42 @@ ARG REPOTARDIS=https://github.com/MatterMiners/tardis
|
|||||||
RUN git clone $REPOCOBALD /usr/local/src/cobald && \
|
RUN git clone $REPOCOBALD /usr/local/src/cobald && \
|
||||||
git clone $REPOTARDIS /usr/local/src/tardis
|
git clone $REPOTARDIS /usr/local/src/tardis
|
||||||
|
|
||||||
|
RUN mkdir /etc/cobald /var/log/cobald && \
|
||||||
|
useradd -m -d /var/lib/cobald --no-log-init --system cobald
|
||||||
|
|
||||||
#RUN mkdir /cobald && python3 -m venv /cobald && source /cobald/bin/activate &&\
|
#RUN mkdir /cobald && python3 -m venv /cobald && source /cobald/bin/activate &&\
|
||||||
# pip3 install --upgrade pip && pip3 install cobald
|
# pip3 install --upgrade pip && pip3 install cobald
|
||||||
|
|
||||||
# FIXME: run this as user!
|
RUN mkdir /usr/local/src/cobaldmodules /usr/local/lib/cobaldmodules && \
|
||||||
|
ln -s /usr/local/src/cobaldmodules/setup.py \
|
||||||
|
/usr/local/lib/cobaldmodules/setup.py && \
|
||||||
|
ln -s /usr/local/src/cobaldmodules/cobaldmodules \
|
||||||
|
/usr/local/lib/cobaldmodules/cobaldmodules && \
|
||||||
|
chown cobald:cobald /usr/local/lib/cobaldmodules
|
||||||
|
|
||||||
RUN pip3 install --editable /usr/local/src/cobald && \
|
RUN pip3 install --editable /usr/local/src/cobald && \
|
||||||
pip3 install --editable /usr/local/src/cobald[contrib]
|
pip3 install --editable /usr/local/src/cobald[contrib]
|
||||||
|
|
||||||
RUN pip3 install --editable /tardis&& \
|
RUN pip3 install --editable /usr/local/src/tardis&& \
|
||||||
pip3 install --editable /tardis[contrib]
|
pip3 install --editable /usr/local/src/tardis[contrib]
|
||||||
|
|
||||||
RUN mkdir /etc/cobald /var/log/cobald && \
|
ENV PYTHONPATH=/usr/local/src/cobaldmodules
|
||||||
useradd -m -d /var/lib/cobald --no-log-init --system cobald
|
|
||||||
|
|
||||||
VOLUME /etc/cobald
|
|
||||||
|
|
||||||
USER cobald
|
|
||||||
|
|
||||||
ENV PYTHONPATH=/etc/cobald/modules
|
|
||||||
|
|
||||||
# pip3 install --editable .
|
# pip3 install --editable .
|
||||||
# pip3 install --editable .[contrib]
|
# pip3 install --editable .[contrib]
|
||||||
# pip3 install --upgrade --editable /etc/cobald/modules/
|
# pip3 install --upgrade --editable /etc/cobald/modules/
|
||||||
# su cobald -c "python3 -m cobald.daemon /etc/cobald/config.yaml"
|
# su cobald -c "python3 -m cobald.daemon /etc/cobald/config.yaml"
|
||||||
CMD python3 -m cobald.daemon /etc/cobald/config.yaml
|
|
||||||
|
VOLUME /usr/local/src/cobaldmodules
|
||||||
|
|
||||||
|
VOLUME /etc/cobald
|
||||||
|
|
||||||
|
COPY cobald-entrypoint.sh /usr/local/sbin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
RUN chmod 755 /usr/local/sbin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT /usr/local/sbin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
USER cobald
|
||||||
|
|
||||||
|
CMD "python3 -m cobald.daemon /etc/cobald/config.yaml"
|
||||||
|
@@ -6,19 +6,46 @@
|
|||||||
repo: https://github.com/thoto/cobald
|
repo: https://github.com/thoto/cobald
|
||||||
dest: "~{{unpriv_user}}/cobald-src"
|
dest: "~{{unpriv_user}}/cobald-src"
|
||||||
version: bugfix/mixed_construction_methods
|
version: bugfix/mixed_construction_methods
|
||||||
|
become: yes
|
||||||
|
become_user: "{{unpriv_user}}"
|
||||||
|
register: cobald_git_pull
|
||||||
|
|
||||||
- git:
|
- git:
|
||||||
repo: https://github.com/MatterMiners/tardis
|
repo: https://github.com/MatterMiners/tardis
|
||||||
dest: "~{{unpriv_user}}/tardis-src"
|
dest: "~{{unpriv_user}}/tardis-src"
|
||||||
version: master
|
version: master
|
||||||
|
become: yes
|
||||||
|
become_user: "{{unpriv_user}}"
|
||||||
|
register: tardis_git_pull
|
||||||
|
|
||||||
|
- name: run pip install
|
||||||
|
docker_container:
|
||||||
|
image: cobald
|
||||||
|
name: "cobald-src-{{item.name}}-install"
|
||||||
|
volumes:
|
||||||
|
- "~{{unpriv_user}}/{{item.name}}-src:/usr/local/src/{{item.name}}:rw"
|
||||||
|
state: started
|
||||||
|
detach: False
|
||||||
|
cleanup: True
|
||||||
|
user: 1000:1000 # FIXME
|
||||||
|
entrypoint: ""
|
||||||
|
command: |
|
||||||
|
bash -c 'HOME=/tmp pip3 install --editable /usr/local/src/{{item.name}}'
|
||||||
|
with_items:
|
||||||
|
- name: cobald
|
||||||
|
run: "{{cobald_git_pull.changed}}"
|
||||||
|
- name: tardis
|
||||||
|
run: "{{tardis_git_pull.changed}}"
|
||||||
|
when: item.run
|
||||||
|
|
||||||
- docker_container:
|
- docker_container:
|
||||||
name: cobald-dev
|
name: cobald-dev
|
||||||
image: cobald
|
image: cobald
|
||||||
volumes:
|
volumes:
|
||||||
- "~{{unpriv_user}}/cobald:/etc/cobald"
|
- "~{{unpriv_user}}/cobald:/etc/cobald"
|
||||||
- "~{{unpriv_user}}/cobald-src:/cobald:ro"
|
- "~{{unpriv_user}}/cobald/modules:/usr/local/src/cobaldmodules"
|
||||||
- "~{{unpriv_user}}/tardis-src:/tardis:ro"
|
- "~{{unpriv_user}}/cobald-src:/usr/local/src/cobald:ro"
|
||||||
|
- "~{{unpriv_user}}/tardis-src:/usr/local/src/tardis:ro"
|
||||||
state: started
|
state: started
|
||||||
detach: True
|
detach: True
|
||||||
cleanup: True
|
cleanup: True
|
||||||
|
@@ -14,6 +14,14 @@
|
|||||||
group: docker
|
group: docker
|
||||||
register: cobald_cp_dockerfile
|
register: cobald_cp_dockerfile
|
||||||
|
|
||||||
|
- copy:
|
||||||
|
src: cobald-entrypoint.sh
|
||||||
|
dest: /container/docker-images/cobald/cobald-entrypoint.sh
|
||||||
|
owner: "{{unpriv_user}}"
|
||||||
|
group: docker
|
||||||
|
mode: 0755
|
||||||
|
register: cobald_cp_files
|
||||||
|
|
||||||
- docker_image:
|
- docker_image:
|
||||||
name: "cobald"
|
name: "cobald"
|
||||||
# pull: False
|
# pull: False
|
||||||
@@ -21,7 +29,7 @@
|
|||||||
pull: False
|
pull: False
|
||||||
path: "/container/docker-images/cobald/"
|
path: "/container/docker-images/cobald/"
|
||||||
source: build
|
source: build
|
||||||
force_source: "{{cobald_cp_dockerfile.changed }}"
|
force_source: "{{cobald_cp_dockerfile.changed or cobald_cp_files.changed}}"
|
||||||
|
|
||||||
- copy:
|
- copy:
|
||||||
src: cobald-config/
|
src: cobald-config/
|
||||||
|
Reference in New Issue
Block a user