Skip to content

Commit f34aceb

Browse files
committed
more links, references in upgrade docs
- add explicit discussion of static subPath - remove redundant version update references - remove OAuthenticator change references
1 parent 6487777 commit f34aceb

File tree

3 files changed

+48
-22
lines changed

3 files changed

+48
-22
lines changed

docs/source/administrator/upgrading/upgrade-3-to-4.md

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@ zero-to-jupyterhub 4.0 is a major upgrade that may require some changes to your
66
depending on what features you may use.
77
This mostly comes in the form of some upgraded packages, described below.
88

9-
See the [changelog](changelog) for details of upgraded packages.
9+
:::{seealso}
10+
11+
- the [general upgrade documentation](upgrading-major-upgrades) for upgrade steps to take every time you do a major chart update
12+
- the [changelog](changelog-4.0) for details of upgraded packages
13+
14+
:::
1015

1116
## JupyterHub 5
1217

1318
zero-to-jupyterhub 4.0 upgrades the JupyterHub version from 4.1.6 to 5.2.1.
1419

1520
:::{seealso}
21+
1622
For more detailed changes in JupyterHub, see JupyterHub's own documentation on upgrading to version 5:
1723

1824
Especially if you use features like per-user subdomains or custom page templates.
@@ -49,10 +55,12 @@ especially those that have the `{username}` or `{servername}` fields,
4955
those values are likely to change under the new scheme for some usernames.
5056
In particular, there are new fields that should make things easier:
5157

52-
- `{user_server}` combines the username and server name, and is equivalent to `{username}{servername}` in the old escape scheme
53-
- `{pod_name}`, `{pvc_name}`
58+
- `{user_server}` combines the username and server name, and is equivalent to `{username}{servername}` in the old escape scheme.
59+
It is the recommended value when a string should be unique per named server, as opposed to per user.
60+
- `{pod_name}`, `{pvc_name}` are now available to reference the fully resolved names of these objects
61+
and can be used to avoid duplicating templates.
5462

55-
You can opt in to the kubespawner 6 behavior with:
63+
You can opt in globally to keep the kubespawner 6 behavior with:
5664

5765
```yaml
5866
hub:
@@ -63,23 +71,32 @@ hub:
6371

6472
which _should_ result in no changes for you from previous behavior.
6573

66-
:::{seealso}
74+
One user-facing place where a default template may require administrator action is if you are using:
6775

68-
- [KubeSpawner changelog](https://jupyterhub-kubespawner.readthedocs.io/en/latest/changelog.html)
69-
- [KubeSpawner docs on templated fields](https://jupyterhub-kubespawner.readthedocs.io/en/latest/templates.html#fields)
76+
```yaml
77+
singleuser:
78+
storage:
79+
type: static
80+
```
7081

71-
:::
82+
The default value for `subPath` is `{username}` which may resolve to a different value for some usernames, which could appear like a 'lost' home directory because the mount path changes.
83+
The data is not lost, but the mount location has changed.
84+
To ensure this value doesn't change, you can use:
7285

73-
## OAuthenticator 17
86+
```yaml
87+
singleuser:
88+
storage:
89+
type: static
90+
static:
91+
subPath: "{escaped_username}"
92+
```
7493

75-
OAuthenticator is upgraded from 16.3.1 to 17.1.
76-
The main changes are related to using group information from OAuth providers.
77-
If you used or would like to use groups for authentication,
78-
check out the [OAuthenticator changelog](https://oauthenticator.readthedocs.io/en/stable/reference/changelog.html)
94+
which applies the previous 'escape' scheme to the subPath.
95+
Alternatively, you can keep the new scheme, and perform a one-time migration to move files for the affected usernames.
7996

80-
## Other package upgrades
97+
:::{seealso}
8198

82-
- Python is upgraded from 3.11 to 3.12 in the Hub image
83-
- LDAPAuthenticator is upgraded from 1 to 2 ([changelog](https://github.com/jupyterhub/ldapauthenticator/blob/2.0.0/CHANGELOG.md#200---2024-10-18))
84-
- FirstUseAuthenticator is upgraded from 1.0 to 1.1 ([changelog](https://github.com/jupyterhub/firstuseauthenticator/blob/1.1.0/CHANGELOG.md))
85-
- idle culler is upgraded from 1.3.1 to 1.4.0 ([changelog](https://github.com/jupyterhub/jupyterhub-idle-culler/blob/1.4.0/CHANGELOG.md))
99+
- [KubeSpawner changelog](https://jupyterhub-kubespawner.readthedocs.io/en/latest/changelog.html)
100+
- [KubeSpawner docs on templated fields](https://jupyterhub-kubespawner.readthedocs.io/en/latest/templates.html#fields)
101+
102+
:::

docs/source/changelog.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,27 @@ This Helm chart provides [development releases], and as we merge [breaking
1010
changes in pull requests], this list should be updated.
1111

1212
[development releases]: https://hub.jupyter.org/helm-chart/#development-releases-jupyterhub
13+
1314
[breaking changes in pull requests]: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pulls?q=is%3Apr+is%3Aclosed+label%3Abreaking
1415

16+
(changelog-4.0)=
17+
1518
## 4.0
1619

17-
### 4.0.0 - 2024-10
20+
### 4.0.0 - 2024-11
1821

1922
This release updates JupyterHub itself from version 4 to 5, and the dependencies
2023
`jupyterhub-kubespawner`, `oauthenticator`, and `ldapauthenticator` to a new
2124
major version.
2225

23-
See the [upgrade guide](upgrade-3-to-4) for specific instructions for upgrading chart version from 3 to 4,
24-
and check the summary of breaking changes and the linked changelogs below
25-
if you use any of the upgraded packages.
26+
:::{seealso}
27+
28+
- the [general upgrade documentation](upgrading-major-upgrades) for upgrade steps to take every time you do a major chart update
29+
- the [upgrade guide](upgrade-3-to-4) for specific instructions for upgrading chart version from 3 to 4
30+
- check the summary of breaking changes and the linked changelogs below
31+
if you use any of the upgraded packages.
32+
33+
:::
2634

2735
#### Breaking changes
2836

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
# ref: https://myst-parser.readthedocs.io/en/latest/configuration.html
3939
#
4040
myst_enable_extensions = [
41+
"colon_fence",
4142
"substitution",
4243
]
4344

0 commit comments

Comments
 (0)