Files
prowler/Dockerfile
T
Víctor Fernández Poyatos aa8c46d232 feat(ComplianceOverview): PRWLR-5149 Add compliance overview endpoints (#84)
* chore(Fixtures): PRWLR-5149 move development fixtures to dev directory

* feat(Compliance): PRWLR-5149 add compliance templates and basic logic on scans

* chore(Compliance): PRWLR-5149 make default compliance requirements pass if no findings

* feat(Compliance): PRWLR-5149 add model

* feat(Compliance): PRWLR-5149 add serializers

* feat(Compliance): PRWLR-5149 add filters

* feat(Compliance): PRWLR-5149 add views and urls

* feat(Scan): PRWLR-5149 add compliance storing during scans

* chore(Compliance, Scan): PRWLR-5149 refactor for performance

* chore(Compliance): PRWLR-5149 add docstrings

* feat(ComplianceOverview): PRWLR-5149 add new view for summary

* chore: PRWLR-5149 update resource_names on all models to follow JSON:API spec

* feat(ComplianceOverview): PRWLR-5149 add indexes to model for performance

* feat(ComplianceOverview): PRWLR-5149 refactor views to summarize by default

* chore(ComplianceOverview): PRWLR-5149 improve readability

* chore(ComplianceOverview): PRWLR-5149 set default ordering to compliance_id

* feat(Compliance): PRWLR-5149 add check status values count for each requirement

* chore: PRWLR-5149 update API spec

* chore(Provider,Scan): PRWLR-5149 disable scanner_args

* feat(Scan): PRWLR-5149 retrieve all regions from provider when generating compliance

* feat(Scan): PRWLR-5149 improve efficiency on scan task

* chore: PRWLR-5149 update API spec

* test(Compliance): PRWLR-5149 add unit tests

* test(Scan): PRWLR-5149 update scan task unit tests

* fix(ComplianceOverview): PRWLR-5149 fix filter

* test(ComplianceOverview): PRWLR-5149 add unit tests

* chore: PRWLR-5149 update API spec

* feat(Compliance): PRWLR-5149 add manual findings to compliance results

* chore(ComplianceOverview): PRWLR-5149 add fixture

* chore: PRWLR-5149 update poetry lock

* fix(Build): fix dockerfile and resources fixture

* chore(Schema): update API schema
2024-11-15 15:39:27 +01:00

39 lines
1.2 KiB
Docker

FROM python:3.12-alpine
LABEL maintainer="https://github.com/prowler-cloud/prowler"
# Update system dependencies and install essential tools
#hadolint ignore=DL3018
RUN apk --no-cache upgrade && apk --no-cache add curl git
# Create non-root user
RUN mkdir -p /home/prowler && \
echo 'prowler:x:1000:1000:prowler:/home/prowler:' > /etc/passwd && \
echo 'prowler:x:1000:' > /etc/group && \
chown -R prowler:prowler /home/prowler
USER prowler
# Copy necessary files
WORKDIR /home/prowler
COPY prowler/ /home/prowler/prowler/
COPY dashboard/ /home/prowler/dashboard/
COPY pyproject.toml /home/prowler
COPY README.md /home/prowler
# Install Python dependencies
ENV HOME='/home/prowler'
ENV PATH="$HOME/.local/bin:$PATH"
RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
pip install --no-cache-dir .
# Remove deprecated dash dependencies
RUN pip uninstall dash-html-components -y && \
pip uninstall dash-core-components -y
# Remove Prowler directory and build files
USER 0
RUN rm -rf /home/prowler/prowler /home/prowler/pyproject.toml /home/prowler/README.md /home/prowler/build /home/prowler/prowler.egg-info
USER prowler
ENTRYPOINT ["prowler"]