30 open-source projects similar to mitchellh/packer, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Packer alternative.
Packer is a machine image builder and multi-platform image orchestrator used to create identical virtual machine images for multiple platforms from a single source configuration. It functions as an infrastructure as code tool, utilizing the HashiCorp Configuration Language to define versioned and reproducible templates for cloud image provisioners. The tool is distinguished by its plugin-based extension model, which allows it to load external binaries for builders and provisioners to support various cloud platforms and virtualization environments. It includes a post-processor pipeline to tran
This project serves as an educational resource for mastering automated infrastructure provisioning, configuration management, and container orchestration. It provides structured learning paths and hands-on exercises designed to teach the principles of defining and managing server environments through version-controlled configuration files. The repository distinguishes itself by offering specific, practical tutorials for industry-standard automation tools. It covers the deployment of cloud resources through declarative configuration files, the automation of server setup and software maintenanc
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
Veewee is a framework for automating the generation and packaging of custom virtual machine images across multiple hypervisors. It serves as a virtual machine image builder, OS installation automator, and image converter capable of producing configured images for KVM, Vagrant, and VMware. The tool differentiates itself by using remote desktop keystroke injection to simulate keyboard inputs directly into the guest machine buffer, automating installations that typically require manual interaction. It further enables the creation of custom base boxes and portable image formats through a multi-pr
Otto is a hybrid cloud orchestration platform designed to provision infrastructure and deploy application workloads across diverse cloud environments using infrastructure as code. It functions as an infrastructure as code provisioner that automates the deployment of consistent resources through policy-driven workflows. The project includes a hybrid cloud service mesh for managing service discovery and secure communication between applications, as well as an identity-based access controller for managing secrets and enforcing granular access controls. It also features an infrastructure knowledg
Tart is an Apple Silicon virtualization manager used to build and run macOS and Linux virtual machines using native hardware virtualization frameworks. It functions as a virtual machine cluster orchestrator and an ephemeral runner for executing continuous integration pipeline steps within isolated, short-lived environments. The system utilizes an OCI-compatible virtual machine registry to push and pull images via standardized container registries. It features a controller-worker architecture that schedules virtual machine lifecycles across remote worker nodes, incorporating a secure SSH jump
Boto3 is the AWS SDK for Python, providing a programmatic interface for managing and automating AWS cloud infrastructure and services. It serves as a cloud management API client and resource manager for provisioning, configuring, and scaling virtual servers, databases, and storage. The library enables the implementation of infrastructure-as-code through declarative templates and scripts, allowing for the deployment of identical resource stacks across multiple accounts and geographic regions. It also provides a framework for coordinating distributed workflows, serverless functions, and contain
Kubernetes is a distributed container orchestration platform that automates the deployment, scaling, and management of containerized applications across clusters of computing nodes. It functions as a declarative infrastructure controller, utilizing a control loop architecture that continuously monitors the current system state against user-defined configurations to ensure desired operational outcomes. The system relies on a centralized API-driven interface and a replicated key-value store to maintain a consistent source of truth for all cluster objects. The platform distinguishes itself throu
go-cloud is a toolkit of cloud-agnostic libraries that provide portable Go interfaces for interacting with common cloud services. It enables multi-cloud application development by decoupling business logic from specific provider API implementations. The project utilizes a driver-based system to map generic interface calls to vendor-specific requests. This allows applications to switch between different cloud backends for blob storage, relational databases, and asynchronous publish-subscribe messaging without changing the core application code. Beyond storage and messaging, the toolkit includ
Fog is a Ruby cloud infrastructure SDK that provides a standardized interface for managing compute, storage, and network resources across multiple cloud providers. It utilizes a multi-cloud abstraction layer to translate generic resource requests into provider-specific API calls, unifying infrastructure control through a consistent set of Ruby objects. The project includes a cloud API mocking framework that simulates provider responses and resource behavior in memory. This allows for the testing of infrastructure integration logic without making actual network requests or incurring provider c
This project is a reference library and collection of example code patterns for deploying cloud infrastructure using the AWS CDK. It provides a set of sample projects that demonstrate how to define compute, storage, and networking resources using general purpose programming languages. The library includes reference implementations for various architectural patterns, including serverless backends with GraphQL and WebSocket APIs, container orchestration with load balancers and auto-scaling, and global static website hosting via content delivery networks. It also provides designs for isolated ne
This project is a collection of automated hardening frameworks and Ansible roles designed to secure Linux systems, databases, SSH services, and web servers. It functions as a configuration framework that reduces the attack surface of Linux distributions through the automated enforcement of security policies. The collection provides specific security baselines for a variety of services, including MySQL databases, OpenSSH daemons, and web servers such as Nginx and Apache. These roles are designed to remove insecure defaults, enforce secure authentication methods, and align system configurations
Wing is a cloud infrastructure programming language and infrastructure-as-code framework that unifies cloud resource definitions and application runtime code into a single integrated programming model. It functions as a cloud resource abstraction layer, providing a standardized library for writing cloud-agnostic code that operates across multiple different infrastructure providers. The system includes a cloud application simulator that provides a local environment for testing and debugging cloud logic without requiring deployment to a live provider. It also features automatic infrastructure a
IncludeOS is a unikernel operating system that bundles application code with only the necessary kernel drivers into a single bootable image. It functions as a resource-efficient cloud service virtual machine and a lightweight serverless runtime environment designed to minimize memory footprints and boot times. The project provides a Linux compatibility layer via a C library, allowing applications written for Linux to be compiled and executed within the unikernel environment. It also serves as a network appliance framework for building high-performance firewalls and load balancers using config
wal-g is a database cloud backup tool and write-ahead log archiver designed for disaster recovery and point-in-time recovery. It archives database state and transaction logs to cloud storage providers to ensure long-term data durability. The project provides a manager for compressing, encrypting, and pruning database backups stored in cloud object storage. It specifically enables the restoration of a database to a specific timestamp by fetching base backups and replaying transaction logs. The tool's capabilities cover multi-engine backup and restoration, including the generation of full and
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
Cluster API is a declarative framework and multi-cluster management system for automating the creation, scaling, and destruction of Kubernetes clusters across diverse infrastructures. It acts as a cluster provisioning orchestrator and infrastructure provisioner, using a centralized management cluster to operate the full lifecycle of multiple remote workload clusters. The project employs a provider-based plugin architecture that decouples core orchestration logic from specific cloud or bare-metal implementations. This allows the system to standardize the deployment of control planes, the boots
This project is a multi-cloud security auditor and configuration audit tool designed to identify misconfigurations and vulnerabilities across various cloud service provider environments. It functions as a cloud security posture management tool and a vulnerability remediation engine, allowing users to scan resources against security best practices and industry compliance standards. The system distinguishes itself by combining detection with a remediation engine that executes corrective actions to fix discovered security gaps. It employs a plugin-based audit engine and a provider-agnostic abstr
Kubespray is an Ansible-based tool for deploying production-ready Kubernetes clusters on physical or virtual machines across various environments. It serves as an infrastructure provisioner and cluster deployer that automates the installation and configuration of cluster nodes. The project functions as a bare metal cluster orchestrator, allowing for the setup of Kubernetes on physical hardware without relying on a managed cloud provider. It includes specialized installers for configuring networking fabrics, pod communication plugins, and routing policies. The framework also manages the insta
microvm.nix is a declarative virtual machine manager and orchestrator for defining, building, and managing isolated guest environments using Nix. It functions as a virtual machine image builder that transforms system specifications into bootable disk images and runner scripts. The project provides a hypervisor abstraction layer, enabling the deployment of guest images across multiple virtualization backends through a unified configuration. It includes specialized tools for PCI hardware passthrough, granting virtual machines direct access to physical host USB and PCI devices. The framework co
Bento is a system for defining, building, and distributing standardized, cross-platform virtual machine images and base boxes. It functions as a virtual machine image builder that automates the creation of images using declarative configuration templates. The project provides a pipeline for building, testing, and publishing images to a cloud registry. This workflow utilizes a collection of templates to generate minimal, standardized base boxes across multiple operating systems. The system covers image automation via template-based generation and validation tools for testing built images agai
This is an Ansible collection that automates security hardening for Linux operating systems, databases, web servers, and SSH services. It provides a declarative, modular architecture that enforces idempotent security configurations, ensuring that each task only applies changes when the current system state deviates from the desired security baseline. The collection organizes security configurations into reusable Ansible roles, each targeting a specific system component. It includes roles for hardening OpenSSH with key-only authentication and disabled root login, securing MySQL and MariaDB ins
Cloud Custodian is a multi-cloud governance engine and policy enforcement tool designed to automate security, compliance, and cost optimization across various cloud providers. It functions as a rules engine that uses a declarative domain specific language to query cloud resources and execute corrective actions based on predefined filters. The system operates as a serverless policy orchestrator, deploying provider-specific functions to trigger real-time enforcement in response to cloud resource changes. It provides a provider-agnostic resource abstraction to maintain consistent operational pol
This project is a PowerShell-based post-installation automation suite and configuration manager designed to optimize Windows 10 and Windows Server deployments. It functions as a system optimization tool that applies idempotent tweaks to ensure an operating system reaches a specific desired state after a fresh installation. The tool distinguishes itself through the use of preset-based task orchestration and a modular tweak library. It allows for the definition of custom setup presets via external files and supports the extension of its capabilities through the import of custom modules. Every s
Up is a deployment tool that transforms any HTTP server into an AWS Lambda function behind API Gateway with a single command, eliminating server management entirely. It provides a unified platform for building and deploying serverless APIs that scale automatically and charge only for actual usage, while supporting Node.js, Go, Python, Java, Crystal, and Clojure runtimes without per-language configuration. The tool automates the generation and management of all required AWS resources—including Lambda, API Gateway, CloudFront, and S3—from a declarative configuration, and can replicate the entir
Virtual Kubelet is a custom kubelet implementation that allows a Kubernetes control plane to treat serverless platforms and external compute APIs as standard cluster nodes. It functions as an external compute orchestrator, translating standard orchestration commands into the specific API calls required to run containers on non-native infrastructure. The project provides a pluggable virtual node provider interface, enabling developers to implement custom node providers that map pod lifecycle events to specific external backends. This allows for the emulation of standard node behavior, which en
pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across
Vagrant is a virtual machine environment manager and infrastructure as code tool used to create and configure consistent development environments. It acts as a virtual machine provisioner and hypervisor abstraction layer, allowing users to define machine specifications and automate software installation on guest systems via declarative configuration files. The project enables cross-hypervisor orchestration by decoupling the command interface from specific virtualization backends. It ensures environment consistency through the distribution of pre-configured machine images and the orchestration
This project provides a specialized UEFI boot environment and hardware emulation layer designed to run proprietary network-attached storage operating systems on generic x86 and x64 hardware. It functions as a bootloader and recovery environment that enables these systems to initialize on devices not originally manufactured by the vendor. The system employs a hardware emulation layer that mimics specific vendor IDs and boot parameters to ensure operating system compatibility. It includes a virtual machine image generator to create bootable images in multiple formats for deployment within virtu
motioneyeos is a dedicated video surveillance operating system and embedded OS build system designed to turn single-board computers into standalone network video monitoring stations. It functions as a specialized Linux-based distribution for resource-constrained hardware, providing the necessary infrastructure to manage a network of cameras for continuous security monitoring. The project features a menu-driven build automation pipeline that allows for the configuration, compilation, and validation of custom system images. It utilizes toolchain-based cross compilation to ensure compatibility a