Commit Graph

168 Commits

Author SHA1 Message Date
yuvipanda
6e6ecdb26b Fix checking for JupyterHub service being up
Would always fail before, since we never returned on
success
2018-07-11 13:01:57 -07:00
yuvipanda
54ebfbce23 Check JupyterHub is running before finishing installer
Integration CI failures were probably caused by us testing
too soon. This should make that less likely
2018-07-11 12:56:52 -07:00
yuvipanda
154cc00a31 Add --admin params to bootstrap / installer to set up admin accts
This removes a big step requiring file changes from the quickstart
path. You can specify the admin username on the commandline.
2018-07-03 16:18:32 -07:00
yuvipanda
2b20a0b766 Make firstuseauthenticator the default
Fixes #14
2018-07-03 11:54:42 -07:00
yuvipanda
715860707b Rewrite bootstrapper in Python
- This was going to get too complex for bash. Only way to
  kill those scripts is before they get too complex.
- Better progress messages from bootstrapper.
- Differentiate between bootstrapper & installer
- Cleanup documentation a little bit
2018-07-02 15:12:26 -07:00
yuvipanda
82e7fa6cdc Add nteract to base install too
- This gives us two alternative notebook frontends
- Also install as many things from pip as possible, to keep
  consistency in the user environment
2018-06-29 00:27:00 -07:00
yuvipanda
3e78ea9040 Add trailing newline to sudoers file
Required by sudo's config syntax
2018-06-28 01:30:14 -07:00
yuvipanda
3f0c8942cc Preserve PATH when using sudo -E
jupyterhub admins should be able to run `sudo -E pip install numpy`
and install numpy into the user environment. However, since pip
is in the PATH we explicitly set in jupyterhub_config.py and
sudo doesn't preserve PATH, this won't work.

We exempt jupyterhub-admins groups from the PATH restriction,
so sudo -E works. This has some security costs, but we are already
allowing passwordless roots for them with unrestricted paths...
2018-06-28 01:22:27 -07:00
yuvipanda
dd53176889 Start JupyterHub / CHP when system starts 2018-06-28 00:49:36 -07:00
yuvipanda
8401012ab6 Start / Restart JupyterHub / CHP as required 2018-06-28 00:06:11 -07:00
yuvipanda
582ef74a61 Restart JupyterHub after each install
Restarting JupyterHub should be non-disruptive, and helps
make the config changes come true ASAP.
2018-06-27 18:07:59 -07:00
yuvipanda
8a19b02864 Install conda & jupyterlab explicitly
conda was not installed in the user environment explicitly,
so users can't install conda packages themselves.

Also install JupyterLab while we're at it :)
2018-06-27 18:05:20 -07:00
yuvipanda
bfd2a8bca3 Store hub state inside install_prefix
rm -rf'ing the prefix should get rid of almost everything
2018-06-27 14:21:08 -07:00
yuvipanda
12698a20ed Move all config files inside INSTALL_PREFIX
Makes cleanup easier!
2018-06-27 03:17:01 -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
4bfc04c225 Add escapism as a package dependency 2018-06-27 00:35:17 -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
5f4aed5b4b Add a simple installer!
Sortof re-invents what debian packages do a little bit.
2018-06-26 18:37:24 -07:00