Skip to content

Commit b08449d

Browse files
ritunjaymclaude
andcommitted
refactor: rename project from vector-catalog to vectorscale
## File renames (git mv) - VectorCatalogService.sln → VectorScale.sln - src/VectorCatalog.Api/ → src/VectorScale.Api/ - src/VectorScale.Api/VectorCatalog.Api.csproj → VectorScale.Api.csproj - src/VectorScale.Api/Infrastructure/Observability/VectorCatalogMetrics.cs → VectorScaleMetrics.cs - src/VectorScale.Api/Configuration/VectorCatalogOptions.cs → VectorScaleOptions.cs - tests/VectorCatalog.Api.Tests/ → tests/VectorScale.Api.Tests/ - tests/VectorCatalog.Integration.Tests/ → tests/VectorScale.Integration.Tests/ - helm/vector-catalog/ → helm/vectorscale/ - infra/grafana/dashboards/vector-catalog.json → vectorscale.json ## Content changes - C# namespaces: VectorCatalog → VectorScale (all .cs, .csproj, .sln) - Docker Compose: container names, network, env var prefixes (VectorScale__) - CI: image names ghcr.io/ritunjaym/vectorscale-{api,sidecar} - Helm: chart name vectorscale, template helpers, k8s labels - Prometheus metric names: vectorcatalog_ → vectorscale_ - README title and all badge/repo URLs - All docs: vector-catalog → vectorscale Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 0b98073 commit b08449d

60 files changed

Lines changed: 277 additions & 277 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
run: dotnet build --configuration Release --no-restore
4343

4444
- name: Run unit tests
45-
run: dotnet test tests/VectorCatalog.Api.Tests/VectorCatalog.Api.Tests.csproj --configuration Release --no-build --verbosity normal --logger "trx;LogFileName=test-results.trx"
45+
run: dotnet test tests/VectorScale.Api.Tests/VectorScale.Api.Tests.csproj --configuration Release --no-build --verbosity normal --logger "trx;LogFileName=test-results.trx"
4646

4747
- name: Test with coverage
4848
run: dotnet test --configuration Release --collect:"XPlat Code Coverage" --results-directory ./coverage
@@ -135,9 +135,9 @@ jobs:
135135
uses: docker/build-push-action@v5
136136
with:
137137
context: .
138-
file: ./src/VectorCatalog.Api/Dockerfile
138+
file: ./src/VectorScale.Api/Dockerfile
139139
push: false
140-
tags: vector-catalog-api:${{ github.sha }}
140+
tags: vectorscale-api:${{ github.sha }}
141141
cache-from: type=gha
142142
cache-to: type=gha,mode=max
143143

@@ -168,7 +168,7 @@ jobs:
168168
context: ./sidecar
169169
file: ./sidecar/Dockerfile
170170
push: false
171-
tags: vector-catalog-sidecar:${{ github.sha }}
171+
tags: vectorscale-sidecar:${{ github.sha }}
172172
cache-from: type=gha
173173
cache-to: type=gha,mode=max
174174

@@ -201,20 +201,20 @@ jobs:
201201
- name: Extract version from Chart.yaml
202202
id: version
203203
run: |
204-
VERSION=$(grep '^appVersion:' helm/vector-catalog/Chart.yaml | awk '{print $2}' | tr -d '"')
204+
VERSION=$(grep '^appVersion:' helm/vectorscale/Chart.yaml | awk '{print $2}' | tr -d '"')
205205
echo "version=$VERSION" >> $GITHUB_OUTPUT
206206
echo "Extracted version: $VERSION"
207207
208208
- name: Build and push API image
209209
uses: docker/build-push-action@v5
210210
with:
211211
context: .
212-
file: ./src/VectorCatalog.Api/Dockerfile
212+
file: ./src/VectorScale.Api/Dockerfile
213213
push: true
214214
tags: |
215-
ghcr.io/${{ github.repository_owner }}/vector-catalog-api:latest
216-
ghcr.io/${{ github.repository_owner }}/vector-catalog-api:${{ steps.version.outputs.version }}
217-
ghcr.io/${{ github.repository_owner }}/vector-catalog-api:${{ github.sha }}
215+
ghcr.io/${{ github.repository_owner }}/vectorscale-api:latest
216+
ghcr.io/${{ github.repository_owner }}/vectorscale-api:${{ steps.version.outputs.version }}
217+
ghcr.io/${{ github.repository_owner }}/vectorscale-api:${{ github.sha }}
218218
cache-from: type=gha
219219
cache-to: type=gha,mode=max
220220

@@ -225,9 +225,9 @@ jobs:
225225
file: ./sidecar/Dockerfile
226226
push: true
227227
tags: |
228-
ghcr.io/${{ github.repository_owner }}/vector-catalog-sidecar:latest
229-
ghcr.io/${{ github.repository_owner }}/vector-catalog-sidecar:${{ steps.version.outputs.version }}
230-
ghcr.io/${{ github.repository_owner }}/vector-catalog-sidecar:${{ github.sha }}
228+
ghcr.io/${{ github.repository_owner }}/vectorscale-sidecar:latest
229+
ghcr.io/${{ github.repository_owner }}/vectorscale-sidecar:${{ steps.version.outputs.version }}
230+
ghcr.io/${{ github.repository_owner }}/vectorscale-sidecar:${{ github.sha }}
231231
cache-from: type=gha
232232
cache-to: type=gha,mode=max
233233

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
## Development Setup
44

55
```bash
6-
git clone https://github.com/ritunjaym/vector-catalog-service
7-
cd vector-catalog-service
6+
git clone https://github.com/ritunjaym/vectorscale
7+
cd vectorscale
88
```
99

1010
### .NET API

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Vector Catalog Service
1+
# VectorScale
22

3-
[![CI Pipeline](https://github.com/ritunjaym/vector-catalog-service/actions/workflows/ci.yml/badge.svg)](https://github.com/ritunjaym/vector-catalog-service/actions/workflows/ci.yml)
4-
[![codecov](https://codecov.io/gh/ritunjaym/vector-catalog-service/branch/main/graph/badge.svg)](https://codecov.io/gh/ritunjaym/vector-catalog-service)
3+
[![CI Pipeline](https://github.com/ritunjaym/vectorscale/actions/workflows/ci.yml/badge.svg)](https://github.com/ritunjaym/vectorscale/actions/workflows/ci.yml)
4+
[![codecov](https://codecov.io/gh/ritunjaym/vectorscale/branch/main/graph/badge.svg)](https://codecov.io/gh/ritunjaym/vectorscale)
55
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
66

77
> **Coverage:** C# and Python tracked via Codecov. To activate the badge: visit [codecov.io](https://codecov.io), log in with GitHub, enable this repository, then re-run CI — the badge updates automatically after the first successful upload.
@@ -142,7 +142,7 @@ graph TB
142142
| **Distributed storage systems** | Delta Lake on ADLS Gen2, MinIO S3-compatible object storage | `spark/jobs/ingest_and_embed.py` (lines 80-95), `appsettings.json` storage config |
143143
| **Large-scale data processing** | PySpark batch pipeline, 100M+ record ingestion with partitioning | `spark/jobs/ingest_and_embed.py`, `docs/BENCHMARKS.md` scaling projections |
144144
| **High-performance services** | .NET 8 Web API: P50 152ms, P99 425ms at 500 qps | `src/VectorCatalog.Api/`, `docs/BENCHMARKS.md` latency tables |
145-
| **Azure-native tooling** | AKS Helm chart with HPA, managed disks, Azure Monitor integration | `helm/vector-catalog/` (11 files, 879 lines) |
145+
| **Azure-native tooling** | AKS Helm chart with HPA, managed disks, Azure Monitor integration | `helm/vectorscale/` (11 files, 879 lines) |
146146
| **Production observability** | OpenTelemetry distributed traces, Prometheus metrics, Serilog structured logs | `Infrastructure/Observability/`, correlation IDs in all requests |
147147
| **Resilience engineering** | Polly circuit breaker (30s break), exponential backoff retry (3 attempts) | `Infrastructure/Resilience/ResiliencePolicies.cs`, 99.99% retry success |
148148
| **System design** | Cache-aside pattern (85% hit rate), content-based sharding, graceful degradation | `Services/SearchService.cs` (fire-and-forget cache), `Services/ShardRouter.cs` |
@@ -224,8 +224,8 @@ Rigorous experimentation on query optimization. See [AB_TESTING.md](docs/AB_TEST
224224
## 🚀 Quick Start (One Command)
225225

226226
```bash
227-
git clone https://github.com/ritunjaym/vector-catalog-service.git
228-
cd vector-catalog-service
227+
git clone https://github.com/ritunjaym/vectorscale.git
228+
cd vectorscale
229229
./scripts/run_demo.sh
230230
```
231231

@@ -276,8 +276,8 @@ cd vector-catalog-service
276276
### 1. Clone and Start
277277

278278
```bash
279-
git clone https://github.com/ritunjaym/vector-catalog-service.git
280-
cd vector-catalog-service
279+
git clone https://github.com/ritunjaym/vectorscale.git
280+
cd vectorscale
281281
docker compose up -d
282282
```
283283

@@ -498,7 +498,7 @@ docker compose up -d
498498
### Kubernetes (Helm)
499499

500500
```bash
501-
helm install vector-catalog ./helm/vector-catalog \
501+
helm install vectorscale ./helm/vectorscale \
502502
--set image.tag=$(git rev-parse --short HEAD)
503503
```
504504

@@ -532,7 +532,7 @@ helm install vector-catalog ./helm/vector-catalog \
532532

533533
**Stop when not demoing:**
534534
```bash
535-
az group delete -n vector-catalog-rg --yes # Cost: $0
535+
az group delete -n vectorscale-rg --yes # Cost: $0
536536
```
537537

538538
---
@@ -593,7 +593,7 @@ rate(redis_commands_total{command="get",status="hit"}[5m]) / rate(redis_commands
593593
- Network policies (sidecar internal-only)
594594
- WAF via Azure Front Door
595595

596-
[Trivy Results](https://github.com/ritunjaym/vector-catalog-service/security)
596+
[Trivy Results](https://github.com/ritunjaym/vectorscale/security)
597597

598598
---
599599

@@ -674,7 +674,7 @@ MIT License - see [LICENSE](LICENSE) for details.
674674

675675
**Ritunjay Murali**
676676
GitHub: [@ritunjaym](https://github.com/ritunjaym)
677-
Project: [vector-catalog-service](https://github.com/ritunjaym/vector-catalog-service)
677+
Project: [vectorscale](https://github.com/ritunjaym/vectorscale)
678678

679679
Designed to demonstrate production-ready ML infrastructure for Azure Data / OneLake SE II roles.
680680

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ VisualStudioVersion = 17.0.31903.59
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{BF6F691E-3BC2-4CC5-B23F-92CD728BE5A0}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorCatalog.Api", "src\VectorCatalog.Api\VectorCatalog.Api.csproj", "{40B85F8B-36C7-470E-B51A-1525D5FE1F5E}"
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorScale.Api", "src\VectorScale.Api\VectorScale.Api.csproj", "{40B85F8B-36C7-470E-B51A-1525D5FE1F5E}"
99
EndProject
1010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{ACFD10E7-92DF-4806-96BA-F13A8240C8EC}"
1111
EndProject
12-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorCatalog.Api.Tests", "tests\VectorCatalog.Api.Tests\VectorCatalog.Api.Tests.csproj", "{7C0BB61E-86BE-4BB2-938B-3AC9BB75215A}"
12+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorScale.Api.Tests", "tests\VectorScale.Api.Tests\VectorScale.Api.Tests.csproj", "{7C0BB61E-86BE-4BB2-938B-3AC9BB75215A}"
1313
EndProject
14-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorCatalog.Integration.Tests", "tests\VectorCatalog.Integration.Tests\VectorCatalog.Integration.Tests.csproj", "{EC1F2182-E1CA-46AA-920C-28D77430D5F5}"
14+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorScale.Integration.Tests", "tests\VectorScale.Integration.Tests\VectorScale.Integration.Tests.csproj", "{EC1F2182-E1CA-46AA-920C-28D77430D5F5}"
1515
EndProject
1616
Global
1717
GlobalSection(SolutionConfigurationPlatforms) = preSolution

docker-compose.yml

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ services:
44
# ══════════════════════════════════════════════════════════════════════════
55
redis:
66
image: redis:7-alpine
7-
container_name: vector-catalog-redis
7+
container_name: vectorscale-redis
88
ports:
99
- "6379:6379"
1010
command: >
@@ -18,14 +18,14 @@ services:
1818
timeout: 3s
1919
retries: 3
2020
networks:
21-
- vector-catalog-net
21+
- vectorscale-net
2222

2323
# ══════════════════════════════════════════════════════════════════════════
2424
# MinIO (S3-compatible object storage for Delta Lake and indexes)
2525
# ══════════════════════════════════════════════════════════════════════════
2626
minio:
2727
image: minio/minio:latest
28-
container_name: vector-catalog-minio
28+
container_name: vectorscale-minio
2929
ports:
3030
- "9000:9000" # S3 API
3131
- "9001:9001" # Web Console
@@ -41,12 +41,12 @@ services:
4141
timeout: 5s
4242
retries: 3
4343
networks:
44-
- vector-catalog-net
44+
- vectorscale-net
4545

4646
# ── MinIO bucket initialization ───────────────────────────────────────────
4747
minio-init:
4848
image: minio/mc:latest
49-
container_name: vector-catalog-minio-init
49+
container_name: vectorscale-minio-init
5050
depends_on:
5151
minio:
5252
condition: service_healthy
@@ -59,7 +59,7 @@ services:
5959
echo 'MinIO buckets initialized successfully';
6060
"
6161
networks:
62-
- vector-catalog-net
62+
- vectorscale-net
6363

6464
# ══════════════════════════════════════════════════════════════════════════
6565
# Python gRPC Sidecar (Embedding + FAISS Index Service)
@@ -68,7 +68,7 @@ services:
6868
build:
6969
context: ./sidecar
7070
dockerfile: Dockerfile
71-
container_name: vector-catalog-sidecar
71+
container_name: vectorscale-sidecar
7272
ports:
7373
- "50051:50051"
7474
environment:
@@ -85,7 +85,7 @@ services:
8585
retries: 3
8686
start_period: 30s
8787
networks:
88-
- vector-catalog-net
88+
- vectorscale-net
8989
deploy:
9090
resources:
9191
limits:
@@ -101,25 +101,25 @@ services:
101101
api:
102102
build:
103103
context: .
104-
dockerfile: src/VectorCatalog.Api/Dockerfile
105-
container_name: vector-catalog-api
104+
dockerfile: src/VectorScale.Api/Dockerfile
105+
container_name: vectorscale-api
106106
ports:
107107
- "8080:8080" # HTTP API + Prometheus /metrics
108108
environment:
109109
ASPNETCORE_ENVIRONMENT: Production
110110
ASPNETCORE_URLS: http://+:8080
111-
VectorCatalog__SidecarGrpcAddress: http://sidecar:50051
112-
VectorCatalog__Redis__ConnectionString: redis:6379
113-
VectorCatalog__Redis__KeyPrefix: "vc:"
114-
VectorCatalog__Redis__DefaultCacheTtlSeconds: 300
115-
VectorCatalog__Faiss__DefaultTopK: 10
116-
VectorCatalog__Faiss__DefaultNprobe: 10
117-
VectorCatalog__Faiss__DefaultShardKey: nyc_taxi_2023
118-
VectorCatalog__Storage__MinioEndpoint: http://minio:9000
119-
VectorCatalog__Storage__MinioAccessKey: minioadmin
120-
VectorCatalog__Storage__MinioSecretKey: minioadmin
121-
VectorCatalog__RateLimit__PermitLimit: 100
122-
VectorCatalog__RateLimit__WindowSeconds: 10
111+
VectorScale__SidecarGrpcAddress: http://sidecar:50051
112+
VectorScale__Redis__ConnectionString: redis:6379
113+
VectorScale__Redis__KeyPrefix: "vc:"
114+
VectorScale__Redis__DefaultCacheTtlSeconds: 300
115+
VectorScale__Faiss__DefaultTopK: 10
116+
VectorScale__Faiss__DefaultNprobe: 10
117+
VectorScale__Faiss__DefaultShardKey: nyc_taxi_2023
118+
VectorScale__Storage__MinioEndpoint: http://minio:9000
119+
VectorScale__Storage__MinioAccessKey: minioadmin
120+
VectorScale__Storage__MinioSecretKey: minioadmin
121+
VectorScale__RateLimit__PermitLimit: 100
122+
VectorScale__RateLimit__WindowSeconds: 10
123123
depends_on:
124124
redis:
125125
condition: service_healthy
@@ -134,7 +134,7 @@ services:
134134
retries: 3
135135
start_period: 10s
136136
networks:
137-
- vector-catalog-net
137+
- vectorscale-net
138138
deploy:
139139
resources:
140140
limits:
@@ -149,22 +149,22 @@ services:
149149
# ══════════════════════════════════════════════════════════════════════════
150150
jaeger:
151151
image: jaegertracing/all-in-one:1.52
152-
container_name: vector-catalog-jaeger
152+
container_name: vectorscale-jaeger
153153
ports:
154154
- "6831:6831/udp" # Jaeger compact thrift (legacy)
155155
- "16686:16686" # Jaeger UI
156156
- "14268:14268" # Jaeger HTTP collector
157157
environment:
158158
COLLECTOR_OTLP_ENABLED: true
159159
networks:
160-
- vector-catalog-net
160+
- vectorscale-net
161161

162162
# ══════════════════════════════════════════════════════════════════════════
163163
# Prometheus (Metrics aggregation and alerting)
164164
# ══════════════════════════════════════════════════════════════════════════
165165
prometheus:
166166
image: prom/prometheus:v2.48.1
167-
container_name: vector-catalog-prometheus
167+
container_name: vectorscale-prometheus
168168
ports:
169169
- "9090:9090"
170170
volumes:
@@ -176,14 +176,14 @@ services:
176176
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
177177
- '--web.console.templates=/usr/share/prometheus/consoles'
178178
networks:
179-
- vector-catalog-net
179+
- vectorscale-net
180180

181181
# ══════════════════════════════════════════════════════════════════════════
182182
# Grafana (Metrics visualization)
183183
# ══════════════════════════════════════════════════════════════════════════
184184
grafana:
185185
image: grafana/grafana:10.2.3
186-
container_name: vector-catalog-grafana
186+
container_name: vectorscale-grafana
187187
ports:
188188
- "3000:3000"
189189
environment:
@@ -195,12 +195,12 @@ services:
195195
- ./infra/grafana/dashboards:/var/lib/grafana/dashboards
196196
- grafana-data:/var/lib/grafana
197197
networks:
198-
- vector-catalog-net
198+
- vectorscale-net
199199
depends_on:
200200
- prometheus
201201

202202
networks:
203-
vector-catalog-net:
203+
vectorscale-net:
204204
driver: bridge
205205

206206
volumes:

docs/BLOG_POST.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ return results;
5050
2. **Chaos testing early:** Found thread-safety bug in production
5151
3. **Resilience > Accuracy:** Circuit breakers matter more than 99% recall
5252

53-
**Code:** https://github.com/ritunjaym/vector-catalog-service
53+
**Code:** https://github.com/ritunjaym/vectorscale

docs/SLA.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ Four Prometheus alerts are defined in [`infra/docker/alert_rules.yml`](../infra/
5555
| Live Prometheus metrics | `https://vector-catalog-api.politefield-8fe8e6a2.eastus.azurecontainerapps.io/metrics` |
5656
| Local Prometheus | `http://localhost:9090` |
5757
| Local Grafana dashboard | `http://localhost:3000` (admin / admin) |
58-
| GitHub Actions (CI) | `https://github.com/ritunjaym/vector-catalog-service/actions` |
59-
| Trivy security scan | `https://github.com/ritunjaym/vector-catalog-service/security` |
58+
| GitHub Actions (CI) | `https://github.com/ritunjaym/vectorscale/actions` |
59+
| Trivy security scan | `https://github.com/ritunjaym/vectorscale/security` |
6060

6161
---
6262

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
apiVersion: v2
2-
name: vector-catalog
2+
name: vectorscale
33
description: ANN search service over 100M+ vectors with FAISS IVF-PQ indexing and Delta Lake ingestion
44
type: application
55
version: 1.2.0
@@ -14,4 +14,4 @@ maintainers:
1414
- name: Ritunjay Murali
1515
email: ritunjaym@users.noreply.github.com
1616
sources:
17-
- https://github.com/ritunjaym/vector-catalog-service
17+
- https://github.com/ritunjaym/vectorscale

0 commit comments

Comments
 (0)