Commit Graph

29 Commits

Author SHA1 Message Date
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