Compare commits

..

No commits in common. "5e9b0169ded881f1e44d05489cef1205b3ebb30f" and "b1c8d6c66e9d2437b06a93711064838168e0f1d0" have entirely different histories.

3 changed files with 2 additions and 12 deletions

4
.gitattributes vendored
View file

@ -1,4 +0,0 @@
# Shell must stay LF: containers execute entrypoint scripts from the bind-mount
# and dash rejects CRLF (a `set -e\r` line aborts startup with
# "set: Illegal option -").
*.sh text eol=lf

View file

@ -5,9 +5,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
### Fixed
- LFX runtime user gets a home directory (`useradd -m`, `HOME` set):
without one every flow run failed with "Settings service not found".
### Security ### Security
- Production ops: `scripts/check_prod.py` validates `.env` secrets and - Production ops: `scripts/check_prod.py` validates `.env` secrets and
modes before deploy (with tests); README production checklist modes before deploy (with tests); README production checklist

View file

@ -13,11 +13,8 @@ ENV PYTHONUNBUFFERED=1 \
ARG LFX_VERSION=1.12.0 ARG LFX_VERSION=1.12.0
RUN pip install "lfx~=${LFX_VERSION}" requests RUN pip install "lfx~=${LFX_VERSION}" requests
# Non-root runtime: uploads persist into the mounted volume. The user needs # Non-root runtime: uploads persist into the mounted volume.
# a home directory: lfx resolves settings/cache paths from $HOME, and RUN useradd -r -s /bin/false lfx && mkdir -p /flows && chown lfx /flows
# without one every flow run fails ("Settings service not found").
ENV HOME=/home/lfx
RUN useradd -r -m -s /bin/false lfx && mkdir -p /flows && chown lfx /flows
VOLUME /flows VOLUME /flows
EXPOSE 6004 EXPOSE 6004
USER lfx USER lfx