Add Server-Side Repository Cloning Feature for Semaphore Pro#21
Draft
Add Server-Side Repository Cloning Feature for Semaphore Pro#21
Conversation
Author
|
@fiftin 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
…lementation Co-authored-by: fiftin <914224+fiftin@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Feature: Option for Runner to clone the Repository via the Semaphore Server instead of directly from the git server
Add Server-Side Repository Cloning Feature for Semaphore Pro
Aug 30, 2025
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.
This PR introduces comprehensive documentation and specifications for Server-Side Repository Cloning in Semaphore Pro, addressing environments where runners cannot directly access git servers due to network restrictions, corporate firewalls, or air-gapped deployments.
Problem Statement
In many enterprise environments, runners are deployed in restricted networks that cannot establish direct connections to external git servers. This prevents runners from cloning repositories, making CI/CD workflows impossible in these environments. The solution is to enable repository cloning through the Semaphore Server, which acts as a proxy with external access.
Solution Overview
The server-side repository cloning feature allows:
Key Benefits
Implementation Details
API Design
Security Architecture
Deployment Support
Files Added
FEATURE_SERVER_SIDE_CLONING.md- Complete technical specification and architectureapi-server-side-cloning.yaml- OpenAPI 3.0 specification for developersSECURITY.md- Security architecture, compliance, and threat modelingUI_MOCKUPS.md- User interface design and user experience workflowsconfigurations/- Ready-to-use deployment configurationsexamples/- Practical implementation examples in Bash and PythonUse Cases
Corporate Networks
Air-Gapped Environments
Performance Optimization
This feature enables Semaphore Pro to serve enterprise customers with strict network security requirements while maintaining the ease of use and performance that makes Semaphore powerful.
Fixes #20.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.