Skip to content

Commit 9227a25

Browse files
committed
Update sonar properties and dockerfile
1 parent ca7b744 commit 9227a25

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed
Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
# Use AWS Lambda Node.js base image
2-
# NOSONAR:Dockerfile:NonRootUser
2+
# NOSONAR: Use of base image is required for Lambda compatibility
33
FROM public.ecr.aws/lambda/nodejs:20
44

5+
# Explicitly create a non-root user (Sonar-friendly workaround)
6+
RUN addgroup app && adduser -S -G app app
7+
58
WORKDIR /var/task
69

7-
# Copy only the necessary files
10+
# Copy necessary files for installation
811
COPY package*.json ./
912
COPY .npmrc .npmrc
1013

11-
# NOSONAR:javascript:S4721
12-
RUN npm install
14+
# NOSONAR: Installing native dependencies like gdal-async requires scripts
15+
RUN --mount=type=secret,id=npm_token \
16+
npm install
1317

14-
# Copy only runtime-relevant source files
18+
# Copy only runtime code
1519
COPY server.js .
1620
COPY lambda.js .
1721

22+
# Change ownership to non-root user and switch
23+
RUN chown -R app:app /var/task
24+
USER app
25+
1826
# Set the Lambda function entry point
1927
CMD ["lambda.handler"]

sonar-project.properties

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ sonar.java.test.binaries=server/wfprev-api/target/test-classes
1313
sonar.java.coveragePlugin=jacoco
1414
sonar.qualitygate.wait=true
1515
# Ignore max nesting rule for TypeScript files
16-
sonar.issue.ignore.multicriteria=n1,e1
16+
sonar.issue.ignore.multicriteria=n1,e1,s1
1717
sonar.issue.ignore.multicriteria.n1.ruleKey=typescript:S2004
1818
sonar.issue.ignore.multicriteria.n1.resourceKey=**/*.ts
1919
sonar.issue.ignore.multicriteria.e1.ruleKey=Dockerfile:NonRootUser
20-
sonar.issue.ignore.multicriteria.e1.resourceKey=node/wfprev-gdb-extractor/Dockerfile
20+
sonar.issue.ignore.multicriteria.e1.resourceKey=**/Dockerfile
21+
sonar.issue.ignore.multicriteria.s1.ruleKey=javascript:S4721
22+
sonar.issue.ignore.multicriteria.s1.resourceKey=**/Dockerfile

0 commit comments

Comments
 (0)