Commit Graph

1370 Commits

Author SHA1 Message Date
yuvipanda
b874e6c7f0 [CI] Don't use sudo to run tests
We're already running as root in the miniconda image
2018-06-29 02:21:02 -07:00
yuvipanda
97fed91c80 [CI] Fix key used for caching conda env 2018-06-29 02:20:43 -07:00
yuvipanda
fb1472cc77 Use miniconda to run tests on circleci
Since we need the conda library to run our unit tests
2018-06-29 02:18:45 -07:00
yuvipanda
e9f965be5b Add initial circle ci config
Let's try run the unit tests in the tljh module first
2018-06-29 02:05:36 -07:00
yuvipanda
f86e442ec1 Don't install hub's conda if you don't have to
This lets us use the installer script as an upgrade script as well
2018-06-29 01:49:28 -07:00
yuvipanda
142ff51ccb Reword contributing section in index.rst 2018-06-29 01:35:19 -07:00
yuvipanda
570802ba74 Simplify template used for generating systemd unit names 2018-06-29 01:24:30 -07:00
yuvipanda
3ed58fc40c Add guide on picking a notebook interface 2018-06-29 01:11:21 -07:00
yuvipanda
78c9be32ab Allow configuring default notebook interface from config.yaml
Also fix bug in how overrides were being done in config.yaml
2018-06-29 00:47:08 -07:00
yuvipanda
a7e58626dd Cleanup sudo / root usage in dev setup instructions 2018-06-29 00:28:03 -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
903bf46409 Make bootstrap script actually respect PIP overrides 2018-06-29 00:22:50 -07:00
yuvipanda
9cc05a9d62 Add docs for setting up a developer environment 2018-06-28 18:30:19 -07:00
Yuvi Panda
69c59e6df2 Merge pull request #3 from gedankenstuecke/patch-1
allow upgrade of miniconda during install
2018-06-28 16:49:27 -07:00
Bastian Greshake Tzovaras
d4e208a3a6 allow upgrade of miniconda during install 2018-06-28 16:46:25 -07:00
yuvipanda
47879aee5a Add guide for customizing user environments 2018-06-28 15:45:22 -07:00
yuvipanda
a461f5b51b Fix PyYAML requirement version
There is no 4.x
2018-06-28 14:32:07 -07:00
yuvipanda
beb3e84942 Move sensitive info warning higher up in the doc
This applies to *all* logs!
2018-06-28 13:39:47 -07:00
yuvipanda
28a55525b7 Fix typo causing reference failures 2018-06-28 13:15:58 -07:00
yuvipanda
cd8be3788a Add a troubleshooting section 2018-06-28 13:05:57 -07:00
yuvipanda
f6e61fbbe8 Crosslink from Tutorial to Guide & add another image 2018-06-28 12:06:31 -07:00
yuvipanda
656a76097d Cleanup prose + add images to quickstart tutorial 2018-06-28 11:54:56 -07:00
yuvipanda
f0639ec03c Make math render properly in requirements 2018-06-28 11:54:36 -07:00
yuvipanda
d552c08f6a Update requirements doc to have more useful info 2018-06-28 02:53:32 -07:00
yuvipanda
1cfc37a23b Add a quickstart tutorial & re-organize index page
We split docs into tutorials & more in-depth guides.
2018-06-28 02:34:51 -07:00
yuvipanda
2cb286c6f1 Set default shell to bash explicitly
sh was being used otherwise
2018-06-28 01:33:28 -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
30486963d7 Fix rST syntax errors 2018-06-28 00:46:22 -07:00
yuvipanda
aa01225b0a Switch to sphinx+rtd for documentation
- mkdocs doesn't support GFMD, so is a different dialect
- recommonmark seems abandoned
- Couldn't get m2r to work

So RST + Sphinx it is!
2018-06-28 00:39:55 -07:00
yuvipanda
8401012ab6 Start / Restart JupyterHub / CHP as required 2018-06-28 00:06:11 -07:00
yuvipanda
893c54b79e Mark systemd dependencies between chp / jupyterhub
- Requires= makes success of CHP a hard dependency for JupyterHub
- After= waits for CHP to start before jupyterhub starts
- Start CHP after networking is ready (properly)
2018-06-28 00:04:46 -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
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
fc30523867 Add docs on admin access 2018-06-27 17:19:54 -07:00
yuvipanda
6f073e25bc Add docs with mkdocs
There isn't going to be much code generation here, so let's
start with mkdocs and see if it is good enough for us!
2018-06-27 16:33:14 -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
5b92cd5e72 Use miniconda3 directly, do not use conda constructor
Conda constructor wasn't providing enough use to justify its
restrictions:

1. It doesn't work with most of conda-forge due to
   https://github.com/conda/constructor/issues/86#issuecomment-330863531.
   Almost all the packages we want to ship are in conda-forge.
2. There is no way to pass environment variables to the post-install
   script, which makes customization super hard.
3. Can't bundle pip packages, so we need internet access to install
   packages anyway. This negates the 'offline installable' aspect of
   conda constructor.
4. We need an installer script that users can curl into bash regardless.

Downloading & installing miniconda straight up seems simple enough
for now, and has a reasonable upgrade pathway. I think it'll work out ok!
2018-06-27 15:41:34 -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
cd38386d25 Set PATH properly when starting configurable-http-proxy 2018-06-27 03:24:28 -07:00
yuvipanda
c1fcf414d5 Handle config.yaml file missing 2018-06-27 03:20:02 -07:00
yuvipanda
12698a20ed Move all config files inside INSTALL_PREFIX
Makes cleanup easier!
2018-06-27 03:17:01 -07:00
yuvipanda
de7fda47db Install conda packages from conda-forge explicitly
I don't think the default channel fields in construct.yaml are
working.
2018-06-27 03:05:24 -07:00
yuvipanda
82a440d46c Install tljh from github 2018-06-27 02:56:47 -07:00
yuvipanda
7c1e0b612d Include conda channels in hub environment 2018-06-27 02:56:09 -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
ac7bd88105 Hide stdout from pip installs 2018-06-27 02:14:20 -07:00
yuvipanda
aa522faf7f Don't use tee to write service unit files
We are running as root now directly, no need to tee
2018-06-27 02:10:26 -07:00