Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2382b3b
Merge pull request #194 from GSA/main
BuckinghamAJ Dec 16, 2024
d6c1dff
Add test files and route updates
collinschreyer-dev Dec 19, 2024
dad79d7
adjusted unit tests after verifying production DB tables and getting …
collinschreyer-dev Dec 19, 2024
ac468fb
changed my mind and decided to add back useful comment
collinschreyer-dev Dec 19, 2024
d3f9812
changes to logging, indentations, and skipping a test
collinschreyer-dev Jan 29, 2025
dcb81bb
Merge pull request #196 from GSA/unit_test_updates
collinschreyer-dev Jan 29, 2025
466d44a
Adjust auth route for isRejected or accepted
BuckinghamAJ Jan 29, 2025
136bbcd
Adjusting log level
BuckinghamAJ Jan 30, 2025
cbe8f0a
Merge pull request #197 from BuckinghamAJ/dev
BuckinghamAJ Jan 30, 2025
c5e990c
feature addition: manual solicitation check
collinschreyer-dev Feb 7, 2025
e075c9f
Dockerfile refactor; document route refactor; unnecessary packages re…
collinschreyer-dev Feb 13, 2025
85dce09
changing to standard input after exploring command-line args
collinschreyer-dev Feb 20, 2025
dc3fa56
Merge pull request #198 from GSA/manual-check-api
collinschreyer-dev Feb 21, 2025
6ca163a
Increase disk_quota to 4096M for larger Docker image
collinschreyer-dev Feb 21, 2025
86ff26b
Merge pull request #199 from GSA/manual-check-api
collinschreyer-dev Feb 21, 2025
79b6b79
More robust boolean handling
collinschreyer-dev Feb 21, 2025
3f12fc6
Merge pull request #200 from GSA/manual-check-api
collinschreyer-dev Feb 21, 2025
909b41b
fix: update boolean handling to support both string and boolean compl…
collinschreyer-dev Feb 21, 2025
a4db888
Merge pull request #201 from GSA/manual-check-api
collinschreyer-dev Feb 21, 2025
8fcd141
security: fix npm audit vulnerabilities (57→10)
collinschreyer-dev Feb 3, 2026
fb55bb4
Merge pull request #202 from GSA/fix/npm-audit-vulnerabilities
collinschreyer-dev Feb 3, 2026
3228ddb
fix: remediate pen test findings #1, #3, #4
collinschreyer-dev Mar 3, 2026
56a3af1
Merge pull request #203 from GSA/fix/pentest-remediation-2026-03-v2
collinschreyer-dev Mar 3, 2026
30d3d0b
fix: replace flaky Debian CF CLI install with direct download + retry
collinschreyer-dev Mar 3, 2026
d3249ec
Merge pull request #204 from GSA/fix/cicd-cf-cli-install
collinschreyer-dev Mar 3, 2026
89ddb78
fix: restore Cloud.gov client origins to CORS whitelist
collinschreyer-dev Mar 3, 2026
363bc9b
fix(security): upgrade express to 4.22.1 and pin qs to 6.14.2 to reme…
collinschreyer-dev Mar 4, 2026
55686d2
Merge pull request #205 from GSA/fix/cve-2026-2391-qs
collinschreyer-dev Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions .github/workflows/deploy.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,18 @@ jobs:
-
name: Checkout
uses: actions/checkout@v3.5.3
-
name: Update Cloud Foundry Public Key and Repository
run: |
wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo gpg --dearmor -o /usr/share/keyrings/cli.cloudfoundry.org.gpg
echo "deb [signed-by=/usr/share/keyrings/cli.cloudfoundry.org.gpg] https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
sudo apt-get update
-
name: Install Cloud Foundry CLI
run: sudo apt-get install -y cf8-cli
run: |
# Download CF CLI v8 directly (avoids flaky Debian repo/GitHub CDN 500s)
for i in 1 2 3; do
curl -fsSL "https://packages.cloudfoundry.org/stable?release=linux64-binary&version=v8&source=github" -o /tmp/cf-cli.tgz && break
echo "Retry $i: CF CLI download failed, retrying in 10s..."
sleep 10
done
tar -xzf /tmp/cf-cli.tgz -C /tmp
sudo install /tmp/cf8 /usr/local/bin/cf
cf version
-
name: Cloud Foundry Login
env:
Expand Down
43 changes: 23 additions & 20 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
## Node Building Image
# Node Building Image
FROM node:20

# create app directory
# Install Python and required packages
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
python3-venv \
&& rm -rf /var/lib/apt/lists/*

# Create app directory
WORKDIR /opt/api

# install app dependencies
# Install app dependencies
COPY package*.json ./
COPY .sequelizerc ./
COPY .snyk ./

# Running it locally you need to set the JWT_SECRET environment variable:
# ENV JWT_SECRET=abc123

# Setup logging
RUN touch winston.log.json

RUN yarn cache clean

# Get environment argument passed in
Expand All @@ -25,36 +29,35 @@ ENV NODE_ENV=${environment:-$default_environment}

# Set SNYK TOKEN environment variable
ARG SNYK_TOKEN
ENV SNYK_TOKEN ${SNYK_TOKEN}
ENV SNYK_TOKEN=${SNYK_TOKEN}
RUN yarn global add snyk@latest
RUN snyk auth ${SNYK_TOKEN}

RUN snyk auth "$SNYK_TOKEN"

# Check environment and install dependencies
# Note: When the NODE_ENV environment variable is set to 'production' npm
# will not install modules listed in devDependencies
# Reference: https://docs.npmjs.com/cli/v8/commands/npm-install
RUN yarn install

# Create and activate Python virtual environment
RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"

# Install ML package in virtual environment
RUN pip3 install git+https://github.com/GSA/srt-ml.git@dev

# Bundle app source
COPY server/ ./server


# Get Login.gov Certs
COPY bin/copy_certs.sh ./
COPY certs/ ./certs


ARG LOGIN_PRIVATE_KEY
ENV LOGIN_PRIVATE_KEY=${LOGIN_PRIVATE_KEY}
RUN /opt/api/copy_certs.sh


#see https://docs.cloudfoundry.org/devguide/deploy-apps/push-docker.html
# See https://docs.cloudfoundry.org/devguide/deploy-apps/push-docker.html
COPY docker/conf/passwd /etc/passwd

# expose port
# Expose port
EXPOSE 8080

# start app
# Start app
CMD [ "node", "server/server.js" ]
2 changes: 1 addition & 1 deletion cf/manifest.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
applications:
- name: srt-api-dev
memory: 512M
disk_quota: 2048M
disk_quota: 4096M # Increased from 2048M
# health-check-type: process # don't re-enable....move to port 8080 if you have problems
instances: 1
env:
Expand Down
Loading
Loading