Changelog for the Kiosc Django app package. Loosely follows the Keep a Changelog guidelines.
- Replaced Daphne with uvicorn and enabled multiple workers for performance optimization (#132)
- Updated to
channels
version 10.1 - Forced pip to build with old dependency solver as the new one is buggy
- Fix broken async small file serving (#147)
- Fix broken
django-revproxy
dependency - Fix parallel testing errors with Docker (#152)
- Updated to
sodar-core
version 0.13.0
- Fixed broken kioscadmin url (#132)
- Made number of container log lines adjustable, defaults to 1000, overall max value is by default 10000 (#136)
- Added visual response to proxy lobby when starting a container via the eye icon (#143)
- Fixed permission rights when fetching container details (#143)
- Speed improvement when displaying logs (#143)
- Added manual (#97, #99)
- Migrated to SODAR core v0.10.5 (#97)
- Fixed menu notches display bug (#97)
- Added user story to documentation for a guest user that wants to view the web interface provided by the container (#103)
- Extended documentation with a cookbook section containing examples on container creation (#116)
- Activated filesfolders app (#112)
- Added figures to manual (#118)
- Increased max file upload size to 50 MB (#118)
- Added file serve view for internal access for containers (#112)
- Added
container_ip
field toContainer
model (#112) - Added AJAX functionality to dynamically load state and logs of a container in list and detail views (#122)
- Exposing
title
,description
andcontainer_port
as environment variables to Docker container (#124)
- Added view for overall container and Docker information (#37)
- Added commands
stop_unused
,remove_stopped
andstop_all
(#37) - Moved container maintenance tasks from
Container
app toKioscadmin
app (#37) - Added tests for commands, views and tasks (#108)
- Added documentation (#109)
- Added REST API view for creating/listing a container (#40)
- Added REST API view for starting/stopping a container (#41)
- Added REST API view for deleting a container (#42)
- Migrated to SODAR core v0.10.4
- Switched to Docker deployment
- Added site-wide apps to menu (#30)
- Migrated to SODAR core v0.10.3
- Celery production settings which prevented workers from receiving jobs
- UI improvements (#81)
- Added setting
KIOSC_DOCKER_MAX_INACTIVITY
to set maximal inactivity timespan (#62) - Replacing
gunicorn
withdaphne
- Enabled websockets via channels in daphne
- Added app itself (#29)
ContainerTemplates
model (#29)- Views for creating/updating/deleting and viewing details of
ContainerTemplate
(#29) - Permissions for
ContainerTemplate
views (#29) - View for duplicate a
ContainerTemplate
(#30) - Renamed
ProjectApp
toSiteApp
(#30) - Removed
project
field fromContainerTemplates
model (#30) ContainerTemplateProject
model (#31)- Views for creating/updating/deleting/duplicating and viewing details of
ContainerTemplateProject
(#31) - Permissions for
ContainerTemplateSite
views (#31) ProjectApp
re-introduced living alongsideSiteApp
(#31)- Renamed
ContainerTemplate
model toContainerTemplateSite
(#31) - View and forms to copy site-wide and project-wide container template (#32)
- Added optional foreign key
containertemplatesite
toContainerTemplateProject
model (#32) - Added AJAX view to get values of a site- or project-wide containertemplate (#33)
- Added field
inactivity_threshold
toContainerTemplateBase
model to adjust inactivity timespan X (#62) - Removed
environment_secret_keys
field fromContainerTemplateBase
model as they should not be allowed in templates (#83) - Updated detail page concerning links between site- and project-wide templates (#85)
- Changed internal naming of URLs (#30)
- Field
environment
now optional (#31) - Fixed setting the environment variables in the container (#32)
- Fixed bug in parsing of docker log date (#32)
- Starting and restarting a container now removes old container and creates a new one (#72)
- Detail page now allows for managing the container (#72)
- Extended container logs with stack trace in case of unknown error
- Added
ContainerActionLock
model to throttle actions performed on a container (#75) - Accepting
__KIOSC_URL_PREFIX__
in theenvironment
field, being replaced by the reverse proxy url - Added fuctionality to copy values from a site- or project-wide containertemplate to the container form (#33)
- Added title and description to
Container
model (#81) - Delete action added that stops and deletes Docker containers and not just the container database object (#63)
- Adjusted proxy lobby view to start containers asynchronously (#62)
- Added more checks and differientated error messages to proxy view (#62)
- Added periodic task running once a day to stop running containers when not accessed for timespan X (#62)
- Added field
inactivity_threshold
toContainer
model to adjust inactivity timespan X (#62) - Fixed environment secret key feature that still showed the values of the secret keys (#83)
- Fixed bug in statemachine that prevented users from deleteing failed containers
- Updated detail page concerning links to templates (#85)
- Containers
-
process
field toContainerLogEntry
to reflect which process writes to the logs (#26) -date_docker_log
field toContainerLogEntry
to represent the time of the Docker log entry (#26) -ContainerLogEntryManager
to allow ordering by date of log or date of Docker log (#26) - Permission to view logs (#26) - Task to pull docker logs and the current status (#26) - Periodic task pulling docker log and status (#26) -restart
,pause
andunpause
action (#27) - python-statemachine v0.8.0 dependency (#27) - Statemachine for controlling flow of a container (#27) - Switch class for coordinating actions with the statemachine (#27) -date_last_status_update
field toContainer
model to store the date of the last status update (#59) -max_retries
field toContainer
model to set number of maximum retries to match the expected Docker container state (#59) -get_repos_full()
method toContainer
model (#59) -retries
field toContainerBackgroundJob
model to count retries of matching the expected Docker container state (#59) -sync_container_state_with_last_user_action
task, running periodically (#59) -is_project_guest
permission to proxy rule (#28) -ContainerProxyLobbyView
called when viewing a container not in staterunning
(#28)
- General - Bumped github workflow Ubuntu version to 20.04 (#28)
- Containers
- Purpose of
timeout
field inContainer
model (#59) - Output of__str__
and__repr
ofContainer
model (#59) - Refined mocking of Docker API (#59) - Updating a container triggers a restart if in staterunning
orpaused
(#28)
- Containers
-
timeout_exceeded
field inContainer
model (#59)
- Containers - Logging with timeline for views and tasks (#24) - Container-centric logging (#25)
- General - urllib3-mock 0.3.3 dependency (#21)
- Containers - Tests for views (#21) - Tests for permissions (#21) - Tests f0r forms (#21) - Tests for models (#23) - Tests for tasks (#22)
- General - Initial commit based on SODAR core v0.9.1 (#16) - Strings are formatted using double quotes (#17) - Docker 5.0.0 dependency (#19) - Logo and color scheme (#20) - Revproxy 0.10.0 dependency (#20)
- Containers
- App itself (#17)
- Models
Container
,ContainerBackgroundJob
andContainerLogEntry
(#17, #18) - Views/templates/urls for listing, creating, updating and deleting container objects and viewing its details (#18) - Permission rules for viewing, creating, editing and deleting container objects (#18) - Task to pull an image and start and stop a container (#19) - Views to start and stop a container (#19) - Activated Celery support (#19) - Reverse proxy with view and url (#20)
- General - Upgrade to Django v3.1.7 (#47) - Upgrade to SODAR core pre-v0.10.0 (#47) - Bumped Celery version to 5.0.5 (#19)