Erik Sundell
e0aaa4f995
pre-commit: run black with string normalization
2021-11-03 23:55:34 +01:00
Erik Sundell
a64f242b61
flake8 fixes: unused imports and f-strings without vars
2021-10-28 15:43:50 +02:00
Edmund Widl
788915a01b
proposed changes for issue #619
2020-11-16 10:44:49 +01:00
GeorgianaElena
c31b9d3dea
Allow extending traefik dynamic config
2020-06-18 17:29:50 +03:00
johannes.kaufmann
6c00595073
Move plugin manager to utils
...
Fix typo
2019-10-28 08:48:52 +01:00
GeorgianaElena
1842f46708
Fixed typo
2019-07-01 17:59:10 +03:00
GeorgianaElena
ba0454d23a
Fix import
2019-07-01 17:25:37 +03:00
GeorgianaElena
323847aa51
Validate user groups
2019-07-01 11:18:38 +03:00
GeorgianaElena
88a09285d2
Renamed group config option
2019-06-21 11:38:26 +03:00
GeorgianaElena
da443ebd4b
Allow adding users to specific groups
2019-06-20 21:54:51 +03:00
yuvipanda
b7f72a9f9e
Set up pluggy before calling hooks in jupyter_config.py
2019-06-05 15:20:49 +02:00
yuvipanda
b584bd1b2a
Add hook for custom jupyterhub_config.py content
...
This lets extensions directly control how JupyterHub
is configured
2019-06-05 15:20:49 +02:00
Min RK
fd114e9030
use load_config to load config in jupyterhub_config.py
...
rather than re-implementing it
2019-02-22 11:17:59 +01:00
GeorgianaElena
3ee387cd3b
Fixed some issues
2019-02-13 14:23:02 +02:00
GeorgianaElena
eee29a0957
Replace chp with traefik-proxy
2019-02-13 14:23:02 +02:00
Min RK
13648050ae
single yaml implementation
...
consolidate to a single yaml implementation,
removing pyyaml
2019-02-11 13:29:01 +01:00
yuvipanda
4a3762d38d
Pass in truncated username to systemdspawner
2018-09-14 12:38:13 -07:00
yuvipanda
9b0248e0c3
Normalize unix usernames to be under 32char
...
JupyterHub usernames do not have this restriction,
causing user creation to fail when usernames are too large.
2018-09-12 16:46:59 -07:00
Yuvi Panda
4eeebc991f
Merge pull request #163 from minrk/config-dir
...
put config in `$tljh/config` directory
2018-09-04 18:04:57 -07:00
Min RK
6e27622f76
set cleanup_servers = False
...
leaves users running when the hub restarts
Tests were relying on a bug in 0.9.1 that prevented cleanup due to improper handling of signals
2018-08-29 16:46:04 +02:00
Min RK
204442d370
fix config.yaml path in jupyterhub_config.py
2018-08-29 16:02:41 +02:00
Min RK
2bf23f0b28
put config in a single config directory
...
instead of top-level files
- ensure directory is private
- both tljh and jupyterhub config go in there
- move old config.yaml to new location at install time
2018-08-28 14:15:45 +02:00
yuvipanda
edfbbd8ae9
Use jupyterhub_config.d rather than config.d for overrides
...
Makes it clearer that these are jupyterhub_config.py snippets
rather than config.yaml snippets
2018-08-02 10:59:26 -07:00
yuvipanda
3124cf1f80
Load arbitrary .py config files from a conf.d dir
...
We want to keep the amount of custom code we support extremely
small. This provides a nice escape hatch for everything else.
2018-08-02 10:59:26 -07:00
Min RK
2760e1adcd
consolidate paths in config.py
2018-07-31 12:04:40 +02:00
Min RK
000ac05e14
Add traefik in front of CHP
...
introduces configuration for manual tls and letsencrypt
2018-07-30 14:04:35 +02:00
yuvipanda
9bf4a64826
Dynamically set authenticator properties from YAML
...
We don't wanna explicitly map keys from the YAML to traitlet
config for the authentication - that's a lot of busywork for no
gain. We instead switch to using snake_case everywhere, and
dynamically set traitlet config from YAML config!
2018-07-16 01:39:59 -07:00
yuvipanda
9e1bf84647
Prefix user accounts we create
...
- Helps protect against users named 'root'
- Makes it clearer that you should not rely on these users
for general PAM work, because they are prefixed.
Fixes #9
2018-07-12 13:33:24 -07:00
yuvipanda
570802ba74
Simplify template used for generating systemd unit names
2018-06-29 01:24:30 -07:00
yuvipanda
2cb286c6f1
Set default shell to bash explicitly
...
sh was being used otherwise
2018-06-28 01:33:28 -07:00
yuvipanda
1a4cf5673b
Use high ports for CHP API + JupyterHub
...
This makes it easier to test this distro out on machines
with JupyterHub running already
2018-06-27 17:38:42 -07:00
yuvipanda
47ef27af96
Read yaml config from config.yaml, not jupyterhub.yaml
...
Consistent with z2jh's nomenclature of config.yaml
2018-06-27 16:04:35 -07:00
yuvipanda
12698a20ed
Move all config files inside INSTALL_PREFIX
...
Makes cleanup easier!
2018-06-27 03:17:01 -07:00
yuvipanda
f03e093b90
Explicitly tell JupyterHub it is running on port 80
...
Because it is!
2018-06-27 02:27:37 -07:00
yuvipanda
e957fc3bf0
Don't use sudo for everything
...
We are running as root, and will rely on dropping privs via
systemd rather than sudo
2018-06-27 02:07:49 -07:00
yuvipanda
cf4bd7e36e
Separate jupyterhub & chp services
...
Allows restarting hub for config changes without disrupting user
service!
2018-06-27 02:03:08 -07:00
yuvipanda
459b985a19
Load user lists & auth config from a YAML file
...
- Load config only once at startup.
A lot of jupyterhub config (like user lists) take effect only at
startup, so live reload is not super useful. It will make the
software more complex, so let's not do it.
- Add pyyaml as a dependency of tljh.
- Remove escapism dependency since it is not actually used
2018-06-27 01:19:10 -07:00
yuvipanda
9f35602d42
Remove sudo rights from admins when they are no longer admins
2018-06-27 00:33:41 -07:00
yuvipanda
f90a0fa540
Use classic unix users rather than systemd dynamic users
...
Dynamic Users are neat and probably very useful for a tmpnb
style situation. However, for regular use they have the following
problems:
1. Can't set ProtectHome=no, so you can never apt install or
similar from inside admin accounts.
2. Dynamic uid / gid makes it hard to write sudo rules. We want
admin users to have sudo.
3. Persistent uids / gids are very useful for ad-hoc ACLs between
users. gid sharing isn't the most flexible sharing mechanism,
but it is well known & quite useful.
4. /etc/skel is pretty useful!
2018-06-26 23:50:07 -07:00
yuvipanda
4042288e91
Move jupyterhub_config.py inside the package
...
This is where it's referred to from the systemd package
2018-06-26 18:36:53 -07:00