feat(server): add repository prefix path configuration and service struct

- Add REPO_PREFIX_PATH environment variable support in Dockerfile and main.rs
- Introduce GitksService struct with repo_prefix field to manage repository paths
- Implement resolve and resolve_for_init methods for repository path handling
- Add path traversal protection and validation for repository operations
- Update all service implementations to use self.resolve instead of global resolve
- Modify serve function to accept repo_prefix parameter and pass to GitksService
- Remove global resolve functions and integrate them into GitksService struct
- Add proper initialization of repo directory from environment variable
This commit is contained in:
zhenyi
2026-06-04 14:18:12 +08:00
parent 4a87ea475d
commit 729604f13b
13 changed files with 166 additions and 115 deletions
+3
View File
@@ -16,6 +16,9 @@ COPY --from=builder /app/target/release/gitks /usr/local/bin/gitks
ENV GITKS_HOST=0.0.0.0
ENV GITKS_PORT=50051
ENV REPO_PREFIX_PATH=/data/repos
RUN mkdir -p /data/repos
EXPOSE 50051