Releases: srtab/daiv-sandbox
Releases · srtab/daiv-sandbox
v0.1.0-rc.10
Changed
- Moved
LANGUAGE_BASE_IMAGES
fromdaiv_sandbox/main.py
todaiv_sandbox/languages.py
.
Fixed
- Changed strategy to determine where the run will execute inside the container. Now the default user and working directory are considered to avoid privileges issues.
v0.1.0-rc.9
Fixed
- Fixed issue when images have limited privileges.
Chore:
- Updated dependencies:
ipython
from 8.30 to 8.31pydantic
from 2.10.3 to 2.10.4pydantic-settings
from 2.6.1 to 2.7.0ruff
from 0.8.2 to 0.8.4mypy
from 1.13.0 to 1.14.0
v0.1.0-rc.8
Added
- Added
HOST
andPORT
settings to allow overriding the host and port of the service. - Added
LOG_LEVEL
setting to allow overriding the log level of the service.
Fixed
- Fixed logging configuration for
daiv_sandbox
logger, no logs where being written to the console. - Fixed
SENTRY_ENABLE_TRACING
setting to be a boolean or an integer.
v0.1.0-rc.7
Added
- Added
ping
method toSandboxDockerSession
to check if the Docker client is responding.
Changed
- Changed
health
endpoint to check if the Docker client is responding and avoid starting the service if it is not responding. - Changed default
DOCKER_GID
to991
.
v0.1.0-rc.6
Added
- Added
SENTRY_ENABLE_TRACING
configuration to enable Sentry tracing. - Added
EXPOSE 8000
to theDockerfile
to explicitly expose the port.
Changed
- Updated dependencies:
ipython
from 8.29 to 8.30pyopenssl
from 24.2.1 to 24.3.0ruff
from 0.8.0 to 0.8.2
v0.1.0-rc.5
Added
- Added
Dockerfile
args to allow overriding the application UID and GID, and docker GID.
Fixed
- Fixed the
Dockerfile
to create theapp
user with the correct group and user IDs to avoid permission issues. - Fixed the
Dockerfile
to create thedocker
group with the correct GID to allow theapp
user to access the docker socket.
v0.1.0-rc.4
Added
- Added
HEALTHCHECK
to theDockerfile
.
Fixed
- Fixed
Dockerfile
to create theapp
user with the correct home directory defined.
Changed
- Changed
/health/
endpoint to/-/health/
. - Changed
/version/
endpoint to/-/version/
.
v0.1.0-rc.3
Changed
- Improved
Dockerfile
for production use. - Updated dependencies:
fastapi
;pydantic
;sentry-sdk
.
Fixed
- Fixed issue on
run_id
being passed as anUUID
to theSandboxDockerSession
class instead of astr
. - Fixed missing
curl
dependency onDockerfile
for healthcheck.
v0.1.0-rc.1
Added
- Added logging to the application.
- Added
__version__
to the project. - Added
health
endpoint to check if the service is healthy. - Added
version
endpoint to get the version of the service. - Added API Key authentication to command run endpoint.
- Added more metadata to the OpenAPI schema.
- Added support to pass a
workdir
to the command run endpoint. - Added to settings
KEEP_TEMPLATE
to allow keeping image templates after command execution. - Added to settings
RUNTIME
to allow choosing the container runtime.
Changed
- Changed
Pydantic
models to specificschemas.py
file. - Changed way to declare
root_path
of endpoints to be more maintainable. - Changed the way to extract changed files from the container, now it returns changed files by the executed command.
- Changed
README.md
to include usage examples, security information and configuration options. - Changed
settings
to support loading secrets from/run/secrets
directory. - Changed
settings
to prefix all environment variables withDAIV_SANDBOX_
. - Moved
ipython
dependency todev-dependencies
.
Removed
- Removed
--workers
from theCMD
in theDockerfile
to allow scaling using docker replicas. - Removed
PROJECT_NAME
from the configuration. - Removed
get-docker-secret
dependency. - Removed
python-decouple
dependency. - Removed
python-multipart
dependency.
Fixed
- Fixed issue on command quoting using
shlex.quote
, which was causing double quoting of the command. - Fixed issue on extracting changed files from the container, it was returning a
tar
inside anothertar
. - Fixed Docker image with
latest
tag not being pushed to the repository.
v0.1.0-alpha.2
Changed
- Changed
execute_command
method to use/bin/sh -c
to properly handle shell quoting.
Fixed
- Fixed issue extracting changed files from the container when command exited with non-zero code.
- Fixed
containers.run
method to usetty=True
to properly handle interactive sessions.