You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Docker Socket Proxy has been deprecated since AppAPI 34: occ, the admin settings and the daemon log all announced its removal. HaRP is now the only way to deploy ExApps on Docker, so AppAPI no longer needs its own Docker code. That code created, started and stopped DSP containers itself, and installed CA certificates by starting the container, running commands in it, stopping it and starting it again.
Changes
A docker-install daemon requires HaRP. occ app_api:daemon:register and the admin settings refuse Docker Socket Proxy daemons and daemons on a Docker socket, so a script that registers one again now fails instead of skipping it. AIO auto-registration only warns when AIO still runs its Docker Socket Proxy. The --haproxy_password option is gone.
Existing Docker Socket Proxy daemons stay registered, and Nextcloud keeps reaching their ExApps directly, so nothing stops working on upgrade. AppAPI no longer talks to these daemons:
Install, update, test deploy and logs answer that the daemon is no longer supported.
Enable checks the ExApp's heartbeat once instead of starting its container, and fails at once with the reason when the ExApp does not answer.
Disable leaves the container running.
Uninstall removes the ExApp from AppAPI but keeps its container and data volume.
The daemons can only be removed; editing them or their registry mappings is refused.
A new setup check names the Docker Socket Proxy daemons, and the deploy daemon check reports a Docker Socket Proxy default daemon. Both link to the migration steps in the HaRP README.
To move an ExApp, uninstall it keeping its data and install it on a HaRP daemon on the same Docker host. HaRP uses the same container and volume names, so it replaces the old container and keeps the data.
The admin settings drop the Docker Socket Proxy templates and the HTTPS switch, and show the HaRP switch for manual install daemons only.
GET /apps/uninstall/{appId} loses removeContainer, which only the Docker Socket Proxy path read.
The Docker deploy CI jobs run on HaRP. The Docker Socket Proxy jobs are removed, and so are the Docker socket jobs that HaRP jobs already cover. The Makefile with its Docker Socket Proxy targets is removed.
Merge with nextcloud/HaRP#163: the setup checks link to the README section it adds.
No actionable comments were generated in the recent review.
Walkthrough
Docker deployments now use HaRP, and direct Docker Engine deployment paths have been removed. Daemon registration and updates reject Docker Socket Proxy configurations. Existing ExApps on those configurations have restricted operations, and uninstall keeps their containers and data volumes. Setup checks and administration screens identify unsupported configurations. Deployment workflows and tests use HaRP. Documentation and the uninstall API description reflect the changed support and options.
Merge Risk: Moderate · up to d1f48
Existing CUDA ExApps on CDI-only Podman hosts may lose GPU access when migrated to HaRP, and the release notes do not say that uninstalling a Docker Socket Proxy ExApp keeps its container and data volume. The core Docker Socket Proxy removal and refusal behavior looks coherent, and the registry error handling is fixed. Resolve or explicitly accept the GPU migration gap before merging.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title names the main change: removing Docker Socket Proxy daemon support. The changeset removes DSP management code, refuses new DSP registrations, and makes HaRP the Docker deployment path. The t…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Description check
The description explains the removal of Docker Socket Proxy (DSP) code from AppAPI and the move of Docker deployments to HaRP. It lists concrete changes that match the changeset: the daemon registrati…
Full details: Title check
Explanation
The title names the main change: removing Docker Socket Proxy daemon support. The changeset removes DSP management code, refuses new DSP registrations, and makes HaRP the Docker deployment path. The title is short and specific. The breaking-change marker (!) fits the uninstall API and daemon registration changes.
Full details: Description check
Explanation
The description explains the removal of Docker Socket Proxy (DSP) code from AppAPI and the move of Docker deployments to HaRP. It lists concrete changes that match the changeset: the daemon registration refusal, the upgrade behavior for existing DSP daemons (install, update, enable, disable, uninstall), the new setup check, the removed --haproxy_password and removeContainer parameters, the admin settings changes, and the CI job and Makefile removals. The description is specific and on-topic, so it passes the lenient relatedness check.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review.
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to GitHub limitations.
⚠️ Outside diff range comments (1)
Minor · Handle error arrays from the Docker registry service methods. · DaemonConfigController.php:404
lib/Controller/DaemonConfigController.php:404 Minor · Stability & Availability · Quick win
Handle error arrays from the Docker registry service methods.
addDockerRegistry and removeDockerRegistry return ['error' => ...] for Docker Socket Proxy daemons. The controller checks only for null. It then calls jsonSerialize() on the array, which raises a PHP Error. The endpoint returns a server error instead of the unsupported-daemon message. Invalid registry input follows the same failure path.
Return the service error array before serialization. The existing 500 status matches the declared array{error: string} response.
Suggested fix
In addDaemonDockerRegistry:
$daemonConfig = $this->daemonConfigService->addDockerRegistry($daemonConfig, $registryMap);
+ if (is_array($daemonConfig)) {+ return new JSONResponse($daemonConfig, Http::STATUS_INTERNAL_SERVER_ERROR);+ }
if ($daemonConfig === null) {
In removeDaemonDockerRegistry:
$daemonConfig = $this->daemonConfigService->removeDockerRegistry($daemonConfig, $registryMap);
+ if (is_array($daemonConfig)) {+ return new JSONResponse($daemonConfig, Http::STATUS_INTERNAL_SERVER_ERROR);+ }
if ($daemonConfig === null) {
Review info
Run configuration
Source mode: Auto
Repository: Unavailable
Branch: Unavailable
File: No configuration file from this repository applied
Commit: Unavailable
Layers: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 96fc1aa0-fba1-4113-8ad8-b1dd6178ba58
Commits
Reviewing files that changed from the base of the PR and between 072b6b4 and 0ceffc4.
Files ignored due to path filters: 2
js/app_api-adminSettings.js.map is excluded by !**/*.map
src/constants/__snapshots__/daemonTemplates.spec.js.snap is excluded by !**/*.snap
Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docker Socket Proxy has been deprecated since AppAPI 34: occ, the admin settings and the daemon log all announced its removal. HaRP is now the only way to deploy ExApps on Docker, so AppAPI no longer needs its own Docker code. That code created, started and stopped DSP containers itself, and installed CA certificates by starting the container, running commands in it, stopping it and starting it again.
Changes
docker-installdaemon requires HaRP.occ app_api:daemon:registerand the admin settings refuse Docker Socket Proxy daemons and daemons on a Docker socket, so a script that registers one again now fails instead of skipping it. AIO auto-registration only warns when AIO still runs its Docker Socket Proxy. The--haproxy_passwordoption is gone.GET /apps/uninstall/{appId}losesremoveContainer, which only the Docker Socket Proxy path read.Merge with nextcloud/HaRP#163: the setup checks link to the README section it adds.