generated from bcgov/quickstart-openshift
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #716 from bcgov/feat/srs-97
export bundle pdf changes from FF
- Loading branch information
Showing
12 changed files
with
1,351 additions
and
18 deletions.
There are no files selected for viewing
91 changes: 91 additions & 0 deletions
91
forms-flow-ai/forms-flow-ai-ee/forms-flow-documents/Dockerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#Author: Kurian Benoy | ||
FROM python:3.9-slim-buster | ||
|
||
# set label for image | ||
LABEL Name="formsflow" | ||
|
||
WORKDIR /forms-flow-documents/app | ||
|
||
# install curl, gnupg2 and unzip | ||
RUN apt-get update \ | ||
&& apt-get install -y gnupg2 \ | ||
&& apt-get install -y curl \ | ||
&& apt-get install -y wget \ | ||
&& apt-get install -y unzip \ | ||
&& apt-get install -y git \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# expect a build-time variable | ||
ARG FORMFLOW_SOURCE_REPO_URL | ||
# expect ssh private key | ||
ARG ssh_prv_key | ||
# expect ssh public key | ||
ARG ssh_pub_key | ||
# expect a build-time variable | ||
ARG FORMFLOW_SOURCE_REPO_BRANCH | ||
# use the value to set the ENV var default | ||
ENV FORMFLOW_SOURCE_REPO_BRANCH epd-ff-ee-5.2.0 | ||
# use the value to set the ENV var default | ||
ENV FORMFLOW_SOURCE_REPO_URL [email protected]:AOT-Technologies/forms-flow-ai-ee.git | ||
|
||
#RUN mkdir -p /root/.ssh && \ | ||
# chmod 0700 /root/.ssh && \ | ||
# echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config | ||
|
||
RUN echo "$ssh_prv_key" | sed 's/\\n/\n/g' > /root/.ssh/id_rsa && \ | ||
echo "$ssh_pub_key" | sed 's/\\n/\n/g' > /root/.ssh/id_rsa.pub && \ | ||
chmod 600 /root/.ssh/id_rsa && \ | ||
chmod 600 /root/.ssh/id_rsa.pub | ||
|
||
COPY id_rsa_epd /root/.ssh/id_rsa | ||
COPY id_rsa_epd.pub /root/.ssh/id_rsa.pub | ||
|
||
RUN chmod 600 /root/.ssh/id_rsa | ||
|
||
RUN chmod 600 /root/.ssh/id_rsa.pub | ||
|
||
RUN mkdir -p /root/.ssh && ssh-keyscan github.com >> /root/.ssh/known_hosts | ||
|
||
# Clone code | ||
RUN git clone ${FORMFLOW_SOURCE_REPO_URL} -b ${FORMFLOW_SOURCE_REPO_BRANCH} /documents/ | ||
|
||
RUN cp -r /documents/forms-flow-documents/. /forms-flow-documents/app | ||
|
||
#Copy custom files for EPD | ||
COPY ./src/formsflow_documents/resources /forms-flow-documents/app/src/formsflow_documents/resources | ||
COPY ./src/formsflow_documents/services /forms-flow-documents/app/src/formsflow_documents/services | ||
COPY ./src/formsflow_documents/static /forms-flow-documents/app/src/formsflow_documents/static | ||
COPY ./src/formsflow_documents /forms-flow-documents/app/src/formsflow_documents | ||
|
||
# Install Chrome WebDriver - version 116.0.5845.96 | ||
RUN mkdir -p /opt/chromedriver && \ | ||
curl -sS -o /tmp/chromedriver_linux64.zip https://formsflow-documentsapi.aot-technologies.com/chromedriver-linux64.zip && \ | ||
unzip -qq /tmp/chromedriver_linux64.zip -d /opt/chromedriver && \ | ||
rm /tmp/chromedriver_linux64.zip && \ | ||
chmod +x /opt/chromedriver/chromedriver-linux64/chromedriver && \ | ||
ln -fs /opt/chromedriver/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver | ||
|
||
# Install Google Chrome | ||
RUN wget --no-verbose -O /tmp/chrome.deb https://formsflow-documentsapi.aot-technologies.com/google-chrome-stable_116.0.5845.140-1_amd64.deb &&\ | ||
apt-get update && \ | ||
apt install -y /tmp/chrome.deb &&\ | ||
rm /tmp/chrome.deb | ||
|
||
|
||
# set display port to avoid crash | ||
ENV DISPLAY=:99 | ||
|
||
COPY requirements.txt . | ||
ENV PATH=/venv/bin:$PATH | ||
|
||
RUN : \ | ||
&& python3 -m venv /venv \ | ||
&& pip install --upgrade pip \ | ||
&& pip install -r requirements.txt | ||
|
||
ADD . /forms-flow-documents/app | ||
RUN pip install -e . | ||
|
||
EXPOSE 5006 | ||
RUN chmod u+x ./entrypoint | ||
ENTRYPOINT ["/bin/sh", "entrypoint"] |
44 changes: 44 additions & 0 deletions
44
forms-flow-ai/forms-flow-ai-ee/forms-flow-documents/docker-compose.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
version: '3.7' | ||
|
||
services: | ||
forms-flow-documents-api: | ||
build: | ||
context: ./ | ||
dockerfile: Dockerfile | ||
restart: unless-stopped | ||
ports: | ||
- '5006:5006' | ||
volumes: | ||
- ./:/app:rw | ||
environment: | ||
DATABASE_URL: ${FORMSFLOW_API_DB_URL:-postgresql://postgres:changeme@forms-flow-webapi-db:5432/webapi} | ||
FORMSFLOW_API_CORS_ORIGINS: ${FORMSFLOW_API_CORS_ORIGINS:-*} | ||
JWT_OIDC_WELL_KNOWN_CONFIG: ${KEYCLOAK_URL}/auth/realms/${KEYCLOAK_URL_REALM:-forms-flow-ai}/.well-known/openid-configuration | ||
JWT_OIDC_JWKS_URI: ${KEYCLOAK_URL}/auth/realms/${KEYCLOAK_URL_REALM:-forms-flow-ai}/protocol/openid-connect/certs | ||
JWT_OIDC_ISSUER: ${KEYCLOAK_URL}/auth/realms/${KEYCLOAK_URL_REALM:-forms-flow-ai} | ||
JWT_OIDC_AUDIENCE: ${KEYCLOAK_WEB_CLIENT_ID:-forms-flow-web} | ||
JWT_OIDC_CACHING_ENABLED: 'True' | ||
KEYCLOAK_URL: ${KEYCLOAK_URL} | ||
KEYCLOAK_URL_REALM: ${KEYCLOAK_URL_REALM:-forms-flow-ai} | ||
FORMSFLOW_API_URL: ${FORMSFLOW_API_URL} | ||
FORMSFLOW_DOC_API_URL: ${FORMSFLOW_DOC_API_URL} | ||
FORMIO_URL: ${FORMIO_DEFAULT_PROJECT_URL} | ||
FORMIO_ROOT_EMAIL: ${FORMIO_ROOT_EMAIL:[email protected]} | ||
FORMIO_ROOT_PASSWORD: ${FORMIO_ROOT_PASSWORD:-changeme} | ||
CHROME_DRIVER_PATH: ${CHROME_DRIVER_PATH} | ||
CUSTOM_SUBMISSION_URL: ${CUSTOM_SUBMISSION_URL} | ||
CUSTOM_SUBMISSION_ENABLED: ${CUSTOM_SUBMISSION_ENABLED} | ||
FORMIO_JWT_SECRET: ${FORMIO_JWT_SECRET:---- change me now ---} | ||
MULTI_TENANCY_ENABLED: ${MULTI_TENANCY_ENABLED:-false} | ||
KEYCLOAK_ENABLE_CLIENT_AUTH: ${KEYCLOAK_ENABLE_CLIENT_AUTH:-false} | ||
stdin_open: true # -i | ||
tty: true # -t | ||
networks: | ||
- forms-flow-webapi-network | ||
|
||
networks: | ||
forms-flow-webapi-network: | ||
driver: 'bridge' | ||
|
||
volumes: | ||
mdb-data: |
2 changes: 2 additions & 0 deletions
2
forms-flow-ai/forms-flow-ai-ee/forms-flow-documents/entrypoint
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/bash | ||
gunicorn -b :5006 'formsflow_documents:create_app()' --timeout 120 --worker-class=gthread --workers=5 --threads=10 |
67 changes: 67 additions & 0 deletions
67
forms-flow-ai/forms-flow-ai-ee/forms-flow-documents/requirements.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
Brotli==1.0.9 | ||
Flask-Caching==2.0.2 | ||
Flask-Migrate==4.0.4 | ||
Flask-Moment==1.0.5 | ||
Flask-SQLAlchemy==3.0.5 | ||
Flask==2.3.2 | ||
Jinja2==3.1.2 | ||
Mako==1.2.4 | ||
MarkupSafe==2.1.3 | ||
PyJWT==2.7.0 | ||
PySocks==1.7.1 | ||
SQLAlchemy-Utils==0.41.1 | ||
SQLAlchemy==2.0.17 | ||
Werkzeug==2.3.6 | ||
alembic==1.11.1 | ||
aniso8601==9.0.1 | ||
async-generator==1.10 | ||
attrs==23.1.0 | ||
blinker==1.6.2 | ||
cachelib==0.9.0 | ||
certifi==2023.5.7 | ||
cffi==1.15.1 | ||
charset-normalizer==3.1.0 | ||
click==8.1.3 | ||
cryptography==41.0.1 | ||
ecdsa==0.18.0 | ||
exceptiongroup==1.1.1 | ||
flask-jwt-oidc==0.3.0 | ||
flask-marshmallow==0.15.0 | ||
flask-restx==1.1.0 | ||
formsflow-api-utils @ git+https://github.com/AOT-Technologies/[email protected]#subdirectory=forms-flow-api-utils | ||
gunicorn==20.1.0 | ||
h11==0.14.0 | ||
h2==4.1.0 | ||
hpack==4.0.0 | ||
hyperframe==6.0.1 | ||
idna==3.4 | ||
itsdangerous==2.1.2 | ||
jsonschema==4.17.3 | ||
kaitaistruct==0.10 | ||
marshmallow-sqlalchemy==0.29.0 | ||
marshmallow==3.19.0 | ||
nested-lookup==0.2.25 | ||
outcome==1.2.0 | ||
packaging==23.1 | ||
psycopg2-binary==2.9.6 | ||
pyOpenSSL==23.2.0 | ||
pyasn1==0.5.0 | ||
pycparser==2.21 | ||
pyparsing==3.1.0 | ||
pyrsistent==0.19.3 | ||
python-dotenv==1.0.0 | ||
python-jose==3.3.0 | ||
pytz==2023.3 | ||
requests==2.31.0 | ||
rsa==4.9 | ||
selenium-wire==5.1.0 | ||
selenium==4.10.0 | ||
six==1.16.0 | ||
sniffio==1.3.0 | ||
sortedcontainers==2.4.0 | ||
trio-websocket==0.10.3 | ||
trio==0.22.0 | ||
typing_extensions==4.7.0 | ||
urllib3==2.0.3 | ||
wsproto==1.2.0 | ||
zstandard==0.21.0 |
48 changes: 48 additions & 0 deletions
48
forms-flow-ai/forms-flow-ai-ee/forms-flow-documents/sample.env
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
############################################################################### | ||
# This file is a sample file, for Docker compose to work with the settings # | ||
# rename this file to .env # | ||
# Uncomment the variables if any changes from the default values # | ||
############################################################################### | ||
# ===== formsflow.ai Python Exportapi ENV Variables - START ===================== | ||
|
||
|
||
|
||
##Environment variables for WEB_API/FORMSFLOW_EXPORT_API in the adaptive tier. | ||
##DB Connection URL for formsflow.ai | ||
#FORMSFLOW_API_DB_URL=postgresql://postgres:changeme@forms-flow-webapi-db:5432/webapi | ||
##formsflow.ai database postgres user | ||
#FORMSFLOW_API_DB_USER=postgres | ||
##formsflow.ai database postgres password | ||
#FORMSFLOW_API_DB_PASSWORD=changeme | ||
##formsflow.ai database name | ||
#FORMSFLOW_API_DB_NAME=webapi | ||
|
||
##URL to your Keycloak server | ||
KEYCLOAK_URL=http://{your-ip-address}:8080 | ||
##The Keycloak realm to use | ||
#KEYCLOAK_URL_REALM=forms-flow-ai | ||
#KEYCLOAK_BPM_CLIENT_ID=forms-flow-bpm | ||
#KEYCLOAK_WEB_CLIENT_ID=forms-flow-web | ||
#KEYCLOAK_BPM_CLIENT_SECRET=e4bdbd25-1467-4f7f-b993-bc4b1944c943 | ||
|
||
##web Api End point | ||
FORMSFLOW_API_URL=http://{your-ip-address}:5000 | ||
## Port should whether Docker starts internally | ||
FORMSFLOW_DOC_API_URL=http://{your-ip-address}:5006 | ||
CHROME_DRIVER_PATH=/usr/local/bin/chromedriver | ||
##web API CORS origins | ||
FORMSFLOW_API_CORS_ORIGINS=* | ||
|
||
##Env For Unit Testing | ||
# TEST_REVIEWER_USERID= | ||
# TEST_REVIEWER_PASSWORD= | ||
# DATABASE_URL_TEST= | ||
|
||
#FORMIO configuration | ||
FORMIO_DEFAULT_PROJECT_URL=http://{your-ip-address}:3001 | ||
FORMIO_ROOT_EMAIL=[email protected] | ||
FORMIO_ROOT_PASSWORD=changeme | ||
|
||
#custom submission | ||
CUSTOM_SUBMISSION_ENABLED=false | ||
CUSTOM_SUBMISSION_URL=http://{your-ip-address}:6212 |
Oops, something went wrong.