yuvipanda
8f966ce8c9
Install jupyterhub extension for jupyterlab
2018-08-13 15:36:20 -06:00
yuvipanda
7539c5d946
Use node 8, not 10
...
JupyterLab currently doesn't let you install extensions
with node 10, so move back to 8
2018-08-13 14:17:41 -06:00
yuvipanda
28af89a381
Move tljh-config symlink to /usr/bin
...
Removes a lot of 'sudo -E' usage, and eventually should
let us get rid of the $PATH override for jupyterhub-admins,
which arguably is less secure than just dropping stuff into
/usr/bin
Also remove sudo -E from apt and mkdir calls. Not necessary.
2018-08-12 22:05:18 -07:00
yuvipanda
841c25e1bd
Add plugin hook to modify config.yaml post install
2018-08-12 09:30:37 -07:00
yuvipanda
d12345e72a
Add plugin support to the installer
...
TLJH is a great base to build 'stacks' on top of
for various use cases. These 'stacks' should be built by
people who are domain experts in their fields, and easily
updateable with new TLJH versions. Extension points need
to be very clearly defined & evolvable, so we can modify
TLJH without fear of breaking everything.
[pluggy](https://pluggy.readthedocs.io/ ) is the plugin
mechanism for pytest spun out into its own library,
and fits our requirements well.
There is an experimental pangeo stack in progress at
https://github.com/yuvipanda/tljh-pangeo for an example
of how this would work
2018-08-12 09:30:37 -07:00
yuvipanda
1f4acfead3
Install gcc by default
...
Required by psutil, which is required by nbresuse
2018-08-04 09:58:28 -07:00
yuvipanda
37b3778264
Install nbresuse by default
...
Extremely useful to see how much RAM you are using right now
2018-08-03 15:09:38 -07:00
yuvipanda
6e29dd5db9
Error out if there's a tljh-config that isn't ours in PATH
2018-08-01 18:53:50 -07:00
yuvipanda
6394652025
Fix ensure_symlinks to use method that actually exists
2018-07-31 13:23:43 -07:00
yuvipanda
a6373200ec
Symlink tljh-config to /usr/local/bin
...
This lets `sudo -E` work when calling tljh-config. It currently
does not, since we do not add the hub venv to PATH
2018-07-31 13:16:57 -07:00
Min RK
2760e1adcd
consolidate paths in config.py
2018-07-31 12:04:40 +02:00
Min RK
581b4969f5
traefik can give 502 while starting up
2018-07-30 14:33:02 +02:00
Min RK
fcdce11cae
ensure state dir exists before putting files in it
2018-07-30 14:04:36 +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
44df8906cb
Create /opt/tljh if it does not exist in installer
...
This helps when you are just running the installer,
without the bootstrap
2018-07-29 02:19:30 -07:00
yuvipanda
414d3932ac
Log bootstrap / installer messages to file as well
...
This enables debugging when a server does not come up as
expected.
Fixes #22
2018-07-29 02:17:12 -07:00
yuvipanda
fc0ecb6699
Use venv for base hub environment
...
- TLJH should support raspberry pi, which runs ARM. conda does
not support ARM.
- Get nodejs from nodesource instead of conda or default repositories.
Default repositories get out of date pretty quickly.
- Install CHP from npm
2018-07-19 18:01:30 -07:00
Bastian Greshake Tzovaras
1364305fee
fix typo in installer
2018-07-19 16:04:16 -07:00
Yuvi Panda
27f9d10724
Merge pull request #59 from minrk/state-outside
...
move state outside envs
2018-07-19 10:33:24 -07:00
Min RK
1799732e50
jupyterhub 0.9.1, notebook 5.6.0
2018-07-19 01:42:21 -07:00
Min RK
bcf31a979c
fix permissions on initial install
...
running installer as root allows some file ownership from the archive to be set as a user other than root
2018-07-19 01:30:04 -07:00
Min RK
00797b404c
move state outside envs
...
so it can be managed separately more easily
2018-07-18 23:15:47 -07:00
Min RK
24b535d524
move proxy secret to state dir
2018-07-18 23:12:18 -07:00
yuvipanda
d1bb4c8a1d
Install nbgitpuller by default
2018-07-18 15:48:40 -07:00
yuvipanda
3d74ee71b3
Add option to install requirements.txt file on install
...
Also add docs about --admin option
Refer #49
2018-07-18 01:01:37 -07:00
yuvipanda
0385f8e5f7
Add LDAP & OAuthenticator to initial install
2018-07-16 16:19:16 -07:00
yuvipanda
3b6a964a4d
Install all python packages in hub environment with pip
2018-07-16 01:28:18 -07:00
Romain Primet
61a7f80df2
handle 404 and 503 transient errors
2018-07-13 14:56:00 +00:00
Romain Primet
c24b536bd9
handle 503 as well
2018-07-13 16:29:30 +02:00
Romain Primet
baef6d0bd9
handle transient 404
2018-07-13 15:55:41 +02:00
Romain Primet
7c245d0868
remove hard-coded constant from retry loop
2018-07-13 15:36:44 +02:00
yuvipanda
e4a059a81a
Bump systemdspawner version
2018-07-12 16:56:20 -07:00
yuvipanda
6d3efffcb5
Upgrade systemdspawner to v0.10
2018-07-11 14:29:24 -07:00
yuvipanda
76ddc5b047
Bump version of conda installed in user environment
2018-07-11 13:07:45 -07:00
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