Commit Graph

24 Commits

Author SHA1 Message Date
71d8d83585 docs: add community contributions to v0.5.0 changelog (@TickTockBent PRs #97, #108, #109) (#114) 2026-04-08 09:53:39 +03:00
27a368b3a0 feat: Cargo sparse index (RFC 2789) + PyPI twine upload + PEP 691 (#113)
Cargo registry:
- Sparse index with config.json, prefix-based lookup (1/2/3/4+ char rules)
- cargo publish wire format (LE u32 lengths + JSON metadata + tarball)
- Version immutability with Cargo-compatible JSON error responses
- Dependency field mapping (version_req->req, explicit_name_in_toml->package)
- Case-insensitive crate name normalization across all endpoints
- Cache-Control headers on index (max-age=300) and downloads (immutable)

PyPI registry:
- twine upload via multipart/form-data with SHA-256 verification
- PEP 691 JSON API with Accept header content negotiation
- Hash fragment preservation in proxied links (PEP 503)
- Package name normalization per PEP 503

577 tests (up from 504), 0 failures, clippy clean.
2026-04-08 09:38:18 +03:00
Wes
b949ef49b8 fix: add Go and Raw registries to metrics detection and health endpoint (#97)
detect_registry() in metrics.rs was missing branches for /go/ and /raw/
paths, causing all requests to those registries to be labeled "other" in
Prometheus metrics. dashboard_metrics.rs already lists all seven
registries, so this was an oversight.

Also adds go and raw fields to RegistriesHealth so the /health endpoint
reports all seven registries consistently.

Fixes the test_detect_registry_go_path test which previously asserted
the wrong behavior ("other" instead of "go"), and adds tests for raw
path detection and prefix collision safety.

// ticktockbent

Co-authored-by: DevITWay | Pavel Volkov <devitway@gmail.com>
2026-04-05 23:09:23 +00:00
357368f80d release: v0.4.0 — Mirror & Air-Gap (#95)
Bump version to 0.4.0. Features:
- Docker image mirroring (nora mirror docker)
- yarn.lock parser (nora mirror yarn)
- JSON output for mirror CLI (--json)
- Storage size in /health endpoint
- 499 tests, 61.5% coverage
2026-04-05 23:10:28 +03:00
6664581e9a docs: add CHANGELOG entry for v0.3.1 (#89) 2026-04-05 14:39:09 +03:00
8dcdc34476 docs: add CHANGELOG entry for v0.3.0 (#74)
Covers all changes since v0.2.35: Go proxy, Argon2id tokens,
config validation, code quality hardening, integration tests.
2026-03-31 18:52:52 +00:00
533f3cd795 release: bump version to v0.2.35 2026-03-20 22:54:30 +00:00
2ec0fe4a28 release: bump version to v0.2.34 2026-03-20 19:46:42 +00:00
79fa8e0d4a chore: add CODEOWNERS, CHANGELOG v0.2.33, SLSA provenance, QA scripts 2026-03-19 12:39:58 +00:00
68ed6546c8 docs: changelog v0.2.32 2026-03-18 09:43:49 +00:00
82ea93d07f docs: changelog v0.2.31 2026-03-16 12:51:10 +00:00
a9996b6b54 fix: dashboard — docker namespaced repos, npm proxy cache, upstream display (v0.2.30) 2026-03-16 08:55:33 +00:00
400ad97457 docs: update CHANGELOG and README for v0.2.29 upstream auth 2026-03-15 21:50:14 +00:00
b80c7c5160 docs: add authentication guide, TLS setup, FSTEC builds docs
- Fix docker-compose.yml: use ghcr.io/getnora-io/nora:latest
- Remove stale CHANGELOG.md.bak, add *.bak to .gitignore
- README: authentication guide (htpasswd, API tokens, RBAC)
- README: TLS/HTTPS section (reverse proxy, insecure-registries)
- README: document Dockerfile.astra and Dockerfile.redos (FSTEC)
- CHANGELOG: add 0.2.28 release notes
2026-03-13 15:08:04 +00:00
7502c583d0 docs: add changelog for v0.2.27 2026-03-03 23:17:25 +00:00
99c1f9b5ec docs: add changelog for v0.2.25 and v0.2.26
DevITWay
2026-03-03 11:01:12 +00:00
161d7f706a chore: bump version to 0.2.24 2026-02-24 17:09:55 +00:00
e4e38e3aab docs: add Astra Linux SE restore to CHANGELOG [Unreleased] 2026-02-24 17:02:14 +00:00
d76383c701 docs: update CHANGELOG for v0.2.19–v0.2.23 and Unreleased (EN/RU) 2026-02-24 16:44:49 +00:00
47a3690384 style: fix O alignment in NORA logo on dashboard 2026-01-31 12:39:31 +00:00
cf55a19acf docs: sync CHANGELOG and OpenAPI with actual implementation
- Fix CHANGELOG: add missing versions v0.2.4-v0.2.12
- Implement GET /v2/_catalog endpoint for Docker repository listing
- Add missing OpenAPI endpoints:
  - Docker: PUT manifest, POST/PATCH/PUT blob uploads, HEAD blob
  - Maven: PUT artifact upload
  - Cargo: GET metadata, GET download (was completely undocumented)
  - Metrics: GET /metrics
- Update OpenAPI version to 0.2.12
2026-01-31 07:54:19 +00:00
ee4e01467a feat: add secrets provider architecture
Trait-based secrets management for secure credential handling:
- SecretsProvider trait for pluggable backends
- EnvProvider as default (12-Factor App pattern)
- ProtectedString with zeroize (memory zeroed on drop)
- Redacted Debug impl prevents secret leakage in logs
- S3Credentials struct for future AWS S3 integration
- Config: [secrets] section with provider and clear_env options

Foundation for AWS Secrets Manager, Vault, K8s (v0.4.0+)
2026-01-30 10:02:58 +00:00
3265e217e7 feat: add configurable rate limiting
Rate limits now configurable via config.toml and ENV variables:
- New [rate_limit] config section with auth/upload/general settings
- ENV: NORA_RATE_LIMIT_{AUTH|UPLOAD|GENERAL}_{RPS|BURST}
- Rate limit configuration logged at startup
- Functions accept &RateLimitConfig instead of hardcoded values
2026-01-30 08:20:50 +00:00
29c56c6eed docs: add CHANGELOG for v0.2.0 (EN/RU)
Document all new features:
- Testing infrastructure (75 tests)
- Input validation and path traversal protection
- Rate limiting
- Request ID tracking
- Migrate command
- Error handling improvements
- SVG brand icons

Includes Russian translation.
2026-01-26 00:05:44 +00:00