89 dépôts
Systems for automating server provisioning and state maintenance.
Explore 89 awesome GitHub repositories matching part of an awesome list · Configuration Management. Refine with filters or upvote what's useful.
Ansible is an agentless infrastructure automation engine designed to manage remote servers and network devices. It functions as a cross-platform orchestration tool that coordinates system updates, software installations, and service configurations from a centralized management workstation. By utilizing a declarative approach, it allows users to define desired system states through human-readable configuration files, ensuring consistency across distributed environments. The platform operates by establishing secure shell connections to target nodes, eliminating the need for persistent agent sof
Agentless provisioning and configuration management tool.
Viper is a configuration management library designed to centralize application settings from diverse sources into a unified, type-safe registry. It aggregates data from local files, environment variables, command-line flags, and remote key-value stores, providing a single source of truth for application state. By utilizing a hierarchical key-value registry, the system resolves configuration values based on a prioritized stack of providers, ranging from default values to runtime overrides. The library distinguishes itself through its pluggable provider abstraction and dynamic update capabiliti
Listed in the “Configuration Management” section of the Awesome Go awesome list.
nginxconfig.io is a web-based NGINX configuration generator designed to create and optimize server configuration files through a guided setup process. It functions as a reverse proxy configurator, a web server security tool, and a content delivery optimizer. The tool provides a structured interface to generate configurations for routing external traffic to application backends and hardening servers against vulnerabilities. It focuses on the creation of security headers, encryption profiles, and specific settings for different server environments. The platform covers content delivery optimiza
Online generator for creating general-purpose configurations.
Salt is an infrastructure configuration management tool and orchestration framework designed for large-scale system administration. It functions as a remote execution engine that enables administrators to manage, provision, and enforce declarative states across distributed fleets of servers from a central control point. By utilizing a high-performance message bus, the platform allows for the simultaneous execution of administrative tasks and the maintenance of consistent software configurations across thousands of nodes. The system distinguishes itself through a flexible architecture that sup
Event-driven automation and remote task execution platform.
This project provides a collection of optimized configuration boilerplates and templates for Nginx web servers. Its primary purpose is to provide a standardized foundation for server performance tuning, security hardening, and the deployment of virtual hosts. The suite includes specific directives to mask server identity, protect sensitive system files, and secure communication. It also features predefined templates for managing multiple secure and non-secure website hosts using a modular directory structure. Broadly, the project covers server resource tuning through worker process adjustmen
Boilerplate configurations for optimized HTTP servers.
godotenv is a Go library designed to load, parse, and serialize environment configuration files. It provides tools to extract configuration data from files into maps and inject those key-value pairs directly into the system environment of a Go application process. The project includes a configuration file serializer for exporting environment variable maps back into formatted files and a parser for extracting data without modifying the system environment. It supports injecting variables from strings or files into the process environment using priority-based overloading and overwriting. The li
Listed in the “Configuration Management” section of the Awesome Go awesome list.
Hydra is a hierarchical configuration framework and type-safe configuration manager. It is designed to manage complex application settings through composable configuration files and command-line overrides, ensuring that configuration values match expected data types during instantiation. The framework functions as a dynamic object instantiator that creates class instances directly from hierarchical configuration values and nested objects. It also operates as a hyperparameter sweep orchestrator and cluster job launcher, enabling the execution of multiple application runs across parameter range
Configures complex applications with hierarchical settings.
Sonic is a high-performance Go JSON serialization library that provides tools for encoding and decoding native data structures. It functions as a JIT-accelerated encoder, a JSON AST parser, a stream processor, and a lazy decoder. The project utilizes just-in-time machine code generation to optimize the encoding of large data schemas and employs a JIT assembler to maximize serialization and deserialization speeds. It features a precompiled schema warmup process to prevent latency spikes during initial execution and leverages SIMD hardware instructions for accelerated parsing. The library cove
Listed in the “Configuration Management” section of the Awesome Go awesome list.
python-dotenv is a library and command line interface for managing environment variables in Python applications. It functions as a configuration parser and loader that reads key-value pairs from files and injects them into the system environment, enabling the decoupling of application configuration from source code. The project provides a command line interface for manipulating and editing environment variables within configuration files. It also includes a mechanism for recursive variable interpolation, allowing dynamic placeholders within configuration files to be resolved using existing en
Loads environment variables from .env files.
Fleet is an open-source device management platform that provides centralized control over computing devices running macOS, Linux, Windows, Chromebooks, iOS, and Android. It enables organizations to enroll devices, collect real-time telemetry, enforce security compliance policies, and manage software remotely from a single system. The platform can be deployed as a single binary, run locally for testing, or scaled horizontally across cloud infrastructure on AWS, Kubernetes, GCP, or Render, with support for high availability through database replication and load balancing. The platform distingui
Telemetry platform for managing server and workstation security data.
env is a Go library that reads environment variables and populates the fields of a Go struct according to tag directives. It uses reflection to iterate over struct types and tags at runtime, mapping environment variable names to struct fields and applying parsing behavior defined in struct tags. The library supports required field validation, returning errors when marked fields are missing or empty after parsing. It also provides default value fallback from struct tags when environment variables are not set, environment variable expansion that recursively substitutes references within values,
Listed in the “Configuration Management” section of the Awesome Go awesome list.
envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into structured Go data types. It provides tools for validating mandatory fields and ensuring application configuration adheres to the external configuration patterns of twelve-factor app compliance. The library features a help generator that creates formatted usage text based on struct definitions to describe expected environment variables. It also includes a validation tool capable of detecting unused environment variables that match a specific prefix but do not correspond to any
Listed in the “Configuration Management” section of the Awesome Go awesome list.
Dynaconf est une bibliothèque de gestion de configuration pour les applications Python qui fournit un système unifié pour charger, valider et gérer les paramètres. Elle agrège les données de configuration depuis plusieurs fichiers, variables d'environnement et magasins externes en un seul objet en utilisant un ordre de priorité défini. Le projet se distingue par un gestionnaire d'environnement en couches qui sépare les paramètres en profils distincts, tels que développement et production. Il inclut un framework de validation déclaratif pour imposer des règles de données et des contraintes de type pendant le processus de chargement, ainsi qu'un intégrateur de magasin de secrets externe pour récupérer des données sensibles depuis HashiCorp Vault et Redis. La bibliothèque prend en charge le chargement de fichiers multi-format pour les fichiers TOML, YAML, JSON, INI et Python. Elle fournit des capacités pour le cast de variables d'environnement, la recherche par notation pointée et l'intégration avec des frameworks web comme Django et Flask pour remplacer les objets de configuration standard. Des utilitaires en ligne de commande sont disponibles pour le bootstrapping de la configuration, la validation des paramètres et l'exécution de surcharges au runtime.
Manages application configuration with framework-specific plugins.
Mgmt est un système de gestion de configuration distribué qui maintient l'état souhaité des clusters en utilisant l'automatisation pilotée par les événements et le feedback en boucle fermée. Il fonctionne comme un moteur d'automatisation d'infrastructure qui déclenche des corrections d'état système en temps réel basées sur la surveillance des ressources et des spécifications prédéfinies. Le système inclut un sélecteur de nœuds de cluster distribué pour élire des sous-ensembles d'hôtes basés sur des stratégies et contraintes spécifiques afin de distribuer les charges de travail. Il dispose également d'un gestionnaire d'infrastructure cloud pour contrôler le cycle de vie des instances de machine virtuelle, incluant le déploiement d'images, la sélection de région et les scripts de démarrage, aux côtés d'un orchestrateur de firmware matériel pour installer et vérifier les binaires sur les contrôleurs de gestion de carte mère. Des capacités supplémentaires couvrent l'exécution de tâches en parallèle, la modification de fichiers de configuration basée sur des lentilles et la récupération de métadonnées système. Le toolkit fournit également des utilitaires pour la transformation de types de données, le décodage de format et l'inspection d'environnement pour déterminer les états actuels du système.
Next-generation configuration management written in Go.
koanf is a configuration management library for Go designed to load, merge, and unmarshal application settings from multiple sources into structured objects. It functions as a multi-source config loader that aggregates data from environment variables, files, and remote providers into a single unified map. The system utilizes a pluggable architecture for parsing and data abstraction, allowing it to transform bytes from formats such as JSON, YAML, and TOML into nested maps. It supports dynamic configuration watching to monitor external sources and trigger automatic reloads when settings change.
Listed in the “Configuration Management” section of the Awesome Go awesome list.
Cloud-init is an automated server provisioning and instance initialization tool designed to configure virtual machines during the early boot process. It functions as a metadata provisioner that retrieves instance configuration data from cloud providers to set up network, storage, and user settings. The project provides a cross-distribution boot configuration layer that applies consistent system settings across different Linux distributions. It utilizes a modular provider abstraction to handle API differences between various cloud platforms and employs a staged boot execution model to ensure i
Initialization tool for automating VM and cloud instance setup.
Package ini provides INI file read and write functionality in Go
Listed in the “Configuration Management” section of the Awesome Go awesome list.
Strict separation of config from code.
Separates application settings from source code.
Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg
Listed in the “Configuration Management” section of the Awesome Go awesome list.
Awesome Nginx configuration template and a set of handy must-have snippets.
Template for creating robust server configurations.