Skip to content

Commit 4702fbd

Browse files
Merge pull request #70 from NSWC-Crane/CHRIS_DEV
Chris dev
2 parents 6b14d76 + 7bff9ef commit 4702fbd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+509
-428
lines changed

.dockerignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.git
2+
.gitignore
3+
.svn
4+
.DS_Store
5+
.vscode
6+
*.log
7+
*.tmp
8+
*.swp
9+
**/README.md
10+
**/node_modules
11+
client/dist
12+
client/.angular
13+
client/.nx

C-PAT/C-PAT.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "C-PAT",
2+
"name": "C-PAT",
33
"organization": "Naval Surface Warfare Center Crane Division, IN (NSWC-Crane)",
4-
"description": "C-PAT is an API and web client developed through Naval Surface Warfare Center Crane Division that aims to automate vulnerability documentation and tracking.",
4+
"description": "C-PAT is an API and web client developed through Naval Surface Warfare Center Crane Division that aims to automate vulnerability documentation and tracking.",
55
"tags": [
66
"Plan of Action and Milestones",
77
"POAM",
@@ -26,14 +26,14 @@
2626
"licenses": [
2727
{
2828
"URL": "https://github.com/NSWC-Crane/C-PAT/blob/main/LICENSE.md",
29-
"name": "C-PAT SOFTWARE OPEN SOURCE LICENSE AGREEMENT"
29+
"name": "C-PAT SOFTWARE OPEN SOURCE LICENSE AGREEMENT"
3030
}
3131
],
3232
"usageType": "openSource",
3333
"exemptionText": null
3434
},
3535
"laborHours": 3000,
36-
"version": "1.55.0-alpha",
36+
"version": "0.2.0-alpha",
3737
"date": {
3838
"created": "2023-06-01",
3939
"lastModified": "2024-04-24",

Dockerfile

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
ARG BASE_IMAGE="node:lts"
2+
FROM ${BASE_IMAGE} as build
3+
ARG COMMIT_BRANCH="unspecified"
4+
ARG COMMIT_SHA="unspecified"
5+
ARG COMMIT_TAG="unspecified"
6+
ARG COMMIT_DESCRIBE="unspecified"
7+
LABEL commit-branch=${COMMIT_BRANCH}
8+
LABEL commit-sha=${COMMIT_SHA}
9+
LABEL commit-tag=${COMMIT_TAG}
10+
LABEL commit-describe=${COMMIT_DESCRIBE}
11+
12+
WORKDIR /app/client
13+
14+
COPY client/package*.json ./
15+
16+
RUN npm install --force
17+
18+
COPY client/. .
19+
20+
RUN npm run build
21+
22+
FROM node:lts
23+
24+
WORKDIR /app/api
25+
26+
COPY api/package*.json ./
27+
28+
RUN npm install
29+
30+
COPY api/. .
31+
32+
COPY --from=build /app/client/dist ../client/dist
33+
34+
ENV COMMIT_SHA=${COMMIT_SHA} \
35+
COMMIT_BRANCH=${COMMIT_BRANCH} \
36+
COMMIT_TAG=${COMMIT_TAG} \
37+
COMMIT_DESCRIBE=${COMMIT_DESCRIBE}
38+
39+
EXPOSE 8086
40+
41+
CMD ["node", "index.js"]

api/index.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,12 @@ const CPAT = {
191191
Env: {
192192
version: "${config.version}",
193193
apiBase: "${config.client.apiBase}",
194+
commit: {
195+
branch: "${config.commit.branch}",
196+
sha: "${config.commit.sha}",
197+
tag: "${config.commit.tag}",
198+
describe: "${config.commit.describe}"
199+
},
194200
oauth: {
195201
authority: "${config.client.authority}",
196202
clientId: "${config.client.clientId}",
@@ -209,11 +215,19 @@ const CPAT = {
209215
privileges: "${config.oauth.claims.privileges}",
210216
email: "${config.oauth.claims.email}"
211217
}
218+
},
219+
stigman: {
220+
clientId: "${config.stigman.clientId}",
221+
host: "${config.stigman.host}",
222+
port: "${config.stigman.port}",
223+
apiBase: "${config.stigman.apiBase}",
224+
scopePrefix: "${config.stigman.scopePrefix ?? ''}",
225+
extraScopes: "${config.stigman.extraScopes ?? ''}",
212226
}
213227
}
214228
}
215229
`
216-
app.get('/js/Env.js', function (req, res) {
230+
app.get('/cpat/Env.js', function (req, res) {
217231
req.component = 'static'
218232
writer.writeWithContentType(res, { payload: envJS, contentType: "application/javascript" })
219233
})

api/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "cpat-api",
33
"version": "0.2.0",
4-
"description": "Poam tracking tool initial test",
4+
"description": "C-PAT API",
55
"main": "index.js",
66
"scripts": {
77
"test": "echo \"Error: no test specified\" && exit 1"
@@ -23,7 +23,7 @@
2323
"jwks-rsa": "^3.1.0",
2424
"lodash": "^4.17.21",
2525
"multer": "^1.4.5-lts.1",
26-
"mysql2": "^3.9.7",
26+
"mysql2": "^3.9.9",
2727
"npm-check-updates": "^16.14.20",
2828
"on-finished": "^2.4.1",
2929
"on-headers": "^1.0.2",

api/specification/C-PAT.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ info:
1515
contact:
1616
name: Christian Rodriguez
1717
email: christian.a.rodriguez8.ctr@us.navy.mil
18-
version: '1.1'
18+
version: '0.2'
1919
servers:
2020
- url: 'http://localhost:8086/api'
2121
paths:

api/utils/config.js

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,42 @@ const package = require("../package.json")
1313

1414
let config = {
1515
version: package.version,
16+
commit: {
17+
branch: process.env.COMMIT_BRANCH || 'na',
18+
sha: process.env.COMMIT_SHA || 'na',
19+
tag: process.env.COMMIT_TAG || 'na',
20+
describe: process.env.COMMIT_DESCRIBE || 'na'
21+
},
1622
settings: {
1723
setClassification: process.env.CPAT_CLASSIFICATION || "U",
1824
responseValidation: process.env.CPAT_DEV_RESPONSE_VALIDATION || "none"
19-
2025
},
2126
client: {
2227
clientId: process.env.CPAT_CLIENT_ID || "c-pat",
2328
authority: process.env.CPAT_CLIENT_OIDC_PROVIDER || process.env.CPAT_OIDC_PROVIDER || "http://localhost:2020/auth/realms/RMFTools",
2429
apiBase: process.env.CPAT_CLIENT_API_BASE || "api",
2530
disabled: process.env.CPAT_CLIENT_DISABLED === "true",
26-
directory: process.env.CPAT_CLIENT_DIRECTORY || '../../../client/dist',
31+
directory: process.env.CPAT_CLIENT_DIRECTORY || '../client/dist',
2732
extraScopes: process.env.CPAT_CLIENT_EXTRA_SCOPES,
2833
scopePrefix: process.env.CPAT_CLIENT_SCOPE_PREFIX,
2934
refreshToken: {
3035
disabled: process.env.CPAT_CLIENT_REFRESH_DISABLED ? process.env.CPAT_CLIENT_REFRESH_DISABLED === "true" : false,
3136
},
3237
},
38+
stigman: {
39+
clientId: process.env.STIGMAN_CLIENT_ID || "stig-manager",
40+
host: process.env.STIGMAN_HOST || "localhost",
41+
port: process.env.STIGMAN_PORT || "54000",
42+
apiBase: process.env.STIGMAN_API_BASE || "api",
43+
scopePrefix: process.env.STIGMAN_SCOPE_PREFIX,
44+
extraScopes: process.env.STIGMAN_EXTRA_SCOPES,
45+
},
3346
docs: {
3447
disabled: process.env.CPAT_DOCS_DISABLED === "true",
35-
docsDirectory: process.env.CPAT_DOCS_DIRECTORY || '../../docs/_build/html',
48+
docsDirectory: process.env.CPAT_DOCS_DIRECTORY || '../docs/_build/html',
3649
},
3750
http: {
38-
address: process.env.CPAT_API_ADDRESS || "localhost",
51+
address: process.env.CPAT_API_ADDRESS || "0.0.0.0",
3952
port: process.env.CPAT_API_PORT || 8086,
4053
maxJsonBody: process.env.CPAT_API_MAX_JSON_BODY || "31457280",
4154
maxUpload: process.env.CPAT_API_MAX_UPLOAD || "1073741824"
@@ -48,7 +61,7 @@ let config = {
4861
port: process.env.CPAT_DB_PORT || 3306,
4962
schema: process.env.CPAT_DB_SCHEMA || "cpat",
5063
password: process.env.CPAT_DB_PASSWORD,
51-
username: process.env.CPAT_DB_USER || "root",
64+
username: process.env.CPAT_DB_USER,
5265
maxConnections: process.env.CPAT_DB_MAX_CONNECTIONS || 25,
5366
minConnections: process.env.CPAT_DB_MIN_CONNECTIONS || 0,
5467
tls: {
@@ -73,8 +86,8 @@ let config = {
7386
authority: process.env.CPAT_OIDC_PROVIDER || process.env.CPAT_API_AUTHORITY || "http://localhost:2020/auth/realms/RMFTools",
7487
claims: {
7588
scope: process.env.CPAT_JWT_SCOPE_CLAIM || "scope",
76-
username: process.env.CPAT_JWT_USERNAME_CLAIM,
77-
servicename: process.env.CPAT_JWT_SERVICENAME_CLAIM,
89+
username: process.env.CPAT_JWT_USERNAME_CLAIM || "preferred_username",
90+
servicename: process.env.CPAT_JWT_SERVICENAME_CLAIM || "clientId",
7891
fullname: process.env.CPAT_JWT_FULL_NAME_CLAIM || process.env.CPAT_JWT_USERNAME_CLAIM || "name",
7992
firstname: process.env.CPAT_JWT_FIRST_NAME_CLAIM || "given_name",
8093
lastname: process.env.CPAT_JWT_LAST_NAME_CLAIM || "family_name",

client/angular.json

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,6 @@
6868
"maximumError": "16kb"
6969
}
7070
],
71-
"fileReplacements": [
72-
{
73-
"replace": "src/environments/environment.ts",
74-
"with": "src/environments/environment.prod.ts"
75-
}
76-
],
7771
"optimization": true,
7872
"outputHashing": "all",
7973
"sourceMap": false,
@@ -111,31 +105,6 @@
111105
"browserTarget": "cpat:build"
112106
}
113107
},
114-
"test": {
115-
"builder": "@angular-devkit/build-angular:karma",
116-
"options": {
117-
"main": "src/test.ts",
118-
"polyfills": "src/polyfills.ts",
119-
"tsConfig": "tsconfig.spec.json",
120-
"karmaConfig": "karma.conf.js",
121-
"inlineStyleLanguage": "scss",
122-
"assets": [
123-
"src/favicon.ico",
124-
"src/assets"
125-
],
126-
"styles": [
127-
"node_modules/@nebular/theme/styles/prebuilt/default.css",
128-
"node_modules/bootstrap/dist/css/bootstrap.css",
129-
"src/app/theme/styles/themes.scss",
130-
"src/app/theme/styles/styles.scss",
131-
"node_modules/pace-js/templates/pace-theme-flash.tmpl.css",
132-
"node_modules/font-awesome/scss/font-awesome.scss"
133-
],
134-
"scripts": [
135-
"node_modules/pace-js/pace.min.js"
136-
]
137-
}
138-
},
139108
"lint": {
140109
"builder": "@angular-eslint/builder:lint",
141110
"options": {

0 commit comments

Comments
 (0)