From 7763b85b94cf50922743509b2c749d45904cf0fd Mon Sep 17 00:00:00 2001 From: DevITWay Date: Sat, 31 Jan 2026 11:41:04 +0000 Subject: [PATCH] chore: add copyright headers to all source files Copyright (c) 2026 Volkov Pavel | DevITWay SPDX-License-Identifier: MIT --- LICENSE | 2 +- nora-cli/src/main.rs | 3 +++ nora-registry/src/activity_log.rs | 3 +++ nora-registry/src/auth.rs | 3 +++ nora-registry/src/backup.rs | 3 +++ nora-registry/src/config.rs | 3 +++ nora-registry/src/dashboard_metrics.rs | 3 +++ nora-registry/src/error.rs | 3 +++ nora-registry/src/health.rs | 3 +++ nora-registry/src/main.rs | 3 +++ nora-registry/src/metrics.rs | 3 +++ nora-registry/src/migrate.rs | 3 +++ nora-registry/src/openapi.rs | 3 +++ nora-registry/src/rate_limit.rs | 3 +++ nora-registry/src/registry/cargo_registry.rs | 3 +++ nora-registry/src/registry/docker.rs | 3 +++ nora-registry/src/registry/docker_auth.rs | 3 +++ nora-registry/src/registry/maven.rs | 3 +++ nora-registry/src/registry/mod.rs | 3 +++ nora-registry/src/registry/npm.rs | 3 +++ nora-registry/src/registry/pypi.rs | 3 +++ nora-registry/src/registry/raw.rs | 3 +++ nora-registry/src/request_id.rs | 3 +++ nora-registry/src/secrets/env.rs | 3 +++ nora-registry/src/secrets/mod.rs | 3 +++ nora-registry/src/secrets/protected.rs | 3 +++ nora-registry/src/storage/local.rs | 3 +++ nora-registry/src/storage/mod.rs | 3 +++ nora-registry/src/storage/s3.rs | 3 +++ nora-registry/src/tokens.rs | 3 +++ nora-registry/src/ui/api.rs | 3 +++ nora-registry/src/ui/components.rs | 3 +++ nora-registry/src/ui/i18n.rs | 3 +++ nora-registry/src/ui/logo.rs | 3 +++ nora-registry/src/ui/mod.rs | 3 +++ nora-registry/src/ui/templates.rs | 3 +++ nora-registry/src/validation.rs | 3 +++ nora-storage/src/config.rs | 3 +++ nora-storage/src/main.rs | 3 +++ 39 files changed, 115 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 9811b07..a34a786 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2026 DevITWay +Copyright (c) 2026 Volkov Pavel | DevITWay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/nora-cli/src/main.rs b/nora-cli/src/main.rs index f77a401..e68f412 100644 --- a/nora-cli/src/main.rs +++ b/nora-cli/src/main.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use clap::{Parser, Subcommand}; #[derive(Parser)] diff --git a/nora-registry/src/activity_log.rs b/nora-registry/src/activity_log.rs index 936239f..9844011 100644 --- a/nora-registry/src/activity_log.rs +++ b/nora-registry/src/activity_log.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use chrono::{DateTime, Utc}; use parking_lot::RwLock; use serde::Serialize; diff --git a/nora-registry/src/auth.rs b/nora-registry/src/auth.rs index e8cd9fb..e8b56ec 100644 --- a/nora-registry/src/auth.rs +++ b/nora-registry/src/auth.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use axum::{ body::Body, extract::State, diff --git a/nora-registry/src/backup.rs b/nora-registry/src/backup.rs index 0ee41d4..8170fa0 100644 --- a/nora-registry/src/backup.rs +++ b/nora-registry/src/backup.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! Backup and restore functionality for Nora //! //! Exports all artifacts to a tar.gz file and restores from backups. diff --git a/nora-registry/src/config.rs b/nora-registry/src/config.rs index 144a5f2..61a0e4d 100644 --- a/nora-registry/src/config.rs +++ b/nora-registry/src/config.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use serde::{Deserialize, Serialize}; use std::env; use std::fs; diff --git a/nora-registry/src/dashboard_metrics.rs b/nora-registry/src/dashboard_metrics.rs index 292f55e..61e016a 100644 --- a/nora-registry/src/dashboard_metrics.rs +++ b/nora-registry/src/dashboard_metrics.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use std::sync::atomic::{AtomicU64, Ordering}; use std::time::Instant; diff --git a/nora-registry/src/error.rs b/nora-registry/src/error.rs index 90ef176..1076656 100644 --- a/nora-registry/src/error.rs +++ b/nora-registry/src/error.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + #![allow(dead_code)] //! Application error handling with HTTP response conversion //! diff --git a/nora-registry/src/health.rs b/nora-registry/src/health.rs index 4948a53..5fdc911 100644 --- a/nora-registry/src/health.rs +++ b/nora-registry/src/health.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use axum::{extract::State, http::StatusCode, response::Json, routing::get, Router}; use serde::Serialize; use std::sync::Arc; diff --git a/nora-registry/src/main.rs b/nora-registry/src/main.rs index 93f4274..da345cf 100644 --- a/nora-registry/src/main.rs +++ b/nora-registry/src/main.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + mod activity_log; mod auth; mod backup; diff --git a/nora-registry/src/metrics.rs b/nora-registry/src/metrics.rs index 8560c94..53c2e50 100644 --- a/nora-registry/src/metrics.rs +++ b/nora-registry/src/metrics.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use axum::{ body::Body, extract::MatchedPath, diff --git a/nora-registry/src/migrate.rs b/nora-registry/src/migrate.rs index e5f3702..2ef435a 100644 --- a/nora-registry/src/migrate.rs +++ b/nora-registry/src/migrate.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! Migration between storage backends //! //! Supports migrating artifacts from one storage backend to another diff --git a/nora-registry/src/openapi.rs b/nora-registry/src/openapi.rs index 74d183f..1be2ce9 100644 --- a/nora-registry/src/openapi.rs +++ b/nora-registry/src/openapi.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! OpenAPI documentation and Swagger UI //! //! Functions in this module are stubs used only for generating OpenAPI documentation. diff --git a/nora-registry/src/rate_limit.rs b/nora-registry/src/rate_limit.rs index 9a83377..8d59452 100644 --- a/nora-registry/src/rate_limit.rs +++ b/nora-registry/src/rate_limit.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! Rate limiting configuration and middleware //! //! Provides rate limiting to protect against: diff --git a/nora-registry/src/registry/cargo_registry.rs b/nora-registry/src/registry/cargo_registry.rs index d737fe5..de6ed23 100644 --- a/nora-registry/src/registry/cargo_registry.rs +++ b/nora-registry/src/registry/cargo_registry.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use crate::activity_log::{ActionType, ActivityEntry}; use crate::AppState; use axum::{ diff --git a/nora-registry/src/registry/docker.rs b/nora-registry/src/registry/docker.rs index c460965..4ea9cce 100644 --- a/nora-registry/src/registry/docker.rs +++ b/nora-registry/src/registry/docker.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use crate::activity_log::{ActionType, ActivityEntry}; use crate::registry::docker_auth::DockerAuth; use crate::storage::Storage; diff --git a/nora-registry/src/registry/docker_auth.rs b/nora-registry/src/registry/docker_auth.rs index d7df700..71e74cc 100644 --- a/nora-registry/src/registry/docker_auth.rs +++ b/nora-registry/src/registry/docker_auth.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use parking_lot::RwLock; use std::collections::HashMap; use std::time::{Duration, Instant}; diff --git a/nora-registry/src/registry/maven.rs b/nora-registry/src/registry/maven.rs index 7dc3903..3ed6812 100644 --- a/nora-registry/src/registry/maven.rs +++ b/nora-registry/src/registry/maven.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use crate::activity_log::{ActionType, ActivityEntry}; use crate::AppState; use axum::{ diff --git a/nora-registry/src/registry/mod.rs b/nora-registry/src/registry/mod.rs index 43377cd..7b9da01 100644 --- a/nora-registry/src/registry/mod.rs +++ b/nora-registry/src/registry/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + mod cargo_registry; pub mod docker; pub mod docker_auth; diff --git a/nora-registry/src/registry/npm.rs b/nora-registry/src/registry/npm.rs index 96d57b3..c0a7b02 100644 --- a/nora-registry/src/registry/npm.rs +++ b/nora-registry/src/registry/npm.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use crate::activity_log::{ActionType, ActivityEntry}; use crate::AppState; use axum::{ diff --git a/nora-registry/src/registry/pypi.rs b/nora-registry/src/registry/pypi.rs index 7bca402..fd20139 100644 --- a/nora-registry/src/registry/pypi.rs +++ b/nora-registry/src/registry/pypi.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use crate::activity_log::{ActionType, ActivityEntry}; use crate::AppState; use axum::{ diff --git a/nora-registry/src/registry/raw.rs b/nora-registry/src/registry/raw.rs index 0afc10f..2c410ce 100644 --- a/nora-registry/src/registry/raw.rs +++ b/nora-registry/src/registry/raw.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use crate::activity_log::{ActionType, ActivityEntry}; use crate::AppState; use axum::{ diff --git a/nora-registry/src/request_id.rs b/nora-registry/src/request_id.rs index d77b5e0..5ee1262 100644 --- a/nora-registry/src/request_id.rs +++ b/nora-registry/src/request_id.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! Request ID middleware for request tracking and correlation //! //! Generates a unique ID for each request that can be used for: diff --git a/nora-registry/src/secrets/env.rs b/nora-registry/src/secrets/env.rs index 05be59e..c7e04e1 100644 --- a/nora-registry/src/secrets/env.rs +++ b/nora-registry/src/secrets/env.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! Environment variables secrets provider //! //! Reads secrets from environment variables. This is the default provider diff --git a/nora-registry/src/secrets/mod.rs b/nora-registry/src/secrets/mod.rs index b21d429..caeb177 100644 --- a/nora-registry/src/secrets/mod.rs +++ b/nora-registry/src/secrets/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + #![allow(dead_code)] // Foundational code for future S3/Vault integration //! Secrets management for NORA diff --git a/nora-registry/src/secrets/protected.rs b/nora-registry/src/secrets/protected.rs index a141ba4..e87dd99 100644 --- a/nora-registry/src/secrets/protected.rs +++ b/nora-registry/src/secrets/protected.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + //! Protected secret types with memory safety //! //! Secrets are automatically zeroed on drop and redacted in Debug output. diff --git a/nora-registry/src/storage/local.rs b/nora-registry/src/storage/local.rs index 03434d5..2302585 100644 --- a/nora-registry/src/storage/local.rs +++ b/nora-registry/src/storage/local.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use async_trait::async_trait; use axum::body::Bytes; use std::path::PathBuf; diff --git a/nora-registry/src/storage/mod.rs b/nora-registry/src/storage/mod.rs index 2096591..a526e80 100644 --- a/nora-registry/src/storage/mod.rs +++ b/nora-registry/src/storage/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + mod local; mod s3; diff --git a/nora-registry/src/storage/s3.rs b/nora-registry/src/storage/s3.rs index 4bf3e13..5fddcaf 100644 --- a/nora-registry/src/storage/s3.rs +++ b/nora-registry/src/storage/s3.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use async_trait::async_trait; use axum::body::Bytes; use chrono::Utc; diff --git a/nora-registry/src/tokens.rs b/nora-registry/src/tokens.rs index 0f2c1b4..51f075e 100644 --- a/nora-registry/src/tokens.rs +++ b/nora-registry/src/tokens.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use std::fs; diff --git a/nora-registry/src/ui/api.rs b/nora-registry/src/ui/api.rs index 4e46146..79cb4fe 100644 --- a/nora-registry/src/ui/api.rs +++ b/nora-registry/src/ui/api.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use super::components::{format_size, format_timestamp, html_escape}; use super::templates::encode_uri_component; use crate::activity_log::ActivityEntry; diff --git a/nora-registry/src/ui/components.rs b/nora-registry/src/ui/components.rs index 5a78d3b..f679b8e 100644 --- a/nora-registry/src/ui/components.rs +++ b/nora-registry/src/ui/components.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use super::i18n::{get_translations, Lang, Translations}; /// Application version from Cargo.toml diff --git a/nora-registry/src/ui/i18n.rs b/nora-registry/src/ui/i18n.rs index 41d6145..a8aa4e5 100644 --- a/nora-registry/src/ui/i18n.rs +++ b/nora-registry/src/ui/i18n.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + /// Internationalization support for the UI use serde::{Deserialize, Serialize}; diff --git a/nora-registry/src/ui/logo.rs b/nora-registry/src/ui/logo.rs index 56ee2bd..5b2004e 100644 --- a/nora-registry/src/ui/logo.rs +++ b/nora-registry/src/ui/logo.rs @@ -1 +1,4 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + pub const LOGO_BASE64: &str = "data:image/jpeg;base64,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"; diff --git a/nora-registry/src/ui/mod.rs b/nora-registry/src/ui/mod.rs index 58239fd..f691f35 100644 --- a/nora-registry/src/ui/mod.rs +++ b/nora-registry/src/ui/mod.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + mod api; mod components; pub mod i18n; diff --git a/nora-registry/src/ui/templates.rs b/nora-registry/src/ui/templates.rs index ae7acce..5188338 100644 --- a/nora-registry/src/ui/templates.rs +++ b/nora-registry/src/ui/templates.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use super::api::{DashboardResponse, DockerDetail, MavenDetail, PackageDetail, RepoInfo}; use super::components::*; use super::i18n::{get_translations, Lang}; diff --git a/nora-registry/src/validation.rs b/nora-registry/src/validation.rs index ea6d534..52210de 100644 --- a/nora-registry/src/validation.rs +++ b/nora-registry/src/validation.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + #![allow(dead_code)] //! Input validation for artifact registry paths and identifiers //! diff --git a/nora-storage/src/config.rs b/nora-storage/src/config.rs index 232cb32..b15308d 100644 --- a/nora-storage/src/config.rs +++ b/nora-storage/src/config.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + use serde::{Deserialize, Serialize}; use std::fs; diff --git a/nora-storage/src/main.rs b/nora-storage/src/main.rs index 1c75db3..82a5e11 100644 --- a/nora-storage/src/main.rs +++ b/nora-storage/src/main.rs @@ -1,3 +1,6 @@ +// Copyright (c) 2026 Volkov Pavel | DevITWay +// SPDX-License-Identifier: MIT + mod config; use axum::extract::DefaultBodyLimit;