From a6e5c3e061bd5297b65205370ad7894329db8a8a Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Wed, 8 Jul 2020 20:41:05 -0500 Subject: [PATCH 01/10] Initial Project upload --- Dockerfile | 52 +++++++++++++++++++++++++++++++++++++++++++++++ Jenkinsfile | 2 ++ LICENSE | 9 +++++++++ README.md | 24 +++++++++++++++++++++- download.json | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 Jenkinsfile create mode 100644 LICENSE create mode 100644 download.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..921de64 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,52 @@ +ARG BASE_REGISTRY=registry.access.redhat.com +ARG BASE_IMAGE=ubi8 +ARG BASE_TAG=8.1 + +FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} + +ARG VERSION=1.0 + +LABEL name="Beast Core" \ + maintainer="matt.stover@beast-code.com" \ + vendor="Beast Code LLC" \ + VERSION="$VERSION" \ + description="Beast Core build Image" + +ARG USERNAME=benjo +ARG GROUPNAME=benjo + +ARG UID=1000 +ARG GID=1000 + +USER root +WORKDIR / + +COPY --chown=$UID:$GID LICENSE beast-core.tar.gz ./ + +RUN groupadd --gid $GID $GROUPNAME && \ + useradd --uid $UID --gid $GID $USERNAME + +COPY dumb-init /usr/local/bin/dumb-init + +RUN chmod 755 /usr/local/bin/dumb-init && \ + yum install -y libicu curl && \ + tar -zxf beast-core.tar.gz && \ + chown -R $UID:$GID ./beast-core/ && \ + rm beast-core.tar.gz + +COPY --chown=$UID:$GID appsettings.json config.json /beast-core/server/ + +WORKDIR /beast-core/server + +ENV WORKSPACE_PATH=/modules + +USER $UID:$GID + +EXPOSE 80 + +HEALTHCHECK --interval=12s --timeout=10s --start-period=30s \ + CMD curl --fail http://localhost/api/v1/configs/viewer-color || exit 1 + +ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] + +CMD ["/beast-core/server/BCServer.Server"] \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..9ad0e74 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,2 @@ +@Library('DCCSCR@master') _ +dccscrPipeline(version: "1.1") \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0c2ec48 --- /dev/null +++ b/LICENSE @@ -0,0 +1,9 @@ +The Beast Core application is developed by Beast Code to support the qualification and maintenance performance and logistical pipelines of military personnel, in accordance with DOD’s requirements. Beast Core currently supports several platforms, including the DDG 1000, DDG 51, Columbia and Virginia classes, Bronco II aircraft, and is in the process of being adopted by the Navy Enterprise (NAVSEA and NAVAIR). +The core functionality of Beast Core is a “digital twin”. Each twin is comprised of a 3D representation of the platform’s systems (e.g., fuel, hydraulic, electrical, etc.), linked meta-data and associated technical documentation to equipment/components, and a functional model simulating equipment behavior that look and act like the real-life platform. The application utilizes a digital twin to enhance engineers, operators, and maintainers familiarization, qualification, and operation of systems vital to the platform’s mission. The same model will support the performance of the users’ proficiency/qualification training and maintenance tasks. In addition, the linkage to internal and external metadata makes it a perfect for use as a logistical tool. +Beast Core is web-based technology that can be deployed to an existing server infrastructure and run on PCs, laptops and other assets connected to the network. The software can also operate on a tablet or mobile device (disconnected from the network) allowing users to utilize the digital twin anytime, anywhere. Additionally, Beast Core is touchscreen friendly and works with a gaming controller to enable an intuitive user interface. + +Beast Core licensing and pricing is flexible and supports various organizational requirements from a single user up to large scale enterprise deployments. Additionally, purchasing a license gives the user access to one year of software updates and tech support. +For more information on Beast Core licensing and pricing options please contact us at: +Email: info@Beast-Code.com +Phone: (850) 702-3600 +Website: https://www.beast-code.com/ \ No newline at end of file diff --git a/README.md b/README.md index 925f032..cdb2e61 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,24 @@ -# Beast Core +# Beast-Core +The Beast Core container includes the application itself. The application is comprised of three main components: 3D-Viewer, Tech Manaual Viewer, and Avatar. With these tools, Beast Core makes it possible to navigate a realistic digital twin in full 3D to enhance training and logistics solutions. + +For the application to be fully functional, it must be paired with one or more Digital Twins as provided by Beast Code for it's customers. + +For more information, visit us on the web at www.beast-code.com + +**Container Requirements** +--- + +**Software Requirements**: Google Chrome Web Browser + +**Memory Requirements**: The minimum memory requirement is 2GBs RAM. Recommended: 8-16GB RAM. + +**CPU Requirements**: Recommended minimum 2.4GHz Intel Core i5-6300U or equivalent. + +**Disk Requirements**: Application <100MB, Fully-Developed Digital Twin > 20GB + +**Storage volume Requirements**: Beast Core may either be bundled with a Digital Twin or can support Digital Twins hosted on volumes. The configuration is dependent upon our customer's environment and use case. + +**Other Client Hardware Requirements**: For optimal performance, it is suggested that client systems accessing Beast Core have a NVIDIA GeForce GTX 1060 video card or equivalent. + +NOTE: This Beast Core container does NOT come bundled with a Digital Twin and will not be fully functional as a standalone application. \ No newline at end of file diff --git a/download.json b/download.json new file mode 100644 index 0000000..cdd92fc --- /dev/null +++ b/download.json @@ -0,0 +1,56 @@ +{ "resources": + [ + { + "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/beast-core.tar.gz", + "filename": "beast-core.tar.gz", + "validation": + { + "type": "sha256", + "value": "2e338758d1257b31bb04d7ad8134a1c86d7cf5ab5599fdc7cddf8473333e6983" + }, + "auth": + { + "id": "beast" + } + }, + { + "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/appsettings.json", + "filename": "appsettings.json", + "validation": + { + "type": "sha256", + "value": "64cf14944802e744d68bc30605c628043234f88453e96f8f850b18c35220703f" + }, + "auth": + { + "id": "beast" + } + }, + { + "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/config.json", + "filename": "config.json", + "validation": + { + "type": "sha256", + "value": "068766f7d7534ab330639cee5082daa7600f7515f949fc3b74a4bd6d2f7f73ad" + }, + "auth": + { + "id": "beast" + } + }, + { + "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/dumb-init", + "filename": "dumb-init", + "validation": + { + "type": "sha256", + "value": "37f2c1f0372a45554f1b89924fbb134fc24c3756efaedf11e07f599494e0eff9" + }, + "auth": + { + "id": "beast" + } + } + ] +} \ No newline at end of file -- GitLab From 902f7929de84567752ce70571749fff1c0d57b15 Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Thu, 9 Jul 2020 13:06:03 -0500 Subject: [PATCH 02/10] updated download file --- download.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/download.json b/download.json index cdd92fc..a181c29 100644 --- a/download.json +++ b/download.json @@ -1,7 +1,7 @@ { "resources": [ { - "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/beast-core.tar.gz", + "url" : "s3://beast-code.core/beast-core.tar.gz", "filename": "beast-core.tar.gz", "validation": { @@ -14,7 +14,7 @@ } }, { - "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/appsettings.json", + "url" : "s3://beast-code.core/appsettings.json", "filename": "appsettings.json", "validation": { @@ -27,7 +27,7 @@ } }, { - "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/config.json", + "url" : "s3://beast-code.core/config.json", "filename": "config.json", "validation": { @@ -40,7 +40,7 @@ } }, { - "url" : "https://s3.us-east-2.amazonaws.com/beast-code.core/dumb-init", + "url" : "s3://beast-code.core/dumb-init", "filename": "dumb-init", "validation": { -- GitLab From 1cd4ed06cb7587b2d1b7ba06b1b4e762f302b1b0 Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Thu, 9 Jul 2020 13:09:24 -0500 Subject: [PATCH 03/10] updated readme --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cdb2e61..dbe9b8b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # Beast-Core -The Beast Core container includes the application itself. The application is comprised of three main components: 3D-Viewer, Tech Manaual Viewer, and Avatar. With these tools, Beast Core makes it possible to navigate a realistic digital twin in full 3D to enhance training and logistics solutions. - -For the application to be fully functional, it must be paired with one or more Digital Twins as provided by Beast Code for it's customers. - -For more information, visit us on the web at www.beast-code.com +The Beast Core application is developed by Beast Code to support the qualification and maintenance performance and logistical pipelines of military personnel, in accordance with DOD’s requirements. Beast Core currently supports several platforms, including the DDG 1000, DDG 51, Columbia and Virginia classes, Bronco II aircraft, and is in the process of being adopted by the Navy Enterprise (NAVSEA and NAVAIR). +The core functionality of Beast Core is a “digital twin”. Each twin is comprised of a 3D representation of the platform’s systems (e.g., fuel, hydraulic, electrical, etc.), linked meta-data and associated technical documentation to equipment/components, and a functional model simulating equipment behavior that look and act like the real-life platform. The application utilizes a digital twin to enhance engineers, operators, and maintainers familiarization, qualification, and operation of systems vital to the platform’s mission. The same model will support the performance of the users’ proficiency/qualification training and maintenance tasks. In addition, the linkage to internal and external metadata makes it a perfect for use as a logistical tool. +Beast Core is web-based technology that can be deployed to an existing server infrastructure and run on PCs, laptops and other assets connected to the network. The software can also operate on a tablet or mobile device (disconnected from the network) allowing users to utilize the digital twin anytime, anywhere. Additionally, Beast Core is touchscreen friendly and works with a gaming controller to enable an intuitive user interface. + +Beast Core licensing and pricing is flexible and supports various organizational requirements from a single user up to large scale enterprise deployments. Additionally, purchasing a license gives the user access to one year of software updates and tech support. +For more information on Beast Core licensing and pricing options please contact us at: +Email: info@Beast-Code.com +Phone: (850) 702-3600 +Website: https://www.beast-code.com/ **Container Requirements** --- -- GitLab From 1a4887e354ba534451721b52a1484e10e72a0654 Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Thu, 9 Jul 2020 14:52:19 -0500 Subject: [PATCH 04/10] added region to download file --- download.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/download.json b/download.json index a181c29..95b3df6 100644 --- a/download.json +++ b/download.json @@ -10,7 +10,8 @@ }, "auth": { - "id": "beast" + "id": "beast", + "region": "us-east-2" } }, { @@ -23,7 +24,8 @@ }, "auth": { - "id": "beast" + "id": "beast", + "region": "us-east-2" } }, { @@ -36,7 +38,8 @@ }, "auth": { - "id": "beast" + "id": "beast", + "region": "us-east-2" } }, { @@ -49,7 +52,8 @@ }, "auth": { - "id": "beast" + "id": "beast", + "region": "us-east-2" } } ] -- GitLab From 9199a51536b7d75421eff0c37793b663dc653f0f Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Thu, 9 Jul 2020 15:29:12 -0500 Subject: [PATCH 05/10] updated pipeline version --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9ad0e74..499fe35 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,2 +1,2 @@ @Library('DCCSCR@master') _ -dccscrPipeline(version: "1.1") \ No newline at end of file +dccscrPipeline(version: "1.4.2") \ No newline at end of file -- GitLab From c4f3900ae1bd8f9ed1f9dbf62a86c09ecf6d6404 Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Thu, 9 Jul 2020 15:51:03 -0500 Subject: [PATCH 06/10] updated when the user and group is created. --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 921de64..e12916c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,11 +21,11 @@ ARG GID=1000 USER root WORKDIR / -COPY --chown=$UID:$GID LICENSE beast-core.tar.gz ./ - RUN groupadd --gid $GID $GROUPNAME && \ useradd --uid $UID --gid $GID $USERNAME +COPY --chown=$UID:$GID LICENSE beast-core.tar.gz ./ + COPY dumb-init /usr/local/bin/dumb-init RUN chmod 755 /usr/local/bin/dumb-init && \ -- GitLab From d18fbaf921687416e11329c9f179fb1e3296848c Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Thu, 9 Jul 2020 16:22:52 -0500 Subject: [PATCH 07/10] Updated chown to hard coded values --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e12916c..5260dcf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ ARG BASE_REGISTRY=registry.access.redhat.com ARG BASE_IMAGE=ubi8 -ARG BASE_TAG=8.1 +ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} @@ -24,7 +24,7 @@ WORKDIR / RUN groupadd --gid $GID $GROUPNAME && \ useradd --uid $UID --gid $GID $USERNAME -COPY --chown=$UID:$GID LICENSE beast-core.tar.gz ./ +COPY --chown=1000:1000 LICENSE beast-core.tar.gz ./ COPY dumb-init /usr/local/bin/dumb-init @@ -34,7 +34,7 @@ RUN chmod 755 /usr/local/bin/dumb-init && \ chown -R $UID:$GID ./beast-core/ && \ rm beast-core.tar.gz -COPY --chown=$UID:$GID appsettings.json config.json /beast-core/server/ +COPY --chown=1000:1000 appsettings.json config.json /beast-core/server/ WORKDIR /beast-core/server -- GitLab From 038c6bf55f8a4061aea7a19d51c03311b04aec8b Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Fri, 10 Jul 2020 11:54:46 -0500 Subject: [PATCH 08/10] Updated version to the correct version and yum. --- Dockerfile | 4 +++- Jenkinsfile | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5260dcf..117d9e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} -ARG VERSION=1.0 +ARG VERSION=1.0..0 LABEL name="Beast Core" \ maintainer="matt.stover@beast-code.com" \ @@ -30,6 +30,8 @@ COPY dumb-init /usr/local/bin/dumb-init RUN chmod 755 /usr/local/bin/dumb-init && \ yum install -y libicu curl && \ + yum clean all && \ + rm -rf /var/cache/dnf && \ tar -zxf beast-core.tar.gz && \ chown -R $UID:$GID ./beast-core/ && \ rm beast-core.tar.gz diff --git a/Jenkinsfile b/Jenkinsfile index 499fe35..ad6384c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,2 +1,2 @@ @Library('DCCSCR@master') _ -dccscrPipeline(version: "1.4.2") \ No newline at end of file +dccscrPipeline(version: "1.0.0") \ No newline at end of file -- GitLab From a4ab716d54f3934025f12859d4a3f42cef066d46 Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Fri, 10 Jul 2020 11:58:11 -0500 Subject: [PATCH 09/10] Removed extra . --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 117d9e8..019e2d5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} -ARG VERSION=1.0..0 +ARG VERSION=1.0.0 LABEL name="Beast Core" \ maintainer="matt.stover@beast-code.com" \ -- GitLab From e21dc2cda3b06f2e3b8f79dd185f3f8550346117 Mon Sep 17 00:00:00 2001 From: Matthew Stover Date: Fri, 10 Jul 2020 12:03:15 -0500 Subject: [PATCH 10/10] moved appsettings and config jsons to config folder in repo. --- Dockerfile | 2 +- config/appsettings.json | 7 +++++++ config/config.json | 13 +++++++++++++ download.json | 28 ---------------------------- 4 files changed, 21 insertions(+), 29 deletions(-) create mode 100644 config/appsettings.json create mode 100644 config/config.json diff --git a/Dockerfile b/Dockerfile index 019e2d5..2959012 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,7 +36,7 @@ RUN chmod 755 /usr/local/bin/dumb-init && \ chown -R $UID:$GID ./beast-core/ && \ rm beast-core.tar.gz -COPY --chown=1000:1000 appsettings.json config.json /beast-core/server/ +COPY --chown=1000:1000 config/appsettings.json config/config.json /beast-core/server/ WORKDIR /beast-core/server diff --git a/config/appsettings.json b/config/appsettings.json new file mode 100644 index 0000000..1b03cba --- /dev/null +++ b/config/appsettings.json @@ -0,0 +1,7 @@ +{ + "urls": "http://*:80", + "WWWroot": "../beast-core-client", + "workspaceRoot": "/modules", + "workspace": "ssbn-826", + "deployment": "./config.json" + } \ No newline at end of file diff --git a/config/config.json b/config/config.json new file mode 100644 index 0000000..3022107 --- /dev/null +++ b/config/config.json @@ -0,0 +1,13 @@ +{ + "viewerColor": { + "r": 0, + "g": 0, + "b": 0.2 + }, + "selectionShader": { + "type": "Kerbal" + }, + "startingApp": { + "name": "3D Viewer" + } + } \ No newline at end of file diff --git a/download.json b/download.json index 95b3df6..e27c794 100644 --- a/download.json +++ b/download.json @@ -13,34 +13,6 @@ "id": "beast", "region": "us-east-2" } - }, - { - "url" : "s3://beast-code.core/appsettings.json", - "filename": "appsettings.json", - "validation": - { - "type": "sha256", - "value": "64cf14944802e744d68bc30605c628043234f88453e96f8f850b18c35220703f" - }, - "auth": - { - "id": "beast", - "region": "us-east-2" - } - }, - { - "url" : "s3://beast-code.core/config.json", - "filename": "config.json", - "validation": - { - "type": "sha256", - "value": "068766f7d7534ab330639cee5082daa7600f7515f949fc3b74a4bd6d2f7f73ad" - }, - "auth": - { - "id": "beast", - "region": "us-east-2" - } }, { "url" : "s3://beast-code.core/dumb-init", -- GitLab