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

View File

@@ -1,6 +1,6 @@
name: Feature Request name: Feature Request
description: Suggest a new feature or improvement description: Suggest a new feature for NORA
labels: ["enhancement"] labels: [enhancement]
body: body:
- type: textarea - type: textarea
id: problem id: problem
@@ -12,19 +12,26 @@ body:
- type: textarea - type: textarea
id: solution id: solution
attributes: attributes:
label: Proposed solution label: Proposed Solution
description: How would you like it to work? description: How would you like it to work?
- type: dropdown validations:
id: protocol required: true
- type: textarea
id: alternatives
attributes: attributes:
label: Related protocol label: Alternatives Considered
description: Other approaches you've thought about
- type: dropdown
id: registry
attributes:
label: Related Registry
options: options:
- Docker - Docker/OCI
- npm - npm
- Maven - Maven
- PyPI - PyPI
- Cargo - Cargo
- Go
- Raw - Raw
- CLI
- UI/Dashboard - 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 ## Why NORA
- **Zero-config** — single 32 MB binary, no database, no dependencies. `docker run` and it works. - **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. - **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) [![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 | | 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 | | Maven | `/maven2/` | Maven Central, custom | proxy-only |
| npm | `/npm/` | npmjs.org, custom | ✓ | | npm | `/npm/` | npmjs.org, custom | ✓ |
| Cargo | `/cargo/` | — | ✓ | | 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 | ✓ | | Go Modules | `/go/` | proxy.golang.org, custom | ✓ |
| Raw files | `/raw/` | — | ✓ | | Raw files | `/raw/` | — | ✓ |
> **Helm charts** work via the Docker/OCI endpoint — `helm push`/`pull` with `--plain-http` or behind TLS reverse proxy.
## Quick Start ## Quick Start
### Docker (Recommended) ### Docker (Recommended)
@@ -142,7 +144,9 @@ See [Authentication guide](https://getnora.dev/configuration/authentication/) fo
| `NORA_STORAGE_MODE` | local | `local` or `s3` | | `NORA_STORAGE_MODE` | local | `local` or `s3` |
| `NORA_AUTH_ENABLED` | false | Enable authentication | | `NORA_AUTH_ENABLED` | false | Enable authentication |
| `NORA_DOCKER_UPSTREAMS` | `https://registry-1.docker.io` | Docker upstreams (`url\|user:pass,...`) | | `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. See [full configuration reference](https://getnora.dev/configuration/settings/) for all options.
### config.toml ### 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