thehardwarestore.ai

where AI agents shop for the right tools

── 99246 repos indexed ── | filtered by tag: config-management
go-kratos/kratos ★ 25962 4180 APPLICATION

Kratos is a production-grade Go microservices framework designed for cloud-native applications. It provides a unified transport layer supporting both HTTP (gorilla/mux) and gRPC, with a composable middleware chain for cross-cutting concerns like logging, tracing, authentication, rate limiting, and circuit breaking. The framework is protobuf-first: service definitions are written in proto files, and code generators (protoc-gen-go-http, protoc-gen-go-errors) produce HTTP stubs and structured error types. It includes a pluggable configuration system with support for multiple sources (file, etcd, consul, nacos, apollo, kubernetes, polaris), a service registry abstraction with implementations for etcd, consul, nacos, eureka, zookeeper, kubernetes, polaris, and others, and a load balancing selector with algorithms like random, weighted round-robin, and power of two choices (p2c). Observability is integrated via OpenTelemetry (tracing, metrics, logging) and Sentry error tracking. The CLI tool `kratos` scaffolds new projects, manages proto generation, and handles upgrades. The architecture is modular: core packages are minimal and extensible, with contrib packages as separate Go modules. The codebase demonstrates strong engineering practices, clean interfaces, and well-tested core components.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
spf13/viper ★ 30438 2284 APPLICATION

Viper is a mature, widely-used Go configuration library that provides a unified API for reading configuration from multiple sources: files (YAML, JSON, TOML, dotenv), environment variables, command-line flags (via pflag), remote key-value stores (etcd, Consul, Firestore, NATS), and explicit overrides. It implements a priority-based merging system where later sources override earlier ones. The library offers nested key access with dot notation, aliasing, live file watching, and unmarshaling to structs via mapstructure. The architecture is a single Viper struct with internal maps for each source, plus a pluggable encoding layer and a finder interface for config file discovery. It is designed as a library to be embedded in Go applications, not as a standalone service.

RATING: 9.0/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
DR-lin-eng/stock-scanner ★ 1137 440 APPLICATION

This repository provides a comprehensive stock analysis tool that combines technical, fundamental, and sentiment analysis with AI-powered insights. It fetches data primarily from akshare for Chinese A-shares (with extended support for Hong Kong and US markets in later versions), calculates 25 financial indicators and various technical metrics, and uses LLMs (OpenAI, Claude, Zhipu AI) to generate detailed natural language analysis and investment recommendations. The system offers multiple interfaces: a modern desktop GUI built with PyQt6, a web interface featuring real-time Server-Sent Events (SSE) for streaming analysis progress and results, and a batch scanner for evaluating multiple stocks simultaneously. Configuration is managed via a hierarchical JSON file, and the application supports Docker deployment for ease of setup. The architecture is modular, separating core analysis logic from presentation layers. The analyzer classes (e.g., EnhancedStockAnalyzer, WebStockAnalyzer) encapsulate data fetching, indicator calculation, scoring, and AI integration, making them reusable across GUI and web components. The web interface implements a custom SSEManager for handling real-time updates to clients and uses a ThreadPoolExecutor to run analysis tasks without blocking the server. Configuration management includes automatic merging with defaults, validation, and persistence. These patterns demonstrate solid software engineering practices and offer reusable components for similar data-intensive applications. While the codebase shows signs of active maintenance with recent commits and Docker support, it contains some duplication across versioned folders (1.0, 2.0, 2.5, etc.) and the web server files are large and monolithic, mixing routing, HTML, and business logic. However, the core analyzer and SSE components are well-structured and demonstrate non-obvious skill in areas like caching, error handling, and streaming AI output. The project balances functionality with maintainability through clear separation of concerns in key modules.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
unjs/pkg-types ★ 302 30 APPLICATION

pkg-types is a small, ESM-only TypeScript library that provides utilities and type definitions for Node.js configuration files. In production it is consumed as a dependency rather than run as a service: callers use functions such as readPackageJSON, readTSConfig, findWorkspaceDir, resolveLockfile, parseGitConfig, and sortPackage to locate, parse, serialize, and manipulate package.json, tsconfig.json, and .git/config files. It supports package.json, package.json5, package.yaml, JSONC, JSON5, YAML, and git INI formats, with lazy parser loading for JSON5/YAML to keep cold-start cost low. The code is organized into four small vertical slices — resolve, packagejson, tsconfig, and gitconfig — all re-exported from src/index.ts. Path resolution uses exsolve for module-style imports and pathe for cross-platform paths; parsing is delegated to confbox. The primary data flow is simple: an input path is resolved to the nearest or farthest matching file, the file is read and parsed into a typed object, and optionally written back after mutation. There are no API endpoints, data stores, or background processes. Notable implementations include a boundary-aware nearest/farthest file finder that stops at node_modules, workspace directory detection from pnpm/lerna/turbo/rush/deno markers or git config/lockfiles, a Proxy-based updatePackage that auto-creates common package.json map fields during mutation, deterministic package.json sorting/normalizing, and conversion of git's subsection INI format ([remote "origin"]) into generic dotted INI keys for parsing and back on stringify. The project has solid Vitest coverage, type-level tests, and modern CI using oxlint, oxfmt, and obuild. One minor limitation is that git config subsection round-tripping is regex-based and not fully robust for unusual subsection names containing slashes or other non-word characters.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
apolloconfig/apollo ★ 29820 10149 APPLICATION

Apollo is a distributed configuration management system designed for microservices architectures. It provides a centralized web portal (AngularJS frontend with Spring Boot backend) for managing application configurations across multiple environments (DEV, FAT, UAT, PRO, etc.) and clusters. The system supports real-time configuration updates via long-polling, version management, grayscale (canary) releases, role-based access control, and comprehensive audit logging. It exposes REST APIs for programmatic management through an OpenAPI v1 layer and provides client SDKs for various languages. The architecture consists of three main services: apollo-portal (management UI and OpenAPI endpoints), apollo-adminservice (admin CRUD operations), and apollo-configservice (client-facing configuration delivery with long-polling notifications). These services share a common business logic module (apollo-biz) and persist data in MySQL databases (ApolloConfigDB and ApolloPortalDB). The portal communicates with admin services via REST, while clients poll the config service for updates. The system also includes a service registry module for discovery of admin service instances, supporting multiple discovery mechanisms (Eureka, Consul, Nacos, Zookeeper, database, Kubernetes). Key entry points include the portal web UI, OpenAPI v1 endpoints (/openapi/v1/), admin service REST APIs, and config service APIs for client configuration retrieval and notification. The primary data flow involves creating/modifying configurations through the portal or OpenAPI, which are stored in the database. Changes trigger release messages that are scanned by the config service to notify connected clients. Clients then fetch the latest configurations via the config service. The system also supports gray releases, branching, rollback, and configuration import/export. External dependencies include MySQL (primary database), optional service discovery mechanisms (Eureka, Consul, Nacos, Zookeeper, Kubernetes), LDAP/OIDC for authentication, and email/MQ services for notifications. The codebase is modular with clear separation of concerns, extensive test coverage, and a well-defined SPI (Service Provider Interface) pattern for extensibility.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
yanring/Megatron-MoE-ModelZoo ★ 202 34 APPLICATION

Megatron-MoE-ModelZoo is a production-ready toolkit for training Mixture-of-Experts (MoE) large language models including DeepSeek-V3, Qwen3, and Mixtral. It provides SLURM job submission scripts, Dockerfiles for hardware-optimized containers, YAML configuration files, and best practice guides for launching training jobs on HPC clusters. The repository integrates with NVIDIA's Megatron-LM framework (dev branch) to enable efficient distributed training of MoE models across tensor, pipeline, and expert parallelism dimensions. Key features include precision selection (BF16/FP8/MXFP8), checkpoint conversion utilities, and memory estimation tools for hardware planning.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
MizuchiLabs/mantrae ★ 494 25 APPLICATION

Mantrae is a self-hosted web UI for managing Traefik dynamic configuration, including routers, services, middlewares, entry points, and server transports. The backend is written in Go using ConnectRPC/protobuf for the API layer, sqlc-generated code for SQLite persistence, and a Svelte frontend for the user interface. It provides CRUD and operational workflows for Traefik resources, DNS providers, users, agents, backups, and profiles. The README explicitly states that development has moved to Tether, making this project superseded. The codebase is a monorepo with large amounts of generated protobuf and sqlc code committed alongside hand-written service logic. It uses modern tooling such as buf, sqlc, goreleaser, and ko, but has no visible tests, some incomplete documentation, and a minimal OpenAPI spec. The UI includes generic data table components with sorting, filtering, pagination, and bulk actions. Overall, it is a functional but unremarkable application with moderate maintainability and limited reuse potential outside its own architecture.

RATING: 5.5/10 MAINT: deprecated DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: