World-Readable seem to be a surprising default for many people,
especially in teaching context. Switch to a more reasonable rwxr-x---
We have to issue a chmod, as changing at creation time would require
changin /etc/adduser.conf DIR_MODE=0760 (or whatever), but that seem
unwise.
We do not set the exact permission in case the DIR_MODE is more
restrictive.
Closing #158
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
conda's stderr is *not* guaranteed to be JSON when you are
passing --json. We let it bleed through for now. In the
longer term, we should capture this separately.
Ref #148, which I think is caused by this (along with conda
releasing a newer version than what we have)
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.
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
We do not want users to hand-edit YAML files. This has been a
major source of bugs and confusion for users in z2jh. Doing so
in a terminal text editor makes it even worse.
This lets users type commands directly to modify config.yaml file
rather than edit files directly. This makes it a lot less error
prone and user friendly.
Advanced users can still edit config.yaml manually.
Fixes#38
We can no longer assume that sys.executable has conda
installed. Instead, we require that prefix has conda installed.
This requires miniconda to be installed into prefix.
- 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