diff --git a/docker/CyberarchLinuxPixelStreamingClientLocal b/docker/CyberarchLinuxPixelStreamingClientLocal new file mode 100644 index 0000000000000000000000000000000000000000..a05b399341d6eed03e278830dfb3b030ebbe93ba --- /dev/null +++ b/docker/CyberarchLinuxPixelStreamingClientLocal @@ -0,0 +1,24 @@ +# Copy the packaged files into a runtime container image that doesn't include any Unreal Engine components +FROM gitlab-registry.nrp-nautilus.io/cyberarch/webxrpixelstreaming/unreal-engine:runtime-pixel-streaming + +USER root + +COPY Linux /home/ue4/project + +# Expose TCP port 80 so external applications can access the web server +EXPOSE 80 + +WORKDIR /home/ue4/project/ +RUN chmod +x ./CyberProject.sh +RUN chmod -R 777 . + +# Set the project as the container's entrypoint +# (Replace "/home/ue4/project/MyProject.sh" with the path to your project's startup script) +# +# Note that we use 127.0.0.1 as the IP address for Cirrus here, +# which only works if both containers are running on the same host system in host networking mode +USER ue4 +CMD ["/home/ue4/project/WebXRPixelStreaming.sh", "-RenderOffscreen", "-Windowed", "-ForceRes", "-ResX=1920", "-ResY=1080", "-PixelStreamingIP=127.0.0.1", "-PixelStreamingPort=8888", "-PixelStreamingEnableHMD", "-AllowPixelStreamingCommands=true"] + +#/home/ue4/project/WebXRPixelStreaming.sh -RenderOffscreen -Windowed -ForceRes -ResX=1920 -ResY=1080 -PixelStreamingIP=127.0.0.1 -PixelStreamingPort=8888 -PixelStreamingEnableHMD -AllowPixelStreamingCommands=true +#/usr/local/bin/node /SignallingWebServer/cirrus.js --peerConnectionOptions "{\"iceServers\":[{\"urls\":[\"stun:stun.nrp-nautilus.io:3478\",\"turns:turn.nrp-nautilus.io:3478\"],\"username\":\"1733189766-x-auth-user\",\"credential\":\"hpoSQmZYVF8oLXZ8dqjOBP1AfTM=\"}]}" --UseHttps true \ No newline at end of file diff --git a/k8s/PixelStreaming-CyberArch-deployment.yml b/k8s/PixelStreaming-CyberArch-deployment.yml new file mode 100644 index 0000000000000000000000000000000000000000..de699a325ff25ae5b24ab707ce88f4cf7e5322b6 --- /dev/null +++ b/k8s/PixelStreaming-CyberArch-deployment.yml @@ -0,0 +1,87 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ue-webxr-ps + namespace: cyberarch +spec: + replicas: 1 + selector: + matchLabels: + app: ue-cyberarch-ps + template: + metadata: + labels: + app: ue-cyberarch-ps + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: nvidia.com/gpu.product + operator: In + values: + - NVIDIA-GeForce-RTX-4090 + #- NVIDIA-GeForce-GTX-1080-Ti + #- NVIDIA-GeForce-RTX-2080-Ti + #- NVIDIA-A100-PCIE-40GB-MIG-2g.10gb + - key: nautilus.io/vis + operator: DoesNotExist + - key: topology.kubernetes.io/region + operator: In + values: + - us-west + hostNetwork: false + tolerations: + - key: nautilus.io/nogl + operator: "Exists" + effect: "NoSchedule" + - key: nautilus.io/chase-ci + operator: "Exists" + effect: "NoSchedule" + hostname: ue-cyberarch-ps + containers: + - name: ue-cyberarch-ps + image: "gitlab-registry.nrp-nautilus.io/cyberarch/cyberarchplugins/cyberarchpixelstreaming:5.3" + imagePullPolicy: Always + securityContext: + privileged: false + resources: + limits: + nvidia.com/gpu: 1 + memory: "32Gi" + cpu: "6" + requests: + nvidia.com/gpu: 1 + memory: "16Gi" + cpu: "4" + #command: ["/bin/bash"] + #args: ["-c", "sleep infinity"] + - name: ue-cyberarch-signalling + image: "gitlab-registry.nrp-nautilus.io/cyberarch/webxrpixelstreaming/pixel-streaming-signalling-server:5.3" + imagePullPolicy: Always + securityContext: + privileged: false + #runAsUser: 0 + resources: + limits: + memory: "4Gi" + cpu: "2" + requests: + memory: "4Gi" + cpu: "2" + ports: + - containerPort: 80 + - containerPort: 443 + command: ["/usr/local/bin/node"] + args: ["/SignallingWebServer/cirrus.js", "--peerConnectionOptions", "{\"iceServers\":[{\"urls\":[\"stun:stun.nrp-nautilus.io:3478\",\"turns:turn.nrp-nautilus.io:3478\"],\"username\":\"1733189766-x-auth-user\",\"credential\":\"hpoSQmZYVF8oLXZ8dqjOBP1AfTM=\"}]}", "--UseHTTPS", "true"] + #command: ["/bin/bash"] + #args: ["-c", "sleep infinity"] + volumeMounts: + - name: ue-cyberarch-ps-cert-secrets + mountPath: /SignallingWebServer/certificates + volumes: + - name: ue-cyberarch-ps-cert-secrets + secret: + secretName: ue-webxr-ps-cert-secrets + diff --git a/k8s/PixelStreaming-CyberArch-ingress.yml b/k8s/PixelStreaming-CyberArch-ingress.yml new file mode 100644 index 0000000000000000000000000000000000000000..5b7686f841114a56e2b8b7dac8549f3f6fbfef29 --- /dev/null +++ b/k8s/PixelStreaming-CyberArch-ingress.yml @@ -0,0 +1,22 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ue-cyberarch-ps-ingress + namespace: cyberarch + annotations: + kubernetes.io/ingress.class: haproxy +spec: + rules: + - host: ue-cyberarch.nrp-nautilus.io + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: ue-cyberarch-ps-service + port: + number: 80 + tls: + - hosts: + - ue-cyberarch.nrp-nautilus.io \ No newline at end of file diff --git a/k8s/PixelStreaming-CyberArch-service.yml b/k8s/PixelStreaming-CyberArch-service.yml new file mode 100644 index 0000000000000000000000000000000000000000..ee5952aac679fba5cce19c3a2b154d75dadc8f3a --- /dev/null +++ b/k8s/PixelStreaming-CyberArch-service.yml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: ue-cyberarch-ps-service + namespace: cyberarch + labels: + app: ue-cyberarch-ps +spec: + selector: + app: ue-cyberarch-ps + ports: + - port: 80 + targetPort: 80 + name: tcp-80 + protocol: TCP + - port: 443 + targetPort: 443 + name: tcp-443 + protocol: TCP + type: ClusterIP