Repository navigation
Conversation
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What is this PR about?
Adds Azure DevOps as a PAT-authenticated Git source for Applications and Docker Compose, with project/repository/branch discovery and automatically managed push hooks. The REST API 7.0 client preserves Server collection paths and Services organization URLs. Credentials are encrypted at rest, supplied through temporary process environment or SSH stdin, and excluded from clone URLs, logs, persistent Git configuration and service responses.
Source saves preserve deployment status. Leaving Azure rotates the service webhook token; tokens for other providers are preserved. Azure cleanup work is limited to Azure sources or retained Azure hook records. Hook failures retain the saved source and expose retry/cleanup information. Source forms include colored hook-status badges and a shortcut to the selected project's Azure Service Hooks page.
Compose path-only edits enforce provider source permissions and reject traversal/absolute paths. Provider dialogs refresh cached details after saving and preserve edited fields during background refreshes. Clone progress streams to deployment logs with credential masking across chunk boundaries and separate output streams; existing process-output callbacks retain their default behavior.
Migration
0198_azure_devops.sqladds the provider, source fields and retained hook records, and extends three enums. Clean installs and upgrades preserve existing source types and service statuses; no data conversion is required.Validation
cef37f307, after merging upstreamcanary(e255f6999): fresh frozen-lockfile install on Linux with Node 24.22.1 and pnpm 10.22.0. The complete test suite passed in two non-overlapping runs: 1,576 standard tests plus nine real deployment/monitoring tests in a dedicated Docker-in-Docker daemon, with one existing Railpack test skipped. All workspace typechecks, server build and workspace production build passed. Read-only Biome checked 60 PR files with zero errors/warnings and one unchanged upstream informational finding; whitespace checks passed. The isolated Docker daemon and its volumes were removed. An unchanged upstream remote-stream test timed out in an earlier parallel run; its targeted retry and the final complete sequential run passed. GitHub Pull Request and autofix.ci workflows now trigger, but require upstream maintainer approval for this fork PR; no GitHub jobs have executed yet.Azure DevOps Server 2022 (AzureDevOpsServer_20221122.1). Real Azure-origin pushes automatically deployed Application and Compose fixtures over a restricted HTTPS tunnel. Two distinct valid PATs were used; replacing the fixture provider PAT preserved hook and deployment operation. Hooks passed create/update, token rotation, disable/delete/reenable and recreation after 404. Matching/nonmatching watch paths passed.Validation limits
On-premises live acceptance and minimum PAT scope checks used the Server build identified above; they do not certify a separate 2022.1 installation. Live Azure submodule validation used a pinned commit from another fixture branch in the same repository. Cross-repository private submodule access remains unverified because the test PAT could not create a separate repository. Separate-host acceptance covered Dockerfile Applications and docker-compose services; other buildpacks and public domain/TLS routing were outside that run. A controlled HTTP 503 callback outage does not certify every DNS, TLS or network-failure scenario.
Checklist
canary.Dokploy/website.Issues related
Closes #1949.
Documentation
The companion website contribution adds
apps/docs/content/docs/core/(Git-Sources)/azure-devops.mdxand targetsmain.Companion documentation PR: Dokploy/website#209