Skip to content

Commit 857a94e

Browse files
committed
feat: first pass for skaha and science portal
1 parent a8dc074 commit 857a94e

File tree

12 files changed

+103
-17
lines changed

12 files changed

+103
-17
lines changed

helm/applications/posix-mapper/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ deployment:
4949
memory: "1Gi"
5050
cpu: "500m"
5151
limits:
52-
memory: "1500Mi"
52+
memory: "1750Mi"
5353
cpu: "750m"
5454

5555
minUID: 10000

helm/applications/science-portal/CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
# CHANGELOG for Science Portal UI (Chart 1.0.0)
1+
# CHANGELOG for Science Portal UI (Chart 1.0.1)
2+
3+
## 2025.09.23 (1.0.1)
4+
- Feature: Add experimental slider feature gate
5+
- Add `experimentalFeatures.slider` section to `values.yaml` to enable/disable the slider feature.
26

37
## 2025.09.09 (1.0.0)
48
- Official release

helm/applications/science-portal/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 1.0.0
18+
version: 1.0.1
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
2222
# follow Semantic Versioning. They should reflect the version the application is using.
2323
# It is recommended to use it with quotes.
24-
appVersion: "1.0.1"
24+
appVersion: "1.0.2"
2525

2626
dependencies:
2727
- name: "redis"

helm/applications/science-portal/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ deployment:
8989
# Uncomment to enable local or self-signed CA certificates for your domain to be trusted.
9090
# science-portal-cacert-secret:
9191
# ca.crt: <base64 encoded ca.crt blob>
92+
93+
experimentalFeatures:
94+
resourceSlider:
95+
enabled: false
9296
```
9397
9498
### Run with configured values

helm/applications/science-portal/config/org.opencadc.science-portal.properties

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,18 @@ org.opencadc.science-portal.oidc.scope = {{ .scope }}
2828

2929
org.opencadc.science-portal.tokenCache.url = redis://{{ $.Release.Name }}-redis-master.{{ $.Release.Namespace }}.svc.{{ $.Values.kubernetesClusterDomain }}:6379
3030

31+
{{- if .Values.storageHomeURL }}
32+
org.opencadc.science-portal.storageXmlInfoUrl = {{ .Values.storageHomeURL }}
33+
{{- end }}
34+
3135
{{ with .Values.experimentalFeatures }}
32-
{{- with .storageHomePanel }}
3336
{{- if .enabled }}
34-
org.opencadc.science-portal.storageXmlInfoUrl = {{ .url }}
37+
38+
{{- with resourceSlider }}
39+
{{- if .enabled }
40+
org.opencadc.science-portal.experimental.resourceSlider = true
3541
{{- end }}
42+
{{- end }}
43+
3644
{{- end }}
3745
{{- end }}

helm/applications/science-portal/values.yaml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,21 @@ deployment:
112112
# themeName: canfar
113113
themeName:
114114

115+
# Optional. The absolute base URL of the /home folder containing the user's home directories. This is used to query the storage quota
116+
# information, and display a panel in the Portal UI.
117+
# Example:
118+
# storageHomeURL: https://example.org/cavern/nodes/home
119+
# storageHomeURL:
120+
121+
# Experimental features that can be enabled. These represent features that are not released and confined behind feature flags.
115122
experimentalFeatures:
116123
enabled: false
117-
# Required. The absolute URL of the /home folder containing the user's home directories. This is used to query the storage quota information.
118-
# A typical value would be the /nodes/home endpoint of the Cavern service.
119-
# Example:
120-
# storageHomeURL: https://example.org/cavern/nodes/home
121-
# storageHomeURL:
122124

125+
# Enable the Resource Slider feature, which allows users to select the amount of resources (CPU and Memory) they want to
126+
# use for their jobs with a UI Slider Component.
127+
resourceSlider:
128+
enabled: false
129+
123130
# This is a list of tolerations that will be added to the Pod spec of the Science Portal UI.
124131
# @see https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
125132
#

helm/applications/skaha/Chart.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
apiVersion: v2
22
name: skaha
33
description: "A Helm chart to install the Skaha web service of the CANFAR Science Platform"
4+
icon: https://www.canfar.net/css/images/logo.png
45

56
# A chart can be either an 'application' or a 'library' chart.
67
#
@@ -15,13 +16,13 @@ type: application
1516
# This is the chart version. This version number should be incremented each time you make changes
1617
# to the chart and its templates, including the app version.
1718
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 1.0.4
19+
version: 1.0.5
1920

2021
# This is the version number of the application being deployed. This version number should be
2122
# incremented each time you make changes to the application. Versions are not expected to
2223
# follow Semantic Versioning. They should reflect the version the application is using.
2324
# It is recommended to use it with quotes.
24-
appVersion: "1.0.3"
25+
appVersion: "1.0.4"
2526

2627
dependencies:
2728
- name: "redis"

helm/applications/skaha/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ The following table lists the configurable parameters for the Skaha Helm chart:
9595
| `deployment.skaha.sessions.gpuEnabled` | Enable GPU support for User Sessions. Defaults to `false` | `false` |
9696
| `deployment.skaha.sessions.nodeAffinity` | Kubernetes Node affinity for the Skaha User Session Pods | `{}` |
9797
| `deployment.skaha.sessions.tolerations` | Array of tolerations to pass to Kubernetes for fine-grained Node targeting of the `skaha` User Sessions | `[]` |
98+
| `experimentalFeatures.enabled` | Enable experimental features in Skaha. | `false` |
99+
| `experimentalFeatures.sessionLimitRange` | Kubernete LimitRange for User Sessions to enforce minimum and maximum resource usage. Only applied if `experimentalFeatures.enabled` and `sessionLimitRange.enabled` are `true`. | `{ enabled: false }` |
98100
| `secrets` | List of secrets to be mounted in the Skaha API defined as objects (i.e `secretName: {cert.pem: xxx}`) | `[]` |
99101
| `storage.service.spec` | Storage class specification for the Skaha API. Can be `persistentVolumeClaim` or a dynamic instantiation like `hostPath`. See [Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/). | `{}` |
100102
| `redis` | [Redis sub-chart configuration](https://github.com/bitnami/charts/tree/main/bitnami/redis) for Skaha's caching of Harbor Docker image metadata. | See [`values.yaml`](https://github.com/bitnami/charts/blob/main/bitnami/redis/values.yaml) for available configuration values. |

helm/applications/skaha/skaha-config/k8s-resources.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"default": 1,
44
"defaultRequest": 1,
55
"defaultLimit": 8,
6-
"defaultHeadless": 1,
76
"options": [
87
1,
98
2,
@@ -27,7 +26,6 @@
2726
"default": 1,
2827
"defaultRequest": 4,
2928
"defaultLimit": 32,
30-
"defaultHeadless": 4,
3129
"options": [
3230
1,
3331
2,
@@ -90,5 +88,6 @@
9088
27,
9189
28
9290
]
93-
}
91+
},
92+
"maxInteractiveSessions": 3
9493
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{{- with .Values.experimentalFeatures }}
2+
{{- if eq .enabled true }}
3+
{{- with .sessionLimitRange }}
4+
{{- if eq .enabled true }}
5+
---
6+
apiVersion: v1
7+
kind: LimitRange
8+
metadata:
9+
name: {{ $.Release.Name }}-session-limit-range
10+
namespace: {{ $.Values.skahaWorkload.namespace }}
11+
spec:
12+
{{- with .limitSpec }}
13+
limits:
14+
- type: Container
15+
{{ . | toYaml | indent 6 }}
16+
{{- end }}
17+
{{- end }}
18+
{{- end }}
19+
{{- end }}
20+
{{- end }}

0 commit comments

Comments
 (0)