For programmatic configuration, the strongest matches are hashicorp/terraform-cdk (This framework allows you to define and manage infrastructure), apple/pkl (Pkl is a type-safe configuration language that lets you) and facebookresearch/hydra (Hydra is a hierarchical configuration framework that offers typed). awslabs/cdk8s and pulumi/pulumi round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source configuration as code tools for programmatic setup. Compare top repositories and pick the right one.
The Terraform Cloud Development Kit is an infrastructure as code framework that allows cloud resources to be defined using general-purpose programming languages. It functions as a configuration synthesizer, translating high-level programming logic and provider schemas into JSON configuration files that are executed by the Terraform engine to provision infrastructure. The framework provides a multi-language infrastructure library with the ability to automatically generate language-specific classes from provider schemas. It enables the creation of reusable constructs, allowing complex resource
This framework allows you to define and manage infrastructure entirely through general-purpose programming languages with type safety and modular constructs, fulfilling the core requirements of code-first infrastructure management.
Pkl is a configuration-as-code language used to define, validate, and generate structured configuration files. It functions as a type-safe configuration generator that enforces data integrity through a strongly-typed schema, ensuring configuration values meet defined constraints and types during evaluation. The project distinguishes itself by acting as both a configuration file generator and a binding generator. It transforms high-level programmable definitions into static formats such as JSON, YAML, or XML, and produces language-specific source code to synchronize settings and provide type s
Pkl is a type-safe configuration language that lets you define and generate structured files programmatically with validation, though it targets configuration files rather than full infrastructure-as-code orchestration.
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
Hydra is a hierarchical configuration framework that offers typed configuration classes and dynamic object instantiation, though it manages application configuration settings rather than programmatic infrastructure as code.
cdk8s is an infrastructure as code framework and configuration tool used to define Kubernetes applications using general-purpose programming languages. It transforms high-level, object-oriented code into the standard YAML manifests required for deployment to any Kubernetes cluster. The framework focuses on the creation of reusable abstractions and hierarchical constructs. By utilizing a system of nested components, it allows for the encapsulation of complex configurations into programmable interfaces. The tool provides a workflow for programmable Kubernetes configuration, enabling the genera
This framework allows Kubernetes applications to be defined using general-purpose programming languages rather than static YAML files, though its scope is tied specifically to Kubernetes manifest synthesis rather than general system infrastructure.
Pulumi is an infrastructure-as-code framework that enables the definition, deployment, and management of cloud resources using general-purpose programming languages. It functions as a cloud resource orchestrator that coordinates the lifecycle of heterogeneous infrastructure by executing code to construct dependency graphs and reconciling the desired state against actual cloud environments. The platform distinguishes itself through a language-host runtime bridge that allows developers to use standard programming languages to define infrastructure, rather than relying solely on domain-specific
Pulumi is an infrastructure-as-code framework that lets you define and manage cloud systems using general-purpose programming languages with full type safety and modular architecture.
Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to terminate. It is a non-Turing-complete language that uses a strict type system to ensure correctness and prevent infinite loops during evaluation. The project functions as a deterministic configuration engine and marshalling tool, converting programmable expressions into static formats such as JSON, YAML, and Bash. It distinguishes itself through a focus on security and integrity, using semantic hashing to pin remote imports and enforcing origin policies to prevent data exfil
Dhall is a type-safe, programmable configuration language that serves as a code-first alternative to static files, though it focuses more on deterministic evaluation than full-fledged infrastructure state management.
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages with strong typing and modular constructs.
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
Ansible is a popular agentless automation platform that handles infrastructure management, though it relies primarily on declarative configuration files rather than a pure code-first definition approach.
Terraform is a declarative infrastructure-as-code tool designed to manage the lifecycle of cloud and on-premises resources. It functions as a workflow engine that reconciles a defined desired state against real-world infrastructure, using a persistent state-tracking layer to maintain consistency and visibility across distributed environments. By mapping infrastructure components into a directed acyclic graph, the system calculates the optimal order for provisioning, updating, or destroying resources. The platform is distinguished by its extensible plugin-based architecture, which decouples co
Terraform is an industry-standard infrastructure-as-code tool that manages cloud resources declaratively, though its custom HCL configuration language is declarative rather than fully code-first.
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
Salt is an infrastructure configuration and remote execution tool that manages systems centrally, fitting the domain though it relies more on declarative state files than pure code-first programmatic definition.
Chef is a configuration management platform and infrastructure as code framework used to automate the deployment and maintenance of infrastructure state across a fleet of servers. It operates as an idempotent automation engine, ensuring systems converge to a desired state by applying only the necessary changes to resolve differences. The system functions as a multi-platform server orchestrator capable of managing infrastructure across different operating systems, cloud providers, and hardware architectures. It includes a dedicated infrastructure testing framework to verify configuration code
Chef is a configuration management and infrastructure-as-code framework that automates server deployment using code, though it relies on Ruby-based DSLs rather than general-purpose programming languages with full type safety.
Puppet is an infrastructure as code tool and configuration management framework used to automate the provisioning and state orchestration of server fleets. It functions as a declarative state orchestrator that manages server configurations and system settings to ensure consistency and reproducibility across a fleet of machines. The system utilizes a declarative state modeling approach and an idempotent execution engine to maintain configuration state and prevent environment drift. It employs resource-based abstraction and a client-server architecture to translate high-level specifications int
Puppet is a well-established infrastructure as code tool and configuration management framework that uses declarative state modeling and resource abstraction to automate server provisioning, though it relies on a domain-specific language rather than general-purpose programming languages for its code-first definitions.
The configuration-as-code plugin for Jenkins translates automation server settings and plugin parameters into human-readable YAML files, enabling reproducible server environments and version-controlled infrastructure management. It replaces manual web interface setup tasks with declarative text-based definitions for administrative settings, authentication backends, and access control. The system features dynamic data-binding capabilities that map text definitions directly to component properties using reflection and type inspection, alongside dynamic schema generation that produces validation
This plugin allows Jenkins to be configured entirely using human-readable declarative files, providing a code-driven approach to system administration within its specific ecosystem.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| hashicorp/terraform-cdk | 5.1K | TypeScript | MPL-2.0 | |
| apple/pkl | 11.4K | Java | Apache-2.0 | |
| facebookresearch/hydra | 10.4K | Python | MIT | |
| awslabs/cdk8s | 4.8K | JavaScript | Apache-2.0 | |
| pulumi/pulumi | 24.8K | Go | apache-2.0 | |
| dhall-lang/dhall-lang | 4.5K | Dhall | BSD-3-Clause | |
| aws/aws-cdk | 12.8K | TypeScript | Apache-2.0 | |
| ansible/ansible | 69K | Python | GPL-3.0 | |
| hashicorp/terraform | 48.7K | Go | NOASSERTION | |
| saltstack/salt | 15.2K | Python | apache-2.0 |