Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 4 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ RUN mkdir -p /usr/src/app/logs
COPY package*.json ./
RUN npm install --only=production
COPY dist/ .
RUN sed -i 's/stretch/buster/' /etc/apt/sources.list && apt-get update && apt-get install libgbm-dev ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils -y

RUN sed -i '/stretch-updates/d' /etc/apt/sources.list && \
sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list && \
sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list && \
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid-until && apt-get update && apt-get install libgbm-dev ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils -y
EXPOSE 8080

CMD [ "node", "index.js" ]
Expand Down
8 changes: 6 additions & 2 deletions Dockerfile.build
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ WORKDIR /usr/src/app
COPY . .


RUN sed -i 's/stretch/buster/' /etc/apt/sources.list && apt update && apt install -y zip

RUN sed -i '/stretch-updates/d' /etc/apt/sources.list && \
sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list && \
sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list && \
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid-until && \
apt update && \
apt install -y zip libjpeg-turbo-progs nasm
RUN npm install && npm run build

RUN zip -r dist.zip dist
Expand Down
5 changes: 5 additions & 0 deletions src/proxies_v8/proxies_v8.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
proxyContent,
proxyContentLearnerVM,
proxyCreatorDownloadCertificate,
proxyCreatorEtlFrac,
proxyCreatorForms,
proxyCreatorKnowledge,
proxyCreatorLearner,
Expand Down Expand Up @@ -202,6 +203,10 @@ proxiesV8.use(
'/content',
proxyCreatorRoute(express.Router(), CONSTANTS.CONTENT_API_BASE + '/content')
)
proxiesV8.use(
'/fractv1',
proxyCreatorEtlFrac(express.Router(), CONSTANTS.FRAC_ETL_API_BASE)
)
proxiesV8.use(
'/registry',
proxyCreatorRoute(express.Router(), CONSTANTS.REGISTRY_API_BASE)
Expand Down
1 change: 1 addition & 0 deletions src/utils/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ export const CONSTANTS = {
ES_PASSWORD: env.ES_PASSWORD || 'iGOT@123+',
ES_USERNAME: env.ES_USERNAME || 'elastic',
FEEDBACK_API_BASE: env.FEEDBACK_API_BASE || env.SB_EXT_API_BASE_2,
FRAC_ETL_API_BASE: env.FRAC_ETL_API_BASE || 'http://frac-etl-service:8083',
GAMIFICATION_API_BASE:
env.GAMIFICATION_API_BASE || 'http://localhost:port-number',
GOALS_API_BASE: env.GOALS_API_BASE || env.SB_EXT_API_BASE_2,
Expand Down
21 changes: 21 additions & 0 deletions src/utils/proxyCreator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -472,3 +472,24 @@ export function proxyCreatorDownloadCertificate(
})
return route
}
/**
* Proxies requests from the frontend to the etl-frac service.
* @param route The express router to which the proxy routes should be added.
* @param targetUrl The URL of the etl-frac service.
* @param timeout The maximum time in milliseconds that the proxy should wait for a response from the etl-frac service.
* @returns The express router with the proxy routes added.
*/
export function proxyCreatorEtlFrac(
route: Router,
targetUrl: string,
timeout = 10000
): Router {
route.all('/*', (req, res) => {
// tslint:disable-next-line: no-console
console.log('REQ_URL_ORIGINAL_FRAC', req.originalUrl)
proxyCreator(timeout).web(req, res, {
target: targetUrl,
})
})
return route
}
6 changes: 6 additions & 0 deletions src/utils/whitelistApis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,11 @@ export const API_LIST = {
// tslint:disable-next-line: object-literal-sort-keys
ROLE_CHECK: [ROLE.PUBLIC],
},
'/proxies/v8/fractv1': {
checksNeeded: [CHECK.ROLE],
// tslint:disable-next-line: object-literal-sort-keys
ROLE_CHECK: [ROLE.PUBLIC],
},
'/protected/v8/admin/userRegistration/bulkUpload': {
checksNeeded: [CHECK.ROLE],
// tslint:disable-next-line: object-literal-sort-keys
Expand Down Expand Up @@ -1614,6 +1619,7 @@ export const API_LIST = {
'/proxies/v8/learner/course/v1/enrol',
'/proxies/v8/learnervm/private/content/v3/retire/',
'/proxies/v8/private/content/v3/update/:do_id',
'/proxies/v8/fractv1',
'/protected/v8/user/profileDetails/test',
'/protected/v8/resource/',
'/protected/v8/user/details',
Expand Down