Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • xeruf/dashboard
  • stackspin/dashboard
2 results
Show changes
Showing
with 337 additions and 171 deletions
......@@ -82,6 +82,7 @@
<div id="contentMessages"></div>
<div id="contentLogin_password"></div>
<div id="contentLogin_totp"></div>
<div id="contentLogin_webauthn"></div>
<footer
class="font-medium text-primary-600 mt-0 pt-2 border-t-gray-50 border-t-2 flex justify-end"
>
......@@ -93,5 +94,5 @@
>What is Stackspin?</a
>
</div>
<footer>{% endblock %}</footer>
</footer>
{% endblock %}
......@@ -23,17 +23,21 @@
<a class="nav-link" id="pills-password-tab" data-toggle="pill" href="#pills-password" role="tab"
aria-controls="pills-password" aria-selected="false">Change password</a>
<a class="nav-link" id="pills-totp-tab" data-toggle="pill" href="#pills-totp" role="tab" aria-controls="pills-totp"
aria-selected="false">2nd factor authentication</a>
aria-selected="false">2nd factor: TOTP</a>
<a class="nav-link" id="pills-webauthn-tab" data-toggle="pill" href="#pills-webauthn" role="tab" aria-controls="pills-webauthn"
aria-selected="false">2nd factor: WebAuthn</a>
</div>
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">...
</div>
<div class="tab-pane fade" id="pills-password" role="tabpanel" aria-labelledby="pills-password-tab">...</div>
<div class="tab-pane fade" id="pills-totp" role="tabpanel" aria-labelledby="pills-totp-tab">...</div>
<div class="tab-pane fade" id="pills-webauthn" role="tabpanel" aria-labelledby="pills-webauthn-tab">...</div>
</div>
<div id="contentProfile"></div>
<div id="contentPassword"></div>
<div id="contentTotp"></div>
<div id="contentWebauthn"></div>
{% endblock %}
\ No newline at end of file
{% endblock %}
FROM nginx:latest
FROM nginx:1.27
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY . /usr/share/nginx/html
COPY html /usr/share/nginx/html
# Changelog
## [1.8.4]
## 1.13.3
* Update dashboard to version 0.13.3.
## 1.13.2
* Update dashboard to version 0.13.2.
## 1.13.1
* Update dashboard to version 0.13.1.
## 1.13.0
* Update dashboard to version 0.13.0.
* Add a helm value `overlay`. If enabled, mount an extra persistent volume claim
`dashboard-overlay` with files to be served by the frontend pod, and an rsync
server container to allow uploading files to the volume.
## 1.12.4
* Update dashboard to version 0.12.4.
## 1.12.3
* Update dashboard to version 0.12.3.
## 1.12.2
* Update dashboard to version 0.12.2.
## 1.12.1
* Update dashboard to version 0.12.1.
## 1.12.0
* Update dashboard to version 0.12.0.
## 1.11.1
* Update dashboard to version 0.11.1.
## 1.11.0
* Update dashboard to version 0.11.0.
## 1.10.5
* Update dashboard to version 0.10.5.
## 1.10.4
* Update dashboard to version 0.10.4.
## 1.10.3
* Update dashboard to version 0.10.3.
## 1.10.2
* Update dashboard to version 0.10.2.
## 1.10.1
* Do not add explicit app roles for Stackspin core apps when creating the first
admin user.
* Update dashboard to version 0.10.1.
## 1.10.0
* Update dashboard to version 0.10.0.
## 1.9.2
* Update dashboard to version 0.9.2.
## 1.9.1
* Fix indentation of helm/yaml syntax in the split deployments, specifically in
the case of non-empty extraEnvVars.
* Update dashboard to version 0.9.1.
## 1.9.0
* Update dashboard to version 0.9.0.
* Switch to telepresence instead of home-grown proxy setup for hybrid
local/remote development environment.
## 1.8.4
* Update dashboard to version 0.8.4.
## [1.8.3]
## 1.8.3
* Update dashboard to version 0.8.3.
## [1.8.2]
## 1.8.2
* Update dashboard to version 0.8.2.
## [1.8.1]
## 1.8.1
* Update dashboard to version 0.8.1.
## [1.8.0]
## 1.8.0
* Update dashboard to version 0.8.0.
## [1.7.6]
## 1.7.6
* Update dashboard to version 0.7.6.
## [1.7.5]
## 1.7.5
* Update dashboard to version 0.7.5.
## [1.7.4]
## 1.7.4
* Update dashboard to version 0.7.4.
## [1.7.3]
## 1.7.3
- Fix kubernetes RBAC issue with new `info` api endpoint.
* Update dashboard to version 0.7.3.
## [1.7.2]
## 1.7.2
* Update dashboard to version 0.7.2.
## [1.7.1]
## 1.7.1
* Update dashboard to version 0.7.1.
* Only run the dashboard-initialize-user job on install, no longer on upgrade.
## [1.7.0]
## 1.7.0
* Update dashboard to version 0.7.0.
## [1.6.7]
## 1.6.7
* Increase a cypress timeout to avoid frequent false negatives when testing.
## [1.6.6]
## 1.6.6
* Add helm test using cypress. Only tests logging in for now.
## [1.6.5]
## 1.6.5
* Update dashboard to version 0.6.5
## [1.6.4]
## 1.6.4
* Update dashboard to version 0.6.4
## [1.6.3]
## 1.6.3
* Update dashboard to version 0.6.3
## [1.6.2]
## 1.6.2
* Update dashboard to version 0.6.2
## [1.6.1]
## 1.6.1
* Update dashboard to version 0.6.1
## [1.5.2]
## 1.5.2
* Update dashboard to version 0.5.2
## [1.5.1]
## 1.5.1
* Update dashboard to version 0.5.1
## [1.5.0]
## 1.5.0
* Use dashboard backend container from new location
* Use proper semver image tags
## [1.4.0]
## 1.4.0
* Fetch apps from Kubernetes back-end
* Also fetch external apps
* Only show installed apps on dashboard
* Use correct URLs for apps on dashboard (not hardcoded ones)
## [1.2.3]
## 1.2.3
* Fix logging out of Hydra from the dashboard
## [1.2.2]
## 1.2.2
### Bug fixes
* Fix invalid reference format when image.digest is missing
see https://open.greenhost.net/stackspin/stackspin/-/merge_requests/1397#note_50785
## [1.2.0]
## 1.2.0
### Features
......@@ -117,7 +206,7 @@
* When an admin's dashboard access is changed to "User", their app access now
defaults to "user"
## [1.1.0]
## 1.1.0
### Bug fixes
......@@ -128,7 +217,7 @@
* Dashboard admin users automatically have admin rights in all apps
* App-specific rights for dashboard admin users are not editable
## [1.0.5]
## 1.0.5
### Bug fixes
......@@ -139,7 +228,7 @@
* Update dashboard to v0.2.6
* Update dashboard-backend to v0.2.7
## [1.0.4]
## 1.0.4
### Bug fixes
......@@ -149,13 +238,13 @@
* Update dashboard-backend to v0.2.6
## [1.0.3]
## 1.0.3
### Features
* Update frontend to 0.2.5
## [1.0.2]
## 1.0.2
### Features
......@@ -165,13 +254,13 @@
* Check if app exists before inserting into DB on initialization #64
## [1.0.1]
## 1.0.1
### Bug fixes
* Resolve "App access role is not persistent" #63
## [1.0.0]
## 1.0.0
### Bug fixes
......
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.0.3
digest: sha256:dfd07906c97f7fca7593af69d01f6f044e10a609a03057352142766a5caca6cd
generated: "2022-09-29T15:38:57.444746866+02:00"
version: 2.14.1
digest: sha256:31e157c847d806f07ddd0518316a205c315829105cd69ef5c79eff92e2f28967
generated: "2024-01-30T13:59:56.425668471+01:00"
annotations:
category: Dashboard
apiVersion: v2
appVersion: 0.8.4
appVersion: 0.13.3
dependencies:
- name: common
# https://artifacthub.io/packages/helm/bitnami/common
......@@ -23,4 +23,4 @@ name: stackspin-dashboard
sources:
- https://open.greenhost.net/stackspin/dashboard/
- https://open.greenhost.net/stackspin/dashboard-backend/
version: 1.8.5-tele2
version: 1.13.3
......@@ -13,15 +13,17 @@ metadata:
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
matchLabels:
component: dashboard-backend
{{- include "common.labels.matchLabels" . | nindent 6 }}
{{- if .Values.updateStrategy }}
strategy: {{- toYaml .Values.updateStrategy | nindent 4 }}
{{- end }}
template:
metadata:
labels: {{- include "common.labels.standard" . | nindent 8 }}
labels:
component: dashboard-backend
{{- include "common.labels.standard" . | nindent 8 }}
{{- if .Values.podLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.podLabels "context" $) | nindent 8 }}
{{- end }}
......@@ -55,38 +57,38 @@ spec:
{{- end }}
containers:
- name: backend
securityContext: {{- toYaml .Values.backend.containerSecurityContext | nindent 12 }}
securityContext: {{- toYaml .Values.backend.containerSecurityContext | nindent 10 }}
image: {{ template "backend.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
{{- if .Values.backend.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.backend.command "context" $) | nindent 12 }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.backend.command "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.backend.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.backend.args "context" $) | nindent 12 }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.backend.args "context" $) | nindent 10 }}
{{- end }}
env:
- name: DASHBOARD_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "backend.secretName" . }}
key: backend-password
- name: HYDRA_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: {{ include "backend.secretName" . }}
key: oidc-client-secret
- name: KRATOS_URL
value: {{ .Values.backend.kratos.adminUrl }}
{{- if (include "backend.smtp.password.enabled" .) }}
- name: DASHBOARD_SMTP_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "backend.smtp.secretName" . }}
key: smtp-password
{{- end }}
{{- if .Values.backend.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.backend.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
- name: DASHBOARD_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "backend.secretName" . }}
key: backend-password
- name: HYDRA_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: {{ include "backend.secretName" . }}
key: oidc-client-secret
- name: KRATOS_URL
value: {{ .Values.backend.kratos.adminUrl }}
{{- if (include "backend.smtp.password.enabled" .) }}
- name: DASHBOARD_SMTP_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "backend.smtp.secretName" . }}
key: smtp-password
{{- end }}
{{- if .Values.backend.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.backend.extraEnvVars "context" $) | nindent 8 }}
{{- end }}
envFrom:
- configMapRef:
name: {{ include "common.names.fullname" . }}
......@@ -113,7 +115,7 @@ spec:
successThreshold: {{ .Values.backend.livenessProbe.successThreshold }}
failureThreshold: {{ .Values.backend.livenessProbe.failureThreshold }}
{{- else if .Values.backend.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backend.customLivenessProbe "context" $) | nindent 12 }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backend.customLivenessProbe "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.backend.readinessProbe.enabled }}
readinessProbe:
......@@ -126,18 +128,18 @@ spec:
successThreshold: {{ .Values.backend.readinessProbe.successThreshold }}
failureThreshold: {{ .Values.backend.readinessProbe.failureThreshold }}
{{- else if .Values.backend.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backend.customReadinessProbe "context" $) | nindent 12 }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backend.customReadinessProbe "context" $) | nindent 10 }}
{{- end }}
volumeMounts:
{{- if .Values.backend.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.backend.extraVolumeMounts "context" $) | nindent 12 }}
{{- include "common.tplvalues.render" (dict "value" .Values.backend.extraVolumeMounts "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.backend.resources }}
resources: {{- toYaml .Values.backend.resources | nindent 12 }}
{{- end }}
{{- if .Values.sidecars }}
{{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 8 }}
resources: {{- toYaml .Values.backend.resources | nindent 10 }}
{{- end }}
{{- if .Values.sidecars }}
{{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 6 }}
{{- end }}
volumes:
{{- if .Values.extraVolumes }}
{{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
......
......@@ -2,8 +2,9 @@ apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ template "common.names.fullname" . }}-frontend
labels: {{- include "common.labels.standard" . | nindent 4 }}
labels:
component: dashboard-frontend
{{- include "common.labels.standard" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
......@@ -20,8 +21,9 @@ spec:
{{- end }}
template:
metadata:
labels: {{- include "common.labels.standard" . | nindent 8 }}
labels:
component: dashboard-frontend
{{- include "common.labels.standard" . | nindent 8 }}
{{- if .Values.podLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.podLabels "context" $) | nindent 8 }}
{{- end }}
......@@ -55,30 +57,30 @@ spec:
{{- end }}
containers:
- name: dashboard-frontend
securityContext: {{- toYaml .Values.dashboard.containerSecurityContext | nindent 12 }}
securityContext: {{- toYaml .Values.dashboard.containerSecurityContext | nindent 10 }}
image: {{ template "dashboard.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
{{- if .Values.dashboard.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.command "context" $) | nindent 12 }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.command "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.dashboard.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.args "context" $) | nindent 12 }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.args "context" $) | nindent 10 }}
{{- end }}
env:
{{- if .Values.dashboard.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.dashboard.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dashboard.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.dashboard.extraEnvVars "context" $) | nindent 10 }}
{{- end }}
envFrom:
- configMapRef:
name: {{ include "common.names.fullname" . }}
{{- if .Values.dashboard.extraEnvVarsCM }}
- configMapRef:
name: {{ .Values.dashboard.extraEnvVarsCM }}
{{- end }}
{{- if .Values.dashboard.extraEnvVarsSecret }}
- secretRef:
name: {{ .Values.dashboard.extraEnvVarsSecret }}
{{- end }}
- configMapRef:
name: {{ include "common.names.fullname" . }}
{{- if .Values.dashboard.extraEnvVarsCM }}
- configMapRef:
name: {{ .Values.dashboard.extraEnvVarsCM }}
{{- end }}
{{- if .Values.dashboard.extraEnvVarsSecret }}
- secretRef:
name: {{ .Values.dashboard.extraEnvVarsSecret }}
{{- end }}
ports:
- name: dashboard-http
containerPort: 80
......@@ -94,7 +96,7 @@ spec:
successThreshold: {{ .Values.dashboard.livenessProbe.successThreshold }}
failureThreshold: {{ .Values.dashboard.livenessProbe.failureThreshold }}
{{- else if .Values.dashboard.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.customLivenessProbe "context" $) | nindent 12 }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.customLivenessProbe "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.dashboard.readinessProbe.enabled }}
readinessProbe:
......@@ -107,19 +109,35 @@ spec:
successThreshold: {{ .Values.dashboard.readinessProbe.successThreshold }}
failureThreshold: {{ .Values.dashboard.readinessProbe.failureThreshold }}
{{- else if .Values.dashboard.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.customReadinessProbe "context" $) | nindent 12 }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.customReadinessProbe "context" $) | nindent 10 }}
{{- end }}
volumeMounts:
{{- if .Values.overlay }}
- name: overlay
mountPath: /overlay
{{- end }}
{{- if .Values.dashboard.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.dashboard.extraVolumeMounts "context" $) | nindent 12 }}
{{- include "common.tplvalues.render" (dict "value" .Values.dashboard.extraVolumeMounts "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.dashboard.resources }}
resources: {{- toYaml .Values.dashboard.resources | nindent 12 }}
{{- end }}
{{- if .Values.sidecars }}
{{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 8 }}
resources: {{- toYaml .Values.dashboard.resources | nindent 10 }}
{{- end }}
{{- if .Values.overlay }}
- name: rsync
image: toelke158/docker-rsync@sha256:277adb5c4080fd0d93c455c9a5db08c595834055234e3948b79dddac5f983d80
volumeMounts:
- name: overlay
mountPath: /overlay
{{- end }}
{{- if .Values.sidecars }}
{{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 6 }}
{{- end }}
volumes:
{{- if .Values.overlay }}
- name: overlay
persistentVolumeClaim:
claimName: {{ template "common.names.fullname" . }}-overlay
{{- end }}
{{- if .Values.extraVolumes }}
{{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
{{- end }}
......@@ -27,31 +27,26 @@ spec:
image: {{ template "backend.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
envFrom:
- configMapRef:
name: {{ include "common.names.fullname" . }}
{{- if .Values.backend.extraEnvVarsCM }}
- configMapRef:
name: {{ .Values.backend.extraEnvVarsCM }}
{{- end }}
{{- if .Values.backend.extraEnvVarsSecret }}
- secretRef:
name: {{ .Values.backend.extraEnvVarsSecret }}
{{- end }}
- configMapRef:
name: {{ include "common.names.fullname" . }}
{{- if .Values.backend.extraEnvVarsCM }}
- configMapRef:
name: {{ .Values.backend.extraEnvVarsCM }}
{{- end }}
{{- if .Values.backend.extraEnvVarsSecret }}
- secretRef:
name: {{ .Values.backend.extraEnvVarsSecret }}
{{- end }}
env:
- name: SETUP_EMAIL
value: {{ .Values.backend.initialUser.email }}
- name: SETUP_PASSWORD
value: {{ .Values.backend.initialUser.password }}
- name: KRATOS_PUBLIC_URL
value: http://kratos-public:80
- name: SETUP_EMAIL
value: {{ .Values.backend.initialUser.email }}
- name: SETUP_PASSWORD
value: {{ .Values.backend.initialUser.password }}
- name: KRATOS_PUBLIC_URL
value: http://kratos-public:80
command: ["/bin/bash", "-c"]
args:
- flask cli user create $SETUP_EMAIL;
flask cli user setpassword $SETUP_EMAIL $SETUP_PASSWORD;
flask cli app create dashboard Dashboard;
flask cli user setrole $SETUP_EMAIL dashboard admin;
flask cli user setrole $SETUP_EMAIL nextcloud admin;
flask cli user setrole $SETUP_EMAIL wordpress admin;
flask cli user setrole $SETUP_EMAIL wekan admin;
flask cli user setrole $SETUP_EMAIL zulip admin;
flask cli user setrole $SETUP_EMAIL hedgedoc admin;
- flask cli user create $SETUP_EMAIL;
flask cli user setpassword $SETUP_EMAIL $SETUP_PASSWORD;
flask cli app create dashboard Dashboard;
flask cli user setrole $SETUP_EMAIL dashboard admin;
......@@ -22,6 +22,7 @@ rules:
- get
- patch
- create
- watch
- apiGroups:
- helm.toolkit.fluxcd.io
resources:
......@@ -46,6 +47,7 @@ rules:
- configmaps
verbs:
- list
- watch
- get
- patch
- delete
......
......@@ -68,7 +68,7 @@ dashboard:
image:
registry: open.greenhost.net:4567
repository: stackspin/dashboard/dashboard
tag: 0.8.4
tag: 0.13.3
digest: ""
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
......@@ -236,7 +236,7 @@ backend:
image:
registry: open.greenhost.net:4567
repository: stackspin/dashboard/dashboard-backend
tag: 0.8.4
tag: 0.13.3
digest: ""
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
......@@ -660,8 +660,9 @@ ingress:
##
path: /
## @param ingress.pathType Ingress path type
## Should usually be ImplementationSpecific to allow regex matching.
##
pathType: Prefix
pathType: ImplementationSpecific
## @param ingress.annotations Ingress annotations done as key:value pairs
## For a full list of possible ingress annotations, please see
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
......@@ -719,11 +720,16 @@ serviceAccount:
##
annotations: {}
# If true, mount a pvc `dashboard-overlay` into the frontend pod. The
# contents will be served from the root frontend URL, overlaying any existing
# or non-existing files from the docker image.
overlay: false
tests:
image:
registry: open.greenhost.net:4567
repository: stackspin/dashboard/cypress-test
tag: 0.8.4
tag: 0.13.3
pullPolicy: IfNotPresent
credentials:
user: ""
......
......@@ -6,10 +6,19 @@ http {
listen [::]:80 default_server;
listen 80;
root /usr/share/nginx/html;
include /etc/nginx/mime.types;
# First try to serve from the overlay, for custom styling, icons etc.
# The directory `/overlay` is expected to be mounted at runtime.
location / {
root /overlay;
try_files $uri @docker;
}
# Default to serving from the directory with files copied into the
# docker image when building.
location @docker {
root /usr/share/nginx/html;
try_files $uri /index.html;
}
}
......
......@@ -103,17 +103,26 @@ runBackend() {
echo "Stopping any previous intercept for dashboard-backend..."
telepresence leave dashboard-backend
echo "Starting new intercept for dashboard-backend..."
telepresence intercept dashboard-backend --service=dashboard-backend --port 5000:80 --mount=true -- env TELEPRESENCE_MODE=native flask run --reload
telepresence intercept dashboard-backend --service=dashboard-backend --port 5000:80 --mount=true --replace --env-file=./backend.env -- env TELEPRESENCE_MODE=native FLASK_DEBUG=1 LOG_LEVEL=DEBUG flask run --reload
deactivate
popd > /dev/null
;;
"docker")
echo "Stopping any previous intercept for dashboard-backend..."
telepresence leave dashboard-backend
telepresence intercept dashboard-backend --service=dashboard-backend --port 5000:80 --mount=true --docker-run -- --dns $(telepresenceDns) -e TELEPRESENCE_MODE=docker dashboard-backend:test
telepresence intercept dashboard-backend --service=dashboard-backend --port 5000:80 --mount=true --replace --docker-run -- --dns $(telepresenceDns) -e TELEPRESENCE_MODE=docker dashboard-backend:test
esac
}
runBackendShell() {
echo "Running shell in the local dashboard backend environment."
pushd backend > /dev/null
source venv/bin/activate
env $(xargs <backend.env) bash
deactivate
popd > /dev/null
}
runFrontend() {
echo "Running dashboard frontend locally and connecting to cluster."
case $mode in
......@@ -121,7 +130,7 @@ runFrontend() {
pushd frontend > /dev/null
echo "Stopping any previous intercept for dashboard-frontend..."
telepresence leave dashboard-frontend
telepresence intercept dashboard-frontend --service=dashboard --port 3000:80 --mount=true -- yarn start --watch --verbose
telepresence intercept dashboard-frontend --service=dashboard --port 3000:80 --mount=true -- npm start --watch --verbose
popd > /dev/null
;;
"docker")
......@@ -134,7 +143,7 @@ runFrontend() {
setupFrontend() {
pushd frontend > /dev/null
yarn install
npm install
popd > /dev/null
}
......@@ -172,6 +181,12 @@ then
exit 0
fi
if [ "$1" == "backend-shell" ]
then
runBackendShell
exit 0
fi
if [ $# -eq 1 ]
then
mode="native"
......
......@@ -25,9 +25,11 @@ module.exports = {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
root: true,
rules: {
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/default-param-last': 'off',
'no-param-reassign': ['error', { props: false }],
'jsx-a11y/anchor-is-valid': 'off',
'no-console': ['warn', { allow: ['debug', 'info', 'time', 'timeEnd', 'trace', 'error'] }],
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.