aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Dynamically create parent cgroups for nsjailGravatar Joe Banks2021-02-03-6/+22
|
* Merge PR #88 - use protobuf to parse configGravatar Mark2021-02-02-55/+1377
|\
| * Fix typo in error messageGravatar Mark2021-02-02-1/+1
| |
| * Fix typo in READMEGravatar Mark2021-01-14-1/+1
| |
| * Replace nsjpy alias with a Python scriptGravatar MarkKoz2021-01-10-27/+33
| | | | | | | | | | | | | | | | | | The Python script uses the same underlying code Falcon uses to invoke nsjail. It allows for the omission of redundant shell code that set up cgroups and nsjail args. This is also a step towards removing dependence on shell scripts and thus resolving #73.
| * Support overriding nsjail config values with additional argumentsGravatar MarkKoz2021-01-10-2/+8
| |
| * Add comments to justify why cgroup limits are set manuallyGravatar MarkKoz2021-01-10-1/+7
| |
| * Add error handling to reading of the nsjail configGravatar MarkKoz2021-01-10-2/+16
| |
| * Read the Python path and args from the config fileGravatar MarkKoz2021-01-10-3/+2
| |
| * Read cgroup values from the config fileGravatar MarkKoz2021-01-10-18/+7
| |
| * Read the nsjail config into a protobuf Message objectGravatar MarkKoz2021-01-10-0/+13
| |
| * Compile the NsJail config protobuf into Python codeGravatar MarkKoz2021-01-10-1/+1265
| | | | | | | | Include a helper shell script for compilation.
| * Add protobuf as a dependencyGravatar MarkKoz2021-01-10-4/+29
| |
* | Remove trailing whitespaces from the READMEGravatar Matteo Bertucci2021-01-22-1/+1
| |
* | Update the README badgesGravatar Matteo Bertucci2021-01-22-1/+6
| |
* | Merge PR #90 - fix caching of exposed packagesGravatar Mark2021-01-13-22/+23
|\ \
| * | CI: don't do a user install for pre-commitGravatar MarkKoz2021-01-12-1/+2
| | |
| * | Docker: update pipenvGravatar MarkKoz2021-01-12-1/+1
| | |
| * | Fix caching of exposed packagesGravatar MarkKoz2021-01-12-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem with --ignore-installed is that it also ignores packages in the target site, therefore re-installing all packages and making caching futile. Install snekbox's dependencies to the default user site. During installation of the exposed packages, switch the user site to a custom one to ensure pip will not skip packages due to seeing them as already installed as one of snekbox's dependencies. If pip made the --root option ignore packages outside the root, then using --root would be the best solution. There is a 5+ year old issue open about that.
| * | Docker: simplify pipenv install commandGravatar MarkKoz2021-01-11-6/+1
| | |
| * | Docker: add comments to separate stagesGravatar MarkKoz2021-01-11-0/+3
| | |
| * | Docker: move env var definitions to the base stageGravatar MarkKoz2021-01-11-1/+5
|/ / | | | | | | Just a refactor.
* / Force extant packages to install to the user site too during deploymentGravatar MarkKoz2021-01-11-1/+1
|/ | | | Fix #89
* Merge pull request #64 from python-discord/feat/deps/63/pep8-namingGravatar Joe Banks2021-01-10-29/+77
|\
| * Removing trailing whitespaces from README.mdGravatar MarkKoz2021-01-09-1/+1
| |
| * CI: install git in the containerGravatar MarkKoz2021-01-09-0/+6
| | | | | | | | Pre-commit requires git.
| * CI: run pre-commit hooksGravatar MarkKoz2021-01-09-0/+6
| |
| * CI: improve readability of some run commandsGravatar MarkKoz2021-01-09-5/+7
| |
| * Re-arrange settings in .flake8 fileGravatar MarkKoz2021-01-09-11/+13
| |
| * Add more pre-commit hooksGravatar MarkKoz2021-01-09-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hooks added: * check-merge-conflict - checks for files with merge conflict strings * check-toml - attempts to load all toml files to verify syntax * check-yaml - attempts to load all yaml files to verify syntax * end-of-file-fixer - ensures files end in a newline and only a newline * mixed-line-ending - replaces mixed line endings with LF * trailing-whitespace - trims trailing whitespace * python-check-blanket-noqa - enforces that noqa annotations always occur with specific codes See: python-discord/organisation#138
| * Install pep8-namingGravatar MarkKoz2021-01-09-1/+17
| | | | | | | | | | | | It is a flake8 plugin which enforces PEP 8 naming conventions. Resolves #63
| * Update dev dependenciesGravatar MarkKoz2021-01-09-11/+11
|/
* Create dependency cache directory if not presentGravatar Joe Banks2021-01-10-1/+1
|
* Remove erroneous slash from dependencies listGravatar Joe Banks2021-01-10-1/+1
|
* Add leading slash to post-start commandGravatar Joe Banks2021-01-10-1/+1
|
* Merge pull request #87 from python-discord/feat/deps/site-isolationGravatar Joe Banks2021-01-10-446/+149
|\
| * CI: install numpyGravatar MarkKoz2021-01-09-1/+2
| | | | | | | | One of the unit tests depends on numpy.
| * Prevent setting GIT_SHA from invalidating the Docker layer cacheGravatar MarkKoz2021-01-09-2/+5
| |
| * Document how to install additional packagesGravatar MarkKoz2021-01-09-1/+22
| |
| * Swap out configMap for a hostPath for psuedo-persistenceGravatar Mark2021-01-09-2/+3
| | | | | | Co-authored-by: Joe Banks <[email protected]>
| * Add a Docker volume for the user baseGravatar MarkKoz2021-01-09-0/+13
| |
| * Install exposed packages separately during deploymentGravatar MarkKoz2021-01-09-438/+100
| |
| * Use a custom directory for exposed Python packagesGravatar MarkKoz2021-01-09-5/+7
|/ | | | | | | | | | | | | | | | | Isolate snekbox's dependencies from the packages available within the Python interpreter. Disable Python's default behaviour of site-dependent manipulations of sys.path. The custom directory looks like a user site to allow `pip install --user` to work with it. However, snekbox will see it as simply an additional search path for modules rather than as a user site. Disable isolated mode (-I) because it implies (-E), which ignores PYTHON* environment variables. This conflicts with the reliance on `PYTHONPATH`. Specify `PYTHONUSERBASE` in the Dockerfile to make installing packages to expose more intuitive for users. Otherwise, they'd have to remember to set this variable every time they need to install something.
* Merge pull request #86 from python-discord/precommit-pycharmGravatar Mark2021-01-02-1/+1
|\ | | | | Make flake8 properly run through pre-commit in PyCharm.
| * Changed Python language hook to system.Gravatar xithrius2021-01-02-1/+1
|/
* Merge PR #85 - Sentry releasesGravatar Mark2020-12-20-2/+32
|\
| * Fix getting Git SHA in workflowGravatar ks1292020-12-20-1/+1
| |
| * Add Sentry release to SDK initializationGravatar ks1292020-12-20-1/+3
| |
| * Create workflow for Sentry release creationGravatar ks1292020-12-20-0/+24
| |
| * Add Git SHA build argument to Docker build in workflowGravatar ks1292020-12-20-0/+2
| |