chore: add clippy.toml, issue/PR templates, Helm OCI docs, logging env vars

- clippy.toml: cognitive-complexity=25, too-many-arguments=7
- Issue templates: bug report + feature request (YAML forms)
- PR template with checklist (fmt, clippy, test, unwrap, changelog)
- README: Helm OCI support documented, NORA_LOG_LEVEL/FORMAT env vars
- GitHub topic: helm-registry re-added (verified helm push/pull works)
This commit is contained in:
2026-03-31 22:48:32 +00:00
parent 7c8964f8fa
commit 970374b4e2
5 changed files with 73 additions and 24 deletions

View File

@@ -1,39 +1,57 @@
name: Bug Report
description: Report a bug or unexpected behavior
labels: ["bug"]
description: Report a bug in NORA
labels: [bug]
body:
- type: textarea
id: description
attributes:
label: Description
description: What happened? What did you expect?
description: What happened?
validations:
required: true
- type: textarea
id: steps
id: expected
attributes:
label: Steps to reproduce
description: How can we reproduce the issue?
label: Expected Behavior
description: What did you expect to happen?
- type: textarea
id: reproduce
attributes:
label: Steps to Reproduce
description: How can we reproduce this?
validations:
required: true
- type: input
id: version
attributes:
label: NORA version
placeholder: "0.2.32"
label: NORA Version
description: Output of 'nora --version' or Docker tag
placeholder: v0.3.0
validations:
required: true
- type: dropdown
id: protocol
id: registry
attributes:
label: Registry protocol
label: Registry Protocol
options:
- Docker
- Docker/OCI
- npm
- Maven
- PyPI
- Cargo
- Go
- Raw
- UI/Dashboard
- Other
- type: dropdown
id: storage
attributes:
label: Storage Backend
options:
- Local filesystem
- S3-compatible
- type: textarea
id: logs
attributes:
label: Logs / error output
label: Relevant Logs
render: shell

View File

@@ -1,6 +1,6 @@
name: Feature Request
description: Suggest a new feature or improvement
labels: ["enhancement"]
description: Suggest a new feature for NORA
labels: [enhancement]
body:
- type: textarea
id: problem
@@ -12,19 +12,26 @@ body:
- type: textarea
id: solution
attributes:
label: Proposed solution
label: Proposed Solution
description: How would you like it to work?
- type: dropdown
id: protocol
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Related protocol
label: Alternatives Considered
description: Other approaches you've thought about
- type: dropdown
id: registry
attributes:
label: Related Registry
options:
- Docker
- Docker/OCI
- npm
- Maven
- PyPI
- Cargo
- Go
- Raw
- CLI
- UI/Dashboard
- General
- Core/General

16
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,16 @@
## Summary
<!-- What does this PR do? -->
## Changes
<!-- List key changes -->
## Checklist
- [ ] passes
- [ ] passes
- [ ] passes
- [ ] No in production code
- [ ] New public API has documentation
- [ ] CHANGELOG updated (if user-facing change)

View File

@@ -15,7 +15,7 @@ Open [http://localhost:4000/ui/](http://localhost:4000/ui/) — your registry is
## Why NORA
- **Zero-config** — single 32 MB binary, no database, no dependencies. `docker run` and it works.
- **Production-tested** — Docker, Maven, npm, PyPI, Cargo, Go, Raw. Used in real CI/CD with ArgoCD, Buildx cache, and air-gapped environments.
- **Production-tested** — Docker (+ Helm OCI), Maven, npm, PyPI, Cargo, Go, Raw. Used in real CI/CD with ArgoCD, Buildx cache, and air-gapped environments.
- **Secure by default** — [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/getnora-io/nora), signed releases, SBOM, fuzz testing, 200+ unit tests.
[![Release](https://img.shields.io/github/v/release/getnora-io/nora)](https://github.com/getnora-io/nora/releases)
@@ -30,7 +30,7 @@ Open [http://localhost:4000/ui/](http://localhost:4000/ui/) — your registry is
| Registry | Mount Point | Upstream Proxy | Auth |
|----------|------------|----------------|------|
| Docker Registry v2 | `/v2/` | Docker Hub, GHCR, any OCI | ✓ |
| Docker Registry v2 | `/v2/` | Docker Hub, GHCR, any OCI, Helm OCI | ✓ |
| Maven | `/maven2/` | Maven Central, custom | proxy-only |
| npm | `/npm/` | npmjs.org, custom | ✓ |
| Cargo | `/cargo/` | — | ✓ |
@@ -38,6 +38,8 @@ Open [http://localhost:4000/ui/](http://localhost:4000/ui/) — your registry is
| Go Modules | `/go/` | proxy.golang.org, custom | ✓ |
| Raw files | `/raw/` | — | ✓ |
> **Helm charts** work via the Docker/OCI endpoint — `helm push`/`pull` with `--plain-http` or behind TLS reverse proxy.
## Quick Start
### Docker (Recommended)
@@ -142,7 +144,9 @@ See [Authentication guide](https://getnora.dev/configuration/authentication/) fo
| `NORA_STORAGE_MODE` | local | `local` or `s3` |
| `NORA_AUTH_ENABLED` | false | Enable authentication |
| `NORA_DOCKER_UPSTREAMS` | `https://registry-1.docker.io` | Docker upstreams (`url\|user:pass,...`) |
| `NORA_LOG_LEVEL` | info | Log level: trace, debug, info, warn, error |
| `NORA_LOG_FORMAT` | text | Log format: `text` (human) or `json` (structured) |
| `NORA_PUBLIC_URL` | — | Public URL for rewriting artifact links |
See [full configuration reference](https://getnora.dev/configuration/settings/) for all options.
### config.toml

4
clippy.toml Normal file
View File

@@ -0,0 +1,4 @@
# NORA clippy configuration
cognitive-complexity-threshold = 25
too-many-arguments-threshold = 7
type-complexity-threshold = 300