Skip to content
Snippets Groups Projects
Commit d641276e authored by Tim Kreuzer's avatar Tim Kreuzer
Browse files

add Outpost 2.0.0

parent 42addc95
Branches
No related tags found
No related merge requests found
Pipeline #268942 failed
...@@ -17,10 +17,10 @@ type: application ...@@ -17,10 +17,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.0.8 version: 2.0.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.0.5" appVersion: "2.0.0"
...@@ -73,6 +73,7 @@ helm delete --purge my-jupyterhub-outpost ...@@ -73,6 +73,7 @@ helm delete --purge my-jupyterhub-outpost
| `fullnameOverride` | String to fully override common.names.fullname template | `""` | | `fullnameOverride` | String to fully override common.names.fullname template | `""` |
| `cryptSecret` | Existing secret containing `secret_key`. To create a key run `python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())'` | `""` | | `cryptSecret` | Existing secret containing `secret_key`. To create a key run `python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())'` | `""` |
| `sshPublicKeys` | Public keys, to enable port-forwarding from JupyterHub to the Outpost. May containt ssh options like `from=...` | `[]` | | `sshPublicKeys` | Public keys, to enable port-forwarding from JupyterHub to the Outpost. May containt ssh options like `from=...` | `[]` |
| `flavors` | Flavors for the system. Check values.yaml for default value. Set to `null` to disable flavors | `check values.yaml` |
| `outpostUsers` | Name of existing Secret with `usernames` and `passwords`. Multiple values must be semicolon separated | `""` | | `outpostUsers` | Name of existing Secret with `usernames` and `passwords`. Multiple values must be semicolon separated | `""` |
| `outpostConfig` | Configuration of Outpost Application. See documentation for more information. | `""` | | `outpostConfig` | Configuration of Outpost Application. See documentation for more information. | `""` |
| `extraPythonPackages` | Array containing python packages, that should be installed (normally the Spawner you want to configure) | `[]` | | `extraPythonPackages` | Array containing python packages, that should be installed (normally the Spawner you want to configure) | `[]` |
...@@ -116,6 +117,9 @@ extraEnvVarsSecrets: ...@@ -116,6 +117,9 @@ extraEnvVarsSecrets:
``` ```
### CHANGELOG ### CHANGELOG
#### 2.0.0
- Flavors are now integrated in the helm chart. They are enabled by default. Set flavors=null to disable them.
- JupyterHub Outpost 2.0.0 added a new column to the service table: jupyterhub_user_id. Update database if neccessary.
#### 1.0.8 #### 1.0.8
- Add the option to configure `externalTrafficPolicy` in the SSH service, allowing users to preserve the client IP address when needed. - Add the option to configure `externalTrafficPolicy` in the SSH service, allowing users to preserve the client IP address when needed.
#### 1.0.7 #### 1.0.7
......
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "jupyterhub-outpost.fullname" . }}-flavors
labels:
{{- include "jupyter-hub-customizations.labels" . | nindent 4 }}
data:
flavors.yaml: |-
{{- with .Values.flavors }}
flavors:
{{- toYaml . | nindent 4 }}
{{- end }}
\ No newline at end of file
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "jupyterhub-outpost.fullname" . }}-flavors
labels:
{{- include "jupyterhub-outpost.labels" . | nindent 4 }}
data:
flavors.yaml: |-
{{- with .Values.flavors }}
{{- toYaml . | nindent 4 }}
{{- end }}
\ No newline at end of file
...@@ -112,6 +112,8 @@ spec: ...@@ -112,6 +112,8 @@ spec:
{{- end }} {{- end }}
- mountPath: /mnt/outpost_config - mountPath: /mnt/outpost_config
name: outpost-config name: outpost-config
- mountPath: /mnt/flavors
name: outpost-flavors
{{- with .Values.extraVolumeMounts }} {{- with .Values.extraVolumeMounts }}
{{- . | toYaml | nindent 12 }} {{- . | toYaml | nindent 12 }}
{{- end }} {{- end }}
...@@ -133,6 +135,9 @@ spec: ...@@ -133,6 +135,9 @@ spec:
configMap: configMap:
name: {{ include "jupyterhub-outpost.fullname" . }}-auth name: {{ include "jupyterhub-outpost.fullname" . }}-auth
{{- end }} {{- end }}
- name: outpost-flavors
configMap:
name: {{ include "jupyterhub-outpost.fullname" . }}-flavors
- name: outpost-config - name: outpost-config
configMap: configMap:
name: {{ include "jupyterhub-outpost.fullname" . }}-config name: {{ include "jupyterhub-outpost.fullname" . }}-config
......
...@@ -95,6 +95,66 @@ outpostConfigPath: "" ...@@ -95,6 +95,66 @@ outpostConfigPath: ""
outpostConfigSuppressLogs: true outpostConfigSuppressLogs: true
extraPythonPackages: [] extraPythonPackages: []
flavors:
flavors:
minimal:
max: 5
maxPerUser: 1
weight: 10
display_name: "Minimal"
description: "Service will run with minimal resources for max 1 hour."
runtime:
hours: 1
resources:
cpu_guarantee: 0.1
cpu_limit: 1
mem_guarantee: "128M"
mem_limit: "512M"
default:
max: 20
maxPerUser: 3
weight: 11
display_name: "Default"
description: "Service will run with normal resources for max 5 days"
runtime:
hours: 120
resources:
cpu_guarantee: 0.1
cpu_limit: 1
mem_guarantee: "256M"
mem_limit: "2048M"
# hubs: # Example: when supporting multiple hubs (in the OutpostUsers secret) each may get a different set of flavors
# normalhubs:
# weight: 10
# jupyterhub_name:
# - huba
# - hubb
# flavors:
# - default
# minimalhub:
# weight: 15
# jupyterhub_name:
# - hubmini
# flavors:
# - minimal
# users: # Example: users with a username that's not ending with "@mycompany.org" will only get the minimal flavor
# publicUsers:
# negate_authentication: true
# authentication:
# username: ".*@mycompany.org"
# flavors: ["minimal"]
# weight: 10
# googleUsers: # users with a google email address will not be allowed at all
# authentication:
# username: ".*@g(oogle)*mail.com"
# forbidden: true
# weight: 20
# Extra Envs / Secrets / Containers # Extra Envs / Secrets / Containers
extraEnvVars: [] extraEnvVars: []
extraEnvVarsCMs: [] extraEnvVarsCMs: []
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment