Commit Graph

1520 Commits

Author SHA1 Message Date
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
6fcc5cd357 Support user resource limits
Set default limit to 1G. Possibly controversial!
2018-06-27 01:30:34 -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
4bfc04c225 Add escapism as a package dependency 2018-06-27 00:35:17 -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
335ba3c8a6 Remove unused old conda package leftovers 2018-06-26 21:21:18 -07:00
yuvipanda
8a2b6f608c Add base conda constructor files 2018-06-26 18:37:57 -07:00
yuvipanda
5f4aed5b4b Add a simple installer!
Sortof re-invents what debian packages do a little bit.
2018-06-26 18:37:24 -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
yuvipanda
4ec145f9b8 Strip out random null bytes better in output fron conda
WAT
2018-06-26 18:36:20 -07:00
yuvipanda
303d2d0e88 Call conda more resiliently 2018-06-26 18:35:58 -07:00
yuvipanda
95a2f1987a Add setup.py 2018-06-26 18:35:19 -07:00
yuvipanda
f7813a9385 Add function to install packages from pip too 2018-06-26 17:38:56 -07:00
yuvipanda
92558e913e Add unit test for conda environment management
- Also fix a bug caught by unit test!
2018-06-26 04:40:39 -07:00
yuvipanda
6dc68210c2 Move conda wrappers to their own module 2018-06-26 04:14:29 -07:00
yuvipanda
56c5e21824 Manage user conda environments from JupyterHub 2018-06-15 16:56:02 -07:00
yuvipanda
f04bf9bdfb Initial commit 2018-06-15 16:17:07 -07:00
Yuvi Panda
4a74ad17a1 Initial commit 2018-06-15 15:37:13 -07:00