| Commit message (Collapse) | Author | Age | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
`pipenv run` creates a venv because it cannot detect that a --system
install was done. The solution is to invoke gunicorn directly.
|
|
|
|
|
| |
There will be more config files to come so it's cleaner to have them
together than littering the root directory with more files.
|
|
|
|
|
|
|
|
|
|
|
| |
A virtual environment is redundant in the context of deployment. It
just increases the size and build time of the image.
* Replace venv with system interpreter
* Mount Python binaries in /usr/local/bin in NsJail
* Fix #61: Python symlink in venv not resolving
* Re-lock Pipfile because it wasn't up to date according to
pipenv install --deploy
|
|
|
|
|
|
|
|
|
|
|
|
| |
devfs and sysfs were problematic since they were being mounted as
tmpfs, which is r/w. For example, the Python process could write to
cgroups. Now, only what is needed to run Python gets mounted. This
boils down to the venv itself and some shared libraries Python needs.
* Use a config file for NsJail instead of command-line options
* Map 65534 (nobody) user & group inside the user namespace to 65534
outside the namespace rather than mapping to current uid/guid (which
was 0 AKA root)
|
| |
|
|
|
|
|
| |
A C compiler is needed for some of the Python libraries to build
because they don't have wheels >:(
|
|
|
|
|
| |
Unlike Alpine, Python manylinux wheels work on Debian because it's a
glibc-based distro.
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently, the dev image is broken due to typed-ast being present and
requiring GCC and Python.h. Supposedly that package will be made
optional by flake8-annotations in a later update.
* Use the Python image for the base image's first stage to save
downloading a separate alpine image.
|
| |
|
|
|
|
|
|
|
| |
Unspecify the depth to make the clone non-shallow again. A depth of 1 was too
shallow as it only allowed the latest commit to be cloned. An arbitrary larger
depth would still break eventually. The repository is small enough to not
warrant a shallow clone anyway.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* Put scripts in a new scripts folder
|
| |
|
|
|
|
|
|
|
| |
* Venv image can sync dev dependencies
* Copy tests to image
* Add a Pipenv script for running a development shell in a container
* Add Pipenv scripts for building dev images
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Create a separate image for the virtual environment
* Build NsJail in the base image
* Remove the NsJail binaries
* Replace tini with Docker's init feature
* Update Python to 3.7.3
|
|\ |
|
| |
| |
| |
| |
| | |
This PR is to add CI settings to master and to test the PR CI pipeline.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
make snekbox a class
adds nsjail 2.5 (compiled on alpine 3.7)
execute python code via nsjail
|
| |
|
| |
|
| |
|
| |
|
|
|