mirror of
https://github.com/velocitatem/cvfs.git
synced 2026-07-16 03:13:36 +00:00
Compare commits
4 Commits
claude/ski
...
copilot/re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03187ab456 | ||
|
|
9b5add1cdf | ||
|
|
3838bfe51a | ||
|
|
9c57dcaedb |
@@ -105,9 +105,9 @@ flowchart LR
|
|||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|----------|-------------|---------|
|
|----------|-------------|---------|
|
||||||
| `API_BASE_URL` | Backend host consumed by the webapp build + runtime. | `http://cvfs-backend:8080` in Docker |
|
| `API_BASE_URL` | Backend host consumed by the webapp build + runtime. | `http://cvfs-backend:8080` in Docker |
|
||||||
| `NEXT_PUBLIC_BASE_URL` | Public origin for web routes. | `https://cv.alves.world` |
|
| `NEXT_PUBLIC_BASE_URL` | Public origin for web routes. | — |
|
||||||
| `AUTHENTIK_*` / `AUTH_OIDC_*` | OIDC issuer, audience, and client credentials. | required |
|
| `AUTHENTIK_*` / `AUTH_OIDC_*` | OIDC issuer, audience, and client credentials. | required |
|
||||||
| `MINIO_ENDPOINT` / `MINIO_BUCKET` | Object storage endpoint + bucket for artifacts. | `https://storage.cv.alves.world` / `resume-branches` |
|
| `MINIO_ENDPOINT` / `MINIO_BUCKET` | Object storage endpoint + bucket for artifacts. | — |
|
||||||
| `REDIS_URL` | Celery broker/result backend. | `redis://cvfs-redis:6379/0` |
|
| `REDIS_URL` | Celery broker/result backend. | `redis://cvfs-redis:6379/0` |
|
||||||
| `DATABASE_URL` | SQLAlchemy DSN for Postgres. | `postgresql+asyncpg://postgres:postgres@cvfs-postgres:5432/resume_branches` |
|
| `DATABASE_URL` | SQLAlchemy DSN for Postgres. | `postgresql+asyncpg://postgres:postgres@cvfs-postgres:5432/resume_branches` |
|
||||||
| `ANTHROPIC_API_KEY` | Enables AI tailoring jobs. | unset |
|
| `ANTHROPIC_API_KEY` | Enables AI tailoring jobs. | unset |
|
||||||
@@ -148,7 +148,7 @@ Use `bun x nx affected -t lint,test,build` before PRs to run fine-grained checks
|
|||||||
|
|
||||||
## Deployment notes
|
## Deployment notes
|
||||||
- **Docker images:** `docker/backend-fastapi.Dockerfile`, `docker/webapp.Dockerfile`, and `docker/worker.Dockerfile` bake env args for Dokploy. The web build now receives `API_BASE_URL` so rewrites point at the deployed backend.
|
- **Docker images:** `docker/backend-fastapi.Dockerfile`, `docker/webapp.Dockerfile`, and `docker/worker.Dockerfile` bake env args for Dokploy. The web build now receives `API_BASE_URL` so rewrites point at the deployed backend.
|
||||||
- **Dokploy:** see `docs/resume-branches/dokploy.md` for the API payload that provisions `cvfs-backend`, `cvfs-webapp`, Redis, Postgres, and MinIO on `cv.alves.world` / `api.cv.alves.world`.
|
- **Dokploy:** see `docs/resume-branches/dokploy.md` for the API payload that provisions `cvfs-backend`, `cvfs-webapp`, Redis, Postgres, and MinIO.
|
||||||
- **Storage:** `make lift.minio` mirrors the production bucket layout. Set `MINIO_ROOT_USER/MINIO_ROOT_PASSWORD` for parity. Public artifacts should only be published via the API to guarantee immutability + audit logging.
|
- **Storage:** `make lift.minio` mirrors the production bucket layout. Set `MINIO_ROOT_USER/MINIO_ROOT_PASSWORD` for parity. Public artifacts should only be published via the API to guarantee immutability + audit logging.
|
||||||
|
|
||||||
## Limitations & next steps
|
## Limitations & next steps
|
||||||
|
|||||||
@@ -13,14 +13,9 @@ def validate_patchset(
|
|||||||
document: StructuredDocument,
|
document: StructuredDocument,
|
||||||
patches: Iterable[PatchPayload],
|
patches: Iterable[PatchPayload],
|
||||||
*,
|
*,
|
||||||
max_changes: int = 12,
|
|
||||||
max_growth_ratio: float = 1.45,
|
max_growth_ratio: float = 1.45,
|
||||||
) -> None:
|
) -> None:
|
||||||
patch_list = list(patches)
|
patch_list = list(patches)
|
||||||
if len(patch_list) > max_changes:
|
|
||||||
raise PatchValidationError(
|
|
||||||
f"Patchset exceeds max changes ({len(patch_list)} > {max_changes})"
|
|
||||||
)
|
|
||||||
block_map = {block.path: block for block in document.blocks}
|
block_map = {block.path: block for block in document.blocks}
|
||||||
for patch in patch_list:
|
for patch in patch_list:
|
||||||
block = block_map.get(patch.target_path)
|
block = block_map.get(patch.target_path)
|
||||||
|
|||||||
Reference in New Issue
Block a user