Fix data directory permissions and add missing capability to binary

This commit is contained in:
Peter 2021-04-22 22:24:46 +02:00
parent 6442f9f915
commit 22c54fb273
Signed by: prskr
GPG key ID: C1DB5D2E8DB512F9
3 changed files with 8 additions and 4 deletions

View file

@ -23,19 +23,19 @@ COPY --chown=$USER:$GROUP assets/fakeFiles /var/lib/inetmock/fakeFiles/
COPY --chown=$USER:$GROUP assets/demoCA /var/lib/inetmock/ca COPY --chown=$USER:$GROUP assets/demoCA /var/lib/inetmock/ca
COPY config-container.yaml /etc/inetmock/config.yaml COPY config-container.yaml /etc/inetmock/config.yaml
RUN mkdir -p /var/run/inetmock /var/lib/inetmock/certs /usr/lib/inetmock && \ RUN mkdir -p /var/run/inetmock /var/lib/inetmock/ca /var/lib/inetmock/certs /var/lib/inetmock/data /usr/lib/inetmock && \
chown -R $USER:$GROUP /var/run/inetmock /var/lib/inetmock /usr/lib/inetmock && \ chown -R $USER:$GROUP /var/run/inetmock /var/lib/inetmock /usr/lib/inetmock && \
apk add -U --no-cache libcap apk add -U --no-cache libcap
RUN ln -s /usr/lib/inetmock/bin/inetmock /usr/bin/inetmock && \ RUN ln -s /usr/lib/inetmock/bin/inetmock /usr/bin/inetmock && \
ln -s /usr/lib/inetmock/bin/imctl /usr/bin/imctl && \ ln -s /usr/lib/inetmock/bin/imctl /usr/bin/imctl && \
setcap 'cap_net_bind_service=+ep' /usr/lib/inetmock/bin/inetmock setcap 'cap_net_raw,cap_net_bind_service=eip' /usr/lib/inetmock/bin/inetmock
HEALTHCHECK --interval=5s --timeout=1s \ HEALTHCHECK --interval=5s --timeout=1s \
CMD imctl --socket-path /var/run/inetmock/inetmock.sock health container CMD imctl --socket-path /var/run/inetmock/inetmock.sock health container
USER $USER USER $USER
VOLUME [ "/var/lib/inetmock/ca", "/var/lib/inetmock/certs" ] VOLUME [ "/var/lib/inetmock/data" ]
ENTRYPOINT ["inetmock"] ENTRYPOINT ["inetmock"]

View file

@ -54,7 +54,7 @@ func ensureDataDir(dataDirPath string) (cleanedPath string, err error) {
} }
} }
err = os.MkdirAll(cleanedPath, 0640) err = os.MkdirAll(cleanedPath, 0750)
return return
} }

View file

@ -54,6 +54,10 @@ x-http-handlers: &httpHandlers
options: options:
<<: *httpResponseRules <<: *httpResponseRules
data:
pcap: /var/lib/inetmock/data/pcap
audit: /var/lib/inetmock/data/audit
api: api:
listen: unix:///var/run/inetmock/inetmock.sock listen: unix:///var/run/inetmock/inetmock.sock