mirror of
https://github.com/fcwu/docker-ubuntu-vnc-desktop
synced 2025-12-06 16:32:47 +01:00
Merge 47d7154576 into e4922ce92f
This commit is contained in:
commit
fd9685f965
20 changed files with 556 additions and 9 deletions
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
.github/** @dannielshalev @eladso @stav-uveye @it-uveye
|
||||
38
.github/workflows/main.yaml
vendored
Normal file
38
.github/workflows/main.yaml
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
name: Build and push Docker Image to ECR
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- 'release_v**'
|
||||
env:
|
||||
REPOSITORY_NAME: "vnc-desktop"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v1-node16
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: eu-west-1
|
||||
|
||||
- name: Login to Amazon ECR
|
||||
id: login-ecr
|
||||
uses: aws-actions/amazon-ecr-login@v1
|
||||
|
||||
|
||||
- name: Build Docker Image
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: "${{ secrets.AWS_REGISTRY }}/${{ env.REPOSITORY_NAME }}:${{ github.ref_name }}.${{ github.run_number }}"
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
|||
*.pyc
|
||||
tags
|
||||
cscope*
|
||||
.idea
|
||||
|
|
@ -121,6 +121,10 @@ COPY rootfs /
|
|||
RUN ln -sf /usr/local/lib/web/frontend/static/websockify /usr/local/lib/web/frontend/static/novnc/utils/websockify && \
|
||||
chmod +x /usr/local/lib/web/frontend/static/websockify/run
|
||||
|
||||
# Copy
|
||||
COPY icons/applications/* /usr/share/applications/
|
||||
COPY icons/*.desktop /home/uvdesk/Desktop/
|
||||
|
||||
EXPOSE 80
|
||||
WORKDIR /root
|
||||
ENV HOME=/home/ubuntu \
|
||||
|
|
|
|||
132
SEC_README.md
Normal file
132
SEC_README.md
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
<h3>Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.</h3>
|
||||
|
||||
|
||||
|
||||
#### Changes included in this PR
|
||||
|
||||
- Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
|
||||
- rootfs/usr/local/lib/web/backend/requirements.txt
|
||||
|
||||
|
||||
<details>
|
||||
<summary>⚠️ <b>Warning</b></summary>
|
||||
|
||||
```
|
||||
Werkzeug 2.2.3 has requirement MarkupSafe>=2.1.1, but you have MarkupSafe 1.1.1.
|
||||
requests 2.22.0 has requirement urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1, but you have urllib3 1.26.5.
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
|
||||
#### Vulnerabilities that will be fixed
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##### By pinning:
|
||||
Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity
|
||||
:-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:-------------------------
|
||||
 | **554/1000** <br/> **Why?** Has a fix available, CVSS 6.8 | Insufficient Verification of Data Authenticity <br/>[SNYK-PYTHON-CERTIFI-3164749](https://snyk.io/vuln/SNYK-PYTHON-CERTIFI-3164749) | `certifi:` <br> `2019.9.11 -> 2022.12.7` <br> | No | No Known Exploit
|
||||
 | **599/1000** <br/> **Why?** Has a fix available, CVSS 7.7 | HTTP Header Injection <br/>[SNYK-PYTHON-URLLIB3-1014645](https://snyk.io/vuln/SNYK-PYTHON-URLLIB3-1014645) | `urllib3:` <br> `1.25.6 -> 1.26.5` <br> | No | No Known Exploit
|
||||
 | **479/1000** <br/> **Why?** Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS) <br/>[SNYK-PYTHON-URLLIB3-1533435](https://snyk.io/vuln/SNYK-PYTHON-URLLIB3-1533435) | `urllib3:` <br> `1.25.6 -> 1.26.5` <br> | No | No Known Exploit
|
||||
 | **509/1000** <br/> **Why?** Has a fix available, CVSS 5.9 | Denial of Service (DoS) <br/>[SNYK-PYTHON-URLLIB3-559452](https://snyk.io/vuln/SNYK-PYTHON-URLLIB3-559452) | `urllib3:` <br> `1.25.6 -> 1.26.5` <br> | No | No Known Exploit
|
||||
 | **344/1000** <br/> **Why?** Has a fix available, CVSS 2.6 | Access Restriction Bypass <br/>[SNYK-PYTHON-WERKZEUG-3319935](https://snyk.io/vuln/SNYK-PYTHON-WERKZEUG-3319935) | `werkzeug:` <br> `0.16.0 -> 2.2.3` <br> | No | No Known Exploit
|
||||
 | **589/1000** <br/> **Why?** Has a fix available, CVSS 7.5 | Denial of Service (DoS) <br/>[SNYK-PYTHON-WERKZEUG-3319936](https://snyk.io/vuln/SNYK-PYTHON-WERKZEUG-3319936) | `werkzeug:` <br> `0.16.0 -> 2.2.3` <br> | No | No Known Exploit
|
||||
|
||||
(*) Note that the real score may have changed since the PR was raised.
|
||||
|
||||
|
||||
|
||||
|
||||
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
|
||||
|
||||
|
||||
Check the changes in this PR to ensure they won't cause issues with your project.
|
||||
|
||||
|
||||
|
||||
------------
|
||||
|
||||
|
||||
|
||||
**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.*
|
||||
|
||||
For more information: <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI1MGU3OWFhMy1jNGFkLTQ2MjQtOTYzMi0yNDkyMDYyOTBkYzMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjUwZTc5YWEzLWM0YWQtNDYyNC05NjMyLTI0OTIwNjI5MGRjMyJ9fQ==" width="0" height="0"/>
|
||||
🧐 [View latest project report](https://app.snyk.io/org/dannielshalev/project/2d42f184-efd7-4f3b-a34b-39b7fd0e450d?utm_source=github&utm_medium=referral&page=fix-pr)
|
||||
|
||||
🛠 [Adjust project settings](https://app.snyk.io/org/dannielshalev/project/2d42f184-efd7-4f3b-a34b-39b7fd0e450d?utm_source=github&utm_medium=referral&page=fix-pr/settings)
|
||||
|
||||
📚 [Read more about Snyk's upgrade and patch logic](https://support.snyk.io/hc/en-us/articles/360003891078-Snyk-patches-to-fix-vulnerabilities)
|
||||
|
||||
[//]: # (snyk:metadata:{"prId":"50e79aa3-c4ad-4624-9632-249206290dc3","prPublicId":"50e79aa3-c4ad-4624-9632-249206290dc3","dependencies":[{"name":"certifi","from":"2019.9.11","to":"2022.12.7"},{"name":"urllib3","from":"1.25.6","to":"1.26.5"},{"name":"werkzeug","from":"0.16.0","to":"2.2.3"}],"packageManager":"pip","projectPublicId":"2d42f184-efd7-4f3b-a34b-39b7fd0e450d","projectUrl":"https://app.snyk.io/org/dannielshalev/project/2d42f184-efd7-4f3b-a34b-39b7fd0e450d?utm_source=github&utm_medium=referral&page=fix-pr","type":"user-initiated","patch":[],"vulns":["SNYK-PYTHON-CERTIFI-3164749","SNYK-PYTHON-URLLIB3-1014645","SNYK-PYTHON-URLLIB3-1533435","SNYK-PYTHON-URLLIB3-559452","SNYK-PYTHON-WERKZEUG-3319935","SNYK-PYTHON-WERKZEUG-3319936"],"upgrade":[],"isBreakingChange":false,"env":"prod","prType":"fix","templateVariants":["pr-warning-shown","priorityScore"],"priorityScoreList":[554,599,479,509,344,589],"remediationStrategy":"vuln"})
|
||||
|
||||
---
|
||||
|
||||
**Learn how to fix vulnerabilities with free interactive lessons:**
|
||||
|
||||
🦉 [Regular Expression Denial of Service (ReDoS)](https://learn.snyk.io/lessons/redos/javascript/?loc=fix-pr)
|
||||
🦉 [Access Restriction Bypass](https://learn.snyk.io/lessons/broken-access-control/python/?loc=fix-pr)
|
||||
🦉 [Denial of Service (DoS)](https://learn.snyk.io/lessons/no-rate-limiting/python/?loc=fix-pr)
|
||||
|
||||
|
||||
<h3>Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.</h3>
|
||||
|
||||
|
||||
|
||||
#### Changes included in this PR
|
||||
|
||||
- Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
|
||||
- web/package.json
|
||||
- web/yarn.lock
|
||||
|
||||
|
||||
#### Note for [zero-installs](https://yarnpkg.com/features/zero-installs) users
|
||||
|
||||
If you are using the Yarn feature [zero-installs](https://yarnpkg.com/features/zero-installs) that was introduced in Yarn V2, note that this PR does not update the `.yarn/cache/` directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run `yarn` to update the contents of the `./yarn/cache` directory.
|
||||
If you are not using zero-install you can ignore this as your flow should likely be unchanged.
|
||||
|
||||
|
||||
#### Vulnerabilities that will be fixed
|
||||
##### With an upgrade:
|
||||
Severity | Priority Score (*) | Issue | Breaking Change | Exploit Maturity
|
||||
:-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------
|
||||
 | **696/1000** <br/> **Why?** Proof of Concept exploit, Has a fix available, CVSS 7.5 | Regular Expression Denial of Service (ReDoS) <br/>[SNYK-JS-AXIOS-1579269](https://snyk.io/vuln/SNYK-JS-AXIOS-1579269) | No | Proof of Concept
|
||||
|
||||
(*) Note that the real score may have changed since the PR was raised.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Check the changes in this PR to ensure they won't cause issues with your project.
|
||||
|
||||
|
||||
|
||||
------------
|
||||
|
||||
|
||||
|
||||
**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.*
|
||||
|
||||
For more information: <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI1ZmZiZTNiZS1kMzAzLTRhYjktYWNkMi1iODczYjAxZjdjZGIiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjVmZmJlM2JlLWQzMDMtNGFiOS1hY2QyLWI4NzNiMDFmN2NkYiJ9fQ==" width="0" height="0"/>
|
||||
🧐 [View latest project report](https://app.snyk.io/org/dannielshalev/project/1f02abc0-324a-411b-ba42-2a338069ae7d?utm_source=github&utm_medium=referral&page=fix-pr)
|
||||
|
||||
🛠 [Adjust project settings](https://app.snyk.io/org/dannielshalev/project/1f02abc0-324a-411b-ba42-2a338069ae7d?utm_source=github&utm_medium=referral&page=fix-pr/settings)
|
||||
|
||||
📚 [Read more about Snyk's upgrade and patch logic](https://support.snyk.io/hc/en-us/articles/360003891078-Snyk-patches-to-fix-vulnerabilities)
|
||||
|
||||
[//]: # (snyk:metadata:{"prId":"5ffbe3be-d303-4ab9-acd2-b873b01f7cdb","prPublicId":"5ffbe3be-d303-4ab9-acd2-b873b01f7cdb","dependencies":[{"name":"axios","from":"0.21.1","to":"0.21.3"}],"packageManager":"yarn","projectPublicId":"1f02abc0-324a-411b-ba42-2a338069ae7d","projectUrl":"https://app.snyk.io/org/dannielshalev/project/1f02abc0-324a-411b-ba42-2a338069ae7d?utm_source=github&utm_medium=referral&page=fix-pr","type":"user-initiated","patch":[],"vulns":["SNYK-JS-AXIOS-1579269"],"upgrade":["SNYK-JS-AXIOS-1579269"],"isBreakingChange":false,"env":"prod","prType":"fix","templateVariants":["updated-fix-title","priorityScore"],"priorityScoreList":[696],"remediationStrategy":"vuln"})
|
||||
|
||||
---
|
||||
|
||||
**Learn how to fix vulnerabilities with free interactive lessons:**
|
||||
|
||||
🦉 [Regular Expression Denial of Service (ReDoS)](https://learn.snyk.io/lessons/redos/javascript/?loc=fix-pr)
|
||||
23
helm/.helmignore
Normal file
23
helm/.helmignore
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
6
helm/Chart.yaml
Normal file
6
helm/Chart.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
apiVersion: v2
|
||||
name: uv-portal-desktop
|
||||
description: A Helm chart for Kubernetes
|
||||
type: application
|
||||
version: 0.0.1
|
||||
appVersion: "0.0.1"
|
||||
1
helm/templates/NOTES.txt
Normal file
1
helm/templates/NOTES.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
1. Get the application URL by running these commands:
|
||||
71
helm/templates/_helpers.tpl
Normal file
71
helm/templates/_helpers.tpl
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "uv-portal-desktop.name" -}}
|
||||
uv-portal-desktop
|
||||
{{- end }}
|
||||
|
||||
{{- define "uv-portal-desktop.db.name" -}}
|
||||
uvportal-postgres
|
||||
{{- end }}
|
||||
|
||||
{{- define "uv-portal-desktop.namespace" -}}
|
||||
{{- default .Release.Namespace .Values.namespace -}}
|
||||
{{- end }}
|
||||
|
||||
{{- define "uv-portal-desktop.matchLabels" -}}
|
||||
k8s-app: {{ include "uv-portal-desktop.name" . }}
|
||||
app.kubernetes.io/name: {{ include "uv-portal-desktop.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "uv-portal-desktop.common.metaLabels" -}}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
helm.sh/chart: {{ include "uv-portal-desktop.chart" . }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/part-of: {{ include "uv-portal-desktop.name" . }}
|
||||
{{- with .Values.commonMetaLabels}}
|
||||
{{ toYaml . }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "uv-portal-desktop.labels" -}}
|
||||
{{ include "uv-portal-desktop.matchLabels" . }}
|
||||
{{ include "uv-portal-desktop.common.metaLabels" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "uv-portal-desktop.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "uv-portal-desktop.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "uv-portal-desktop.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "uv-portal-desktop.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
11
helm/templates/cm.yaml
Normal file
11
helm/templates/cm.yaml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
"helm.sh/hook-weight": "-5"
|
||||
labels:
|
||||
{{- include "uv-portal-desktop.labels" . | nindent 4 }}
|
||||
name: {{ include "uv-portal-desktop.name" . }}
|
||||
namespace: {{ include "uv-portal-desktop.namespace" . }}
|
||||
data:
|
||||
{{- .Values.configMapData | toYaml | nindent 2 }}
|
||||
85
helm/templates/deploy.yaml
Normal file
85
helm/templates/deploy.yaml
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "uv-portal-desktop.labels" . | nindent 4 }}
|
||||
{{- if .Values.labels }}
|
||||
{{ toYaml .Values.labels | nindent 4 }}
|
||||
{{- end}}
|
||||
name: {{ include "uv-portal-desktop.name" . }}
|
||||
namespace: {{ include "uv-portal-desktop.namespace" . }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "uv-portal-desktop.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "uv-portal-desktop.matchLabels" . | nindent 8 }}
|
||||
name: {{ include "uv-portal-desktop.name" . }}
|
||||
spec:
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
hostAliases:
|
||||
- ip: 10.43.100.100
|
||||
hostnames:
|
||||
- uvportal.uveye.local
|
||||
containers:
|
||||
- name: {{ include "uv-portal-desktop.name" . }}
|
||||
ports:
|
||||
- containerPort: 5900
|
||||
name: vnc
|
||||
- containerPort: 6080
|
||||
name: http
|
||||
env:
|
||||
{{- toYaml .Values.env | nindent 10 }}
|
||||
image: "{{ .Values.image.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: IfNotPresent
|
||||
{{- with .Values.livenessProbe }}
|
||||
livenessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.readinessProbe }}
|
||||
readinessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.resources }}
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: x11-unix
|
||||
mountPath: /tmp/.X11-unix
|
||||
- name: x11-xkb
|
||||
mountPath: /usr/share/X11/xkb
|
||||
- name: xserver
|
||||
mountPath: /root/.Xauthority
|
||||
- name: {{ include "uv-portal-desktop.name" . }}
|
||||
mountPath: /etc/supervisor/conf.d/
|
||||
- name: cache-volume
|
||||
mountPath: /dev/shm
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: x11-unix
|
||||
hostPath:
|
||||
path: /tmp/.X11-unix
|
||||
- name: x11-xkb
|
||||
hostPath:
|
||||
path: /usr/share/X11/xkb
|
||||
- configMap:
|
||||
name: {{ include "uv-portal-desktop.name" . }}
|
||||
name: {{ include "uv-portal-desktop.name" . }}
|
||||
- name: xserver
|
||||
hostPath:
|
||||
path: /home/uvadmin/.Xauthority
|
||||
type: File
|
||||
- name: cache-volume
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
sizeLimit: 512Mi
|
||||
29
helm/templates/svc.yaml
Normal file
29
helm/templates/svc.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{{- if .Values.service.enabled -}}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.service.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "uv-portal-desktop.labels" . | nindent 4 }}
|
||||
{{- if .Values.service.labels }}
|
||||
{{ toYaml .Values.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
name: {{ include "uv-portal-desktop.name" . }}
|
||||
namespace: {{ include "uv-portal-desktop.namespace" . }}
|
||||
spec:
|
||||
ports:
|
||||
- name: http
|
||||
port: 30080
|
||||
nodePort: 30080
|
||||
targetPort: http
|
||||
- name: vnc
|
||||
port: 5900
|
||||
nodePort: 30590
|
||||
targetPort: vnc
|
||||
selector:
|
||||
{{- include "uv-portal-desktop.matchLabels" . | nindent 4 }}
|
||||
type: "{{ .Values.service.type }}"
|
||||
{{- end -}}
|
||||
117
helm/values.yaml
Normal file
117
helm/values.yaml
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
replicaCount: 1
|
||||
|
||||
imagePullSecrets:
|
||||
- name: regcred
|
||||
|
||||
image:
|
||||
repository: 230690759643.dkr.ecr.eu-west-1.amazonaws.com
|
||||
name: vnc-desktop
|
||||
tag: ''
|
||||
|
||||
namespace: uveye
|
||||
|
||||
resources:
|
||||
limits:
|
||||
memory: 4096Mi
|
||||
cpu: "2"
|
||||
requests:
|
||||
memory: 512Mi
|
||||
cpu: "0.4"
|
||||
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: node-role.kubernetes.io/master
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
|
||||
service:
|
||||
enabled: true
|
||||
type: LoadBalancer
|
||||
|
||||
env:
|
||||
- name: USER
|
||||
value: uvdesk
|
||||
- name: VNC_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: secrets-uv-portal-vnc-desktop
|
||||
key: password
|
||||
- name: HTTP_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: secrets-uv-portal-vnc-desktop
|
||||
key: password
|
||||
- name: PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: secrets-uv-portal-vnc-desktop
|
||||
key: password
|
||||
- name: DISPLAY
|
||||
value: ":1.0"
|
||||
|
||||
livenessProbe: {}
|
||||
readinessProbe: {}
|
||||
|
||||
configMapData:
|
||||
supervisord.conf: |-
|
||||
[supervisord]
|
||||
redirect_stderr=true
|
||||
stopsignal=QUIT
|
||||
autorestart=true
|
||||
directory=/root
|
||||
#
|
||||
[program:nginx]
|
||||
priority=10
|
||||
command=nginx -c /etc/nginx/nginx.conf -g 'daemon off;'
|
||||
#
|
||||
[program:web]
|
||||
priority=10
|
||||
directory=/usr/local/lib/web/backend
|
||||
command=/usr/local/lib/web/backend/run.py
|
||||
stdout_logfile=/dev/fd/1
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/fd/1
|
||||
stderr_logfile_maxbytes=0
|
||||
#
|
||||
#
|
||||
[group:x]
|
||||
programs=xvfb,wm,lxpanel,pcmanfm,x11vnc,novnc
|
||||
#
|
||||
[program:wm]
|
||||
priority=15
|
||||
command=/usr/bin/openbox
|
||||
environment=DISPLAY=":1",HOME="/root",USER="root"
|
||||
#
|
||||
[program:lxpanel]
|
||||
priority=15
|
||||
directory=/home/uvdesk
|
||||
command=/usr/bin/lxpanel --profile LXDE
|
||||
user=uvdesk
|
||||
environment=DISPLAY=":1",HOME="/home/uvdesk",USER="uvdesk"
|
||||
#
|
||||
[program:pcmanfm]
|
||||
priority=15
|
||||
directory=/home/uvdesk
|
||||
command=/usr/bin/pcmanfm --desktop --profile LXDE
|
||||
user=uvdesk
|
||||
environment=DISPLAY=":1",HOME="/home/uvdesk",USER="uvdesk"
|
||||
#
|
||||
[program:xvfb]
|
||||
priority=10
|
||||
command=/usr/local/bin/xvfb.sh
|
||||
stopsignal=KILL
|
||||
#
|
||||
[program:x11vnc]
|
||||
priority=20
|
||||
command=x11vnc -display :1 -xkb -forever -shared -repeat -capslock -rfbauth /.password2
|
||||
#
|
||||
[program:novnc]
|
||||
priority=25
|
||||
directory=/usr/local/lib/web/frontend/static/novnc
|
||||
command=bash /usr/local/lib/web/frontend/static/novnc/utils/launch.sh --listen 6081
|
||||
stopasgroup=true
|
||||
#
|
||||
6
icons/applications/lpr.desktop
Normal file
6
icons/applications/lpr.desktop
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Name=lpr
|
||||
Type=Application
|
||||
Icon=google-chrome
|
||||
Exec=/usr/bin/google-chrome http://192.168.5.245
|
||||
Terminal=false
|
||||
6
icons/applications/uvportal.desktop
Normal file
6
icons/applications/uvportal.desktop
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Name=UVportal
|
||||
Type=Application
|
||||
Icon=google-chrome
|
||||
Exec=/usr/bin/google-chrome http://uvportal.uveye.local
|
||||
Terminal=false
|
||||
5
icons/lpr.desktop
Normal file
5
icons/lpr.desktop
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[Desktop Entry]
|
||||
Type=Link
|
||||
Name=lpr
|
||||
Icon=google-chrome
|
||||
URL=/usr/share/applications/lpr.desktop
|
||||
5
icons/uvportal.desktop
Normal file
5
icons/uvportal.desktop
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[Desktop Entry]
|
||||
Type=Link
|
||||
Name=UVportal
|
||||
Icon=google-chrome
|
||||
URL=/usr/share/applications/uvportal.desktop
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
backports.ssl-match-hostname==3.7.0.1
|
||||
certifi==2019.9.11
|
||||
certifi==2022.12.7
|
||||
chardet==3.0.4
|
||||
Click==7.0
|
||||
Flask==1.1.1
|
||||
|
|
@ -14,6 +14,6 @@ MarkupSafe==1.1.1
|
|||
meld3==2.0.0
|
||||
requests==2.22.0
|
||||
six==1.12.0
|
||||
urllib3==1.25.6
|
||||
urllib3==1.26.5
|
||||
websocket-client==0.47.0
|
||||
Werkzeug==0.16.0
|
||||
Werkzeug==2.0.3
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"build": "node build/build.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.21.1",
|
||||
"axios": "^0.21.3",
|
||||
"vue": "^2.5.2",
|
||||
"vue-material": "^1.0.0-beta-10.2",
|
||||
"vue-router": "^3.0.1"
|
||||
|
|
|
|||
|
|
@ -374,11 +374,12 @@ aws4@^1.8.0:
|
|||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
|
||||
|
||||
axios@^0.21.1:
|
||||
version "0.21.1"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
|
||||
axios@^0.21.3:
|
||||
version "0.21.4"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
|
||||
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
|
||||
dependencies:
|
||||
follow-redirects "^1.10.0"
|
||||
follow-redirects "^1.14.0"
|
||||
|
||||
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
|
||||
version "6.26.0"
|
||||
|
|
@ -3023,10 +3024,15 @@ flush-write-stream@^1.0.0:
|
|||
inherits "^2.0.3"
|
||||
readable-stream "^2.3.6"
|
||||
|
||||
follow-redirects@^1.0.0, follow-redirects@^1.10.0:
|
||||
follow-redirects@^1.0.0:
|
||||
version "1.13.3"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
|
||||
|
||||
follow-redirects@^1.14.0:
|
||||
version "1.15.2"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
|
||||
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
|
||||
|
||||
for-in@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
|
||||
|
|
|
|||
Loading…
Reference in a new issue