- 16 Jul 2024
- 2 Minutes to read
- DarkLight
- PDF
Beast Core 6 Deployment Guide - On-Premises
- Updated on 16 Jul 2024
- 2 Minutes to read
- DarkLight
- PDF
Assumptions:
Existing Kubernetes Infrastructure
Tooling Installed & Configured
#! /bin/bash
registry="361975120841.dkr.ecr.us-east-2.amazonaws.com"
for f in ./*.tar;
do
loadOutput=$(docker load --input $f)
image=$(echo $loadOutput | awk '{ print $3 }')
echo "Original image tag:" $image
repoAndTag=${image##*/}
newImage="$registry"/"$repoAndTag"
echo "New image tag:" $newImage
docker tag $image $newImage
docker push $newImage
done
Generate Data Artifact
Package the beast-code-experience Helm chart, USS Never Sleeps workspace, image .tars, and docker load script into data_artifact.zip
Create Dedicated Storage ( Docker Desktop Examples )
1. Refer to https://kubernetes.io/docs/concepts/storage/persistent-volumes & https://kubernetes.io/docs/concepts/storage/storage-classes
Example Docker Desktop Objects :
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "bc6-pvc"
spec:
storageClassName: hostpath
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
apiVersion: v1
kind: Pod
metadata:
name: bc6-pv
spec:
containers:
- name: bc6
image: alpine:3
command: ["sleep", "infinity"]
volumeMounts:
- name: bc6
mountPath: "/bc6-pv"
volumes:
- name: bce6
persistentVolumeClaim:
claimName: "bc6-pvc"
readOnly: false
Copy Workspace
Extract data_artifact.zip
Verify your current directory contains the workspace provided
Run:
kubectl cp bc6-workspace bc6-pv:/bc6-pv -n bc6
To interactively verify:
kubectl exec --stdin --tty bc6-pv -n bc6 -- sh
Create Ingress Controller
Refer to https://kubernetes.github.io/ingress-nginx/deploy
Configure values.yaml
In values.yaml , change imageDefaults.registry to the registry from which you pull images ( remove harbor.hulk.beast-code.com/bcas )
If the images are hosted locally, set this value to "localhost"
If the images are hosted from IronBank, set this value to "registry1.dso.mil/ironbank/beast-code"
Generate override-values.yaml
platformOverride: &platform "aggregator-svc"
aggregator:
enabled: true
aggregateServices:
- name: workspace-service
host: workspace-service-svc
- name: search-service
host: search-service-svc
- name: dwg-service
host: dwg-service-svc
Configure Ingress
In override-values.yaml , Append to the end of the file:
If deploying to a remote cluster, set hostnameOverride to your cluster domain name
bcore-shell-host:
ingress:
enabled: true
hostnameOverride: "localhost"
Configure Plugins
In override-values.yaml , Append to the end of the file:
bcore-shell-plugin:
platformService: *platform
subPlugins:
- name: system-viewer
host: system-viewer-plugin-svc
- name: document-viewer
host: document-viewer-plugin-svc
- name: search-plugin
host: search-plugin-svc
persistenceOverride: &persistence
enabled: true
existingClaim: "bc6-pvc"
workspaceOverride: &workspace
workspaceClass:
folderName: "bc6-workspace"
search-plugin:
enabled: true
searchServiceOverride: *platform
system-viewer-plugin:
enabled: true
workspaceServiceEndpoint: *platform
subPlugins:
visualizers:
- repository: visualizer-system-designation
tag: ""
display: System Designation
default: true
geometry-selector-plugin:
workspaceServiceEndpoint: *platform
searchServiceEndpoint: *platform
dwg-service:
persistence: *persistence
workspace: *workspace
document-viewer-plugin:
enabled: true
documentViewer:
workspaceServiceEndpoint: *platform
details-pane-plugin:
enabled: true
platformService: *platform
subPlugins:
- name: dv-details
host: document-details-pane-sub-plugin-svc
document-details-pane-sub-plugin:
enabled: true
workspaceServiceEndpoint: *platform
search-service:
enabled: true
persistence: *persistence
workspace: *workspace
workspace-service:
enabled: true
persistence: *persistence
workspace: *workspace
Install beast-core-experience Helm Chart
1. Verify your current directory contains the Helm chart and both values.yaml & override-values.yaml
2. Run:
helm upgrade --install bc6 -n bc6 -f values.yaml -f override-values.yaml
Enable Atlas ( Optional )
1. In override-values.yaml , Append to details-pane-plugin:
atlasService: "atlas-service-svc"
2. In override-values.yaml , Append to system-viewer-plugin:
atlasServiceEndpoint: "atlas-service-svc"
subPlugins:
visualizers:
- host: "atlas-visualizer-js-svc"
display: "Atlas Visualizer"
default: false
3. In override-values.yaml , Append to the end of the file:
atlas-visualizer-js:
enabled: true
AtlasServiceEndpoint: "atlas-service-svc"
atlas-service:
enabled: true
persistence: *persistence
workspace: *workspace
4. Run:
helm upgrade --install bc6 -n bc6 -f values.yaml -f override-values.yaml