Commit Graph

88 Commits

Author SHA1 Message Date
renovate[bot]
e5b9ae8a90 chore(deps): pin dependencies 2025-11-19 16:47:27 +00:00
Wikid82
d559a24c45 feat(frontend): implement basic UI foundation (Issue #6) 2025-11-19 10:53:55 -05:00
Wikid82
9f74367ae6 fix(frontend): fix linting configuration and dependencies 2025-11-19 10:28:57 -05:00
Wikid82
3537dc0084 ci: add GitHub Actions workflow for building and pushing Docker images 2025-11-19 10:19:15 -05:00
Wikid82
b297585df3 ci: fix propagation logic (main->dev, dev->feature/**) 2025-11-19 10:14:21 -05:00
Wikid82
7ca6d8f606 ci: streamline workflows, consolidate docker build/publish, add quality checks 2025-11-19 10:13:41 -05:00
renovate[bot]
6f98ae794a chore(deps): update dependency isort to >=5.13.2 2025-11-19 10:10:26 -05:00
renovate[bot]
4ef17f487a chore(deps): update dependency go to v1.25.4 2025-11-19 10:07:19 -05:00
renovate[bot]
193e7e2f25 chore(deps): update dependency fastapi to >=0.121.2 2025-11-19 10:07:19 -05:00
renovate[bot]
38adf58b96 chore(deps): update dependency coverage to >=7.12.0 2025-11-19 10:07:18 -05:00
Wikid82
de484db648 ci(secrets): migrate GITHUB_TOKEN references to PROJECT_TOKEN secret 2025-11-19 10:07:18 -05:00
Wikid82
c055a7676f fix(ci): use ADD_TO_PROJECT_PAT for project access (user projects require PAT) 2025-11-19 10:07:18 -05:00
Wikid82
50eefbda08 fix(hooks): use python3 fallback in compile check script 2025-11-19 10:06:21 -05:00
Wikid82
069e8112c3 fix(ci): correct indentation for skip summary step in docker-build 2025-11-19 10:03:45 -05:00
Wikid82
1cf07a892a ci: skip heavy docker build/publish for renovate bot and chore(deps)/chore commits 2025-11-19 10:03:40 -05:00
Wikid82
7253dd4f5b fix(runtime): remove invalid Caddy --adapter json; use native JSON config 2025-11-19 10:03:16 -05:00
Wikid82
939847e6af ci: robust health check with retries; normalize IMAGE_NAME in publish workflow 2025-11-19 10:03:15 -05:00
Wikid82
6bf9fba474 chore(ci): skip add-to-project when PROJECT_URL secret absent 2025-11-19 10:02:47 -05:00
Wikid82
0d6fb54370 fix(ci): normalize IMAGE_NAME to lowercase for registry compliance 2025-11-19 10:02:20 -05:00
Wikid82
eec702a335 fix(ci): lowercase IMAGE_NAME in workflows; fix Renovate packageRule (remove matchUpdateTypes from allowedVersions rule) 2025-11-19 09:58:32 -05:00
renovate[bot]
65740e941b chore(deps): update dependency sqlalchemy to >=2.0.44 2025-11-19 09:58:23 -05:00
renovate[bot]
b78c87ccbd chore(deps): update dependency python-multipart to >=0.0.20 2025-11-19 09:55:05 -05:00
renovate[bot]
77b8b0cee3 chore(deps): update dependency pytest to >=7.4.4 2025-11-19 09:55:05 -05:00
renovate[bot]
6761f0f8f0 chore(deps): update dependency passlib to >=1.7.4 2025-11-19 09:54:56 -05:00
Wikid82
59202c172b chore(ci): fix Renovate config and workflow; ensure checkout and valid packageRules 2025-11-19 09:54:14 -05:00
Wikid82
e3e6c75354 ci: add checkout step to Renovate workflow so config file is available 2025-11-19 09:54:13 -05:00
Wikid82
54881764ad chore(deps): bump golang.org/x/crypto to v0.31.0 (fix CVE-2024-45337) 2025-11-19 09:54:13 -05:00
Wikid82
ae4f03e26e CI: Show Trivy table output before SARIF upload; always upload SARIF; fail late on CRITICAL/HIGH 2025-11-19 09:53:57 -05:00
Wikid82
778854473a CI: Add Renovate automation and Caddy v3 monitor; fix CADDY_IMAGE ARG scope 2025-11-19 09:52:10 -05:00
Wikid82
3111421b92 CI: Pin Caddy base by digest in builds; enforce Trivy fail on CRITICAL/HIGH; pass CADDY_IMAGE build-arg 2025-11-19 09:52:10 -05:00
Wikid82
e3134a2ad7 Reduce Trivy findings: drop bash, switch to /bin/sh entrypoint, pin to caddy:2-alpine, upgrade runtime packages 2025-11-19 09:52:10 -05:00
Wikid82
d65b55144d CI: Generate PR tag via ref_name; skip push & security scan on PR 2025-11-19 09:52:09 -05:00
Wikid82
ffa1bd9af7 CI: Fix Trivy scan refs and guard SARIF upload; use metadata tags for docker-build scan; add outcome gating 2025-11-19 09:52:09 -05:00
Wikid82
8434121dd1 CI: Add CodeQL analysis workflow with security-events permissions and skip fork PRs 2025-11-19 09:52:08 -05:00
Wikid82
37cef06634 Docker: build frontend on BUILDPLATFORM to avoid arm64 Rollup native module; keep Rollup native skipped 2025-11-19 09:52:08 -05:00
Wikid82
f2ea164717 fix(docker): set ROLLUP_SKIP_NODEJS_NATIVE=1 to avoid arm64 native Rollup error 2025-11-19 09:52:08 -05:00
Wikid82
f14b0f3978 fix: Remove SHA-based Docker tags causing invalid format errors
- Remove type=sha tags that were producing invalid formats like ':-f0d0654'
- Keep latest/dev tags for branches and semver tags for releases
- SHA is still tracked via image digest and labels
2025-11-19 09:52:07 -05:00
Wikid82
8716919e22 fix: Correct Docker tag format in metadata action
- Add format=short to SHA tags to prevent malformed tags
- Standardize dev tag naming across workflows (was 'development')
- Ensure branch name is properly included in SHA prefix
2025-11-19 09:52:07 -05:00
Wikid82
95823204a6 feat: Add Trivy security scanning to Docker workflows
- Add Trivy vulnerability scanner after image build
- Upload SARIF results to GitHub Security tab
- Display critical/high severity issues in workflow logs
- Add security-events permission for SARIF upload
- Skip scanning on pull requests to save time
2025-11-19 09:51:58 -05:00
Wikid82
c979e3d417 chore: test workflows after enabling all actions 2025-11-19 09:51:28 -05:00
Wikid82
46d14cd827 chore: trigger workflows with updated action permissions 2025-11-19 09:51:28 -05:00
Wikid82
6273aa32a1 fix: Remove legacy Python lint job from CI workflow
- Remove ruff/flake8/pre-commit steps (legacy Python scaffold)
- Remove needs dependencies on non-existent lint job
- Backend and frontend tests now run independently
2025-11-19 09:50:59 -05:00
Wikid82
8e641b01bd fix: Eliminate act() warnings in frontend tests and resolve Docker arm64 build
- Wrap async mutations in act() across useImport, useProxyHosts, useRemoteServers tests
- Add npm_config_rollup_skip_nodejs_native=1 in Dockerfile to bypass native binary for arm64
- Enable Go module caching in CI via cache-dependency-path on setup-go action
- All frontend tests now pass cleanly (49/49) without React Testing Library warnings
2025-11-19 09:50:08 -05:00
Wikid82
6392ef318b chore: comprehensive update to ignore files
Updated .gitignore, .dockerignore, and .codecov.yml to properly exclude:
- Python artifacts (__pycache__, .venv, coverage)
- Node artifacts (node_modules, dist, coverage, .vite)
- Go artifacts (*.out, coverage files)
- Database files (*.db, *.sqlite)
- IDE files (.vscode, .idea)
- Build artifacts and temporary files
- Documentation and scripts from Docker context
- Test files from codecov analysis
2025-11-19 09:50:08 -05:00
Wikid82
3401757a10 feat: add Dockerfile validation to pre-commit hooks
Added custom Dockerfile validation script that detects mismatches between
base image OS (Debian vs Alpine) and package managers (apt vs apk).

This will catch errors like:
- Using golang:latest (Debian) with apk commands
- Using alpine images with apt commands

The hook runs automatically on commit and would have caught the recent
golang:latest + apk mismatch that caused Docker build failures.
2025-11-19 09:50:08 -05:00
Wikid82
08db82d92a fix: use golang:alpine base image for backend builder
The backend-builder stage was using golang:latest (Debian) but trying to
run Alpine's apk package manager, causing build failures with 'apk: not
found'. Changed to golang:alpine for consistency with the RUN commands.

Fixes Docker build workflow failures in GitHub Actions.
2025-11-19 09:50:07 -05:00
Wikid82
be2b99f7e4 feat: update docker-compose to use GHCR images and fix test failures
- Update docker-compose.yml to use ghcr.io/wikid82/caddyproxymanagerplus:latest
- Update docker-compose.dev.yml to use ghcr.io/wikid82/caddyproxymanagerplus:dev
- Fix backend test database isolation (remove shared cache mode)
- Add testConnection and enabledServers to useRemoteServers hook
- Fix frontend test assertions to wait for async state updates
- Wrap mutation assertions in waitFor for proper async handling

Backend tests:  ALL PASSING (22 tests)
Frontend tests: ⚠️ 45/49 passing (4 useImport tests need mock refinement)
2025-11-19 09:50:07 -05:00
Wikid82
e6f8b15e05 fix: remove duplicate type declarations and update package-lock
- Remove duplicate CaddyConfig in proxy_host.go (exists in caddy_config.go)
- Remove duplicate HealthHandler in proxy_host_handler.go
- Fix version variable names in health_handler.go (SemVer→Version, BuildDate→BuildTime)
- Update frontend package-lock.json to sync with package.json dependencies
- Backend now compiles successfully (1 test fails but will be fixed later)
2025-11-19 09:50:06 -05:00
Wikid82
a87b7cebb8 fix: replace Python tests with Go and React tests in CI
This is a Go + React project, not Python. Updated CI workflow to:
- Run Go tests (backend)
- Run frontend tests with npm (React)
- Remove Python test coverage requirement
2025-11-19 09:49:56 -05:00
Wikid82
9bd1604386 fix: exclude generated frontend files from pre-commit hooks
Generated files (coverage/, dist/, .vite/, *.tsbuildinfo) should not be
checked by trailing-whitespace or end-of-file-fixer hooks.
2025-11-19 09:48:37 -05:00