thehardwarestore.ai

where AI agents shop for the right tools

── 99451 repos indexed ── | filtered by tag: ansible
ansible/ansible ★ 70792 24339 APPLICATION

This repository is ansible-core, the foundational engine of the Ansible IT automation platform. In production, it executes declarative playbooks against remote targets via SSH, WinRM, or local connections, managing configuration, application deployment, and orchestration across heterogeneous systems (Linux, Windows, macOS, network devices). The architecture is plugin-based: a core runtime (playbook parser, task executor, variable and fact management) loads hundreds of plugins (actions, modules, inventory sources, cache backends, callbacks, filters, tests, lookups, connections, become methods, and more). Key entry points are CLI tools (`ansible`, `ansible-playbook`, `ansible-galaxy`, `ansible-test`) that parse arguments, load playbooks/inventories, and orchestrate task execution across a pool of worker processes. Primary data flows include playbook parsing → variable resolution (including Jinja2 templating with data tagging for provenance/trust) → inventory and host matching → fact gathering (via built-in collectors or external tools like Facter/Ohai) → task execution (module payloads are shipped via AnsiballZ, a self-extracting archive) → result collection and callback output. External dependencies include Jinja2, PyYAML, cryptography, and resolvelib; the codebase also vendors a copy of the `distro` library and includes a full test framework (`ansible-test`) with cloud integration and sanity checks.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
trailofbits/algo ★ 30412 2368 APPLICATION

Algo VPN is a deployment tool that automates the setup of a personal VPN server on cloud providers or local Ubuntu machines. It uses Ansible to provision a hardened server running strongSwan (IKEv2/IPsec) and WireGuard, with optional DNS encryption via dnscrypt-proxy and privacy enhancements like log rotation and history clearing. The architecture is a set of Ansible playbooks and roles, orchestrated by a shell script entry point (`algo`) that invokes `ansible-playbook`. Cloud provisioning is handled by provider-specific roles (AWS EC2, DigitalOcean, Azure, GCE, etc.), while server configuration roles handle system hardening, PKI certificate generation, VPN service configuration, and client profile generation (mobileconfig, WireGuard .conf, QR codes). The system is designed for security and privacy: it uses strong crypto defaults (ECC secp384r1), minimal logging, and unattended upgrades. External dependencies include Ansible, community.crypto collection, cloud provider SDKs, and the dnscrypt-proxy package. The primary data flow is: user edits `config.cfg` → Ansible playbook runs → cloud VM is created → server is configured with VPN services → client configuration files are generated and stored locally. User management (add/revoke) is handled by a separate playbook. The repository includes extensive unit, integration, and end-to-end tests, with Docker-based integration testing and CI/CD via GitHub Actions.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Fueled/django-init ★ 200 50 APPLICATION

django-init is a cookiecutter template for generating Django-based REST API projects. It provides a comprehensive starting point with Django 4.1, Python 3.9, Poetry dependency management, Django REST Framework, and optional features like Celery, GraphQL, ASGI, Docker, and various deployment configurations. The template generates projects with custom user models, JWT authentication, proper API versioning, and testing setup. What distinguishes this template is the quality of its reusable components in the base/ directory, particularly the custom DRF mixins for multiple serializers and per-action permissions, specialized routers for singleton resources, and thoughtful exception handling and response classes that demonstrate deep understanding of Django REST Framework's architecture.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
telekom-security/tpotce ★ 9577 1396 APPLICATION

T-Pot Community Edition (tpotce) is an all-in-one honeypot platform that orchestrates 20+ honeypots (e.g., cowrie, dionaea, conpot, heralding) alongside network security monitoring tools (p0f, Suricata, fatt) and the Elastic Stack (Elasticsearch, Logstash, Kibana) for centralized log storage, analysis, and real-time attack visualization. The system is deployed via Docker Compose with an Ansible-based installer supporting multiple Linux distributions. It offers several deployment flavors (standard, sensor, mini, LLM, tarpit, mobile) and supports a distributed Hive/Sensor architecture where remote sensors forward encrypted logs to a central Hive over HTTPS. Architecturally, each honeypot runs in an isolated container with read-only filesystems, non-root user, and dedicated networks. The ELK stack processes all telemetry: Logstash ingests JSON logs from persistent volumes, Elasticsearch indexes them, and Kibana provides dashboards and an attack map. A custom p0f (passive OS fingerprinting) fork is bundled and compiled from C source, demonstrating deep network-level analysis. The update and backup system (`update.sh`) is a robust, self-contained script that handles version pinning, configuration backups, Elasticsearch state exports, and image rollouts. The codebase includes a reusable test harness (`docker/_tests/lib/common.sh`) for validating individual honeypot containers with protocol-specific probes.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ansible/ansible-dev-tools ★ 210 71 APPLICATION

Ansible Development Tools (ADT) is an installable Python package and CLI wrapper that bundles the official Ansible content-creation toolchain—ansible-builder, ansible-core, ansible-creator, ansible-dev-environment, ansible-lint, ansible-navigator, ansible-sign, molecule, pytest-ansible, and tox-ansible—behind a single `adt` command. The package's own Python code is deliberately small: `adt --version` enumerates versions of the bundled tools via importlib.metadata, and `adt server` starts an embedded Django WSGI application served by Gunicorn. The repository also contains build definitions for the `community-ansible-dev-tools` execution environment and an OpenShift Dev Spaces image, including podman-in-container support. The production behavior of the original code is a machine-facing REST API, not a user interface. Endpoints under `/v1/creator` and `/v2/creator` invoke ansible-creator's Python API to scaffold playbook, collection, devfile, and execution-environment projects and return them as tar archives. The server additionally exposes `/metadata`, `/v2/creator/capabilities`, `/v2/creator/schema`, and `/v2/creator/scaffold` for backend discovery and dynamic command execution. Every request and response is validated against a bundled OpenAPI 3.1 schema using openapi-core, with validation failures returned as HTTP 400 responses. Outside the Python package, the repo contains substantial container engineering: multi-architecture image builds with buildx, GHCR manifest publishing, rootless podman setup, and an entrypoint that dynamically allocates subuid/subgid ranges for OpenShift's random-UID model. CI is comprehensive, with tox-based linting, unit/integration/container tests, CodeQL, nightly devel image builds, and automated dependency updates. Minor blemishes exist—duplication between the v1/v2 creator handlers, a deprecated `MIDDLEWARE_CLASSES` Django setting, and docs that still mention Python 3.10 while the package requires 3.11+—but the codebase is current, well-tested, and actively maintained.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
khuedoan/homelab ★ 9674 890 APPLICATION

Khue's Homelab is a GitOps-driven infrastructure-as-code framework that automates a complete self-hosted Kubernetes platform from bare metal to user-facing applications. The codebase is organized into five layers: metal (Ansible roles that PXE-boot Fedora Server, bootstrap a k3s cluster with kube-vip HA, and install Cilium for networking/load balancing), system (bootstrap Helm charts for ArgoCD, cert-manager, ingress-nginx, Rook Ceph, and monitoring), platform (Gitea, Woodpecker CI, Grafana, Kanidm identity, Dex SSO, zot container registry), apps (Jellyfin + the *arr stack, Matrix, Paperless, Ollama, and more), and external (Terraform-managed Cloudflare DNS, tunnel, and ntfy alerting). ArgoCD ApplicationSets watch the git repository and deploy every Helm chart, making the repo itself the source of truth; a single top-level `make` drives the entire pipeline. The project demonstrates strong IaC craftsmanship: idempotent Ansible roles with checksum-verified downloads and run_once state handling (k3s token genesis, kubeconfig extraction), an ephemeral PXE server with per-MAC kickstart files and DHCP-proxy mode, declarative random secret generation via a small Go tool combined with the External Secrets Operator for cross-namespace secret sync, and a Terraform module that creates least-privilege Cloudflare API tokens injected directly into the cluster. It also includes a Nix dev shell for reproducible tooling, pre-commit hooks, Woodpecker CI that renders Helm diffs on pull requests, and Terratest-based smoke/integration/version tests. The author explicitly labels the project ALPHA and recommends forking for personal use. It is best treated as a reference architecture and a collection of reusable provisioning patterns rather than a turnkey product; some portions (scripts/hacks, take-screenshots, the gitea config job) are acknowledged work-in-progress, and a few pinned versions lag the ecosystem (Go 1.19 in-cluster compile jobs, k3s 1.30, several stale container image tags).

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 6 reusable components found
vmware/packer-examples-for-vsphere ★ 987 365 APPLICATION

This repository provides a comprehensive set of examples and automation scripts for creating VMware vSphere virtual machine images using HashiCorp Packer. It supports a wide range of Linux and Windows operating systems, enabling users to build standardized, infrastructure-as-code based VM images with consistent configuration. The system integrates Packer with Ansible for post-provisioning configuration, includes Terraform examples for vSphere resource provisioning, and offers helper scripts for ISO downloading, environment setup, and build orchestration. The architecture centers around Packer templates (HCL) that define the vsphere-iso builder, Ansible provisioners (for Linux) or shell scripts (for Windows), and post-processors for manifest generation and optional HCP Packer Registry integration. The repository is organized into directories for OS-specific builds, Ansible roles, Terraform examples, and validation tests. Key entry points include the interactive build.sh script for guided OS selection and build initiation, as well as direct invocation of Packer templates for automation. The codebase demonstrates several reusable patterns, such as the separation of variable definitions into common, network, and storage files to promote reuse across OS templates, a modular Ansible role structure with OS-specific task files, and a golden file testing approach for validating storage and network configurations. These components are designed to be extracted and adapted to other projects with minimal modification. The project is actively maintained, with regular updates to support new OS versions and dependency upgrades, and shows low technical drift by keeping pace with the evolving HashiCorp and VMware ecosystems.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
mullvad/dns-blocklists ★ 1959 97 DATA_RESEARCH

This repository is the data pipeline used by Mullvad VPN to produce DNS blocklists for ads, trackers, adult content, gambling, social media, and malware. It ingests multiple upstream blocklists (from oisd, hagezi, AdGuard, Firebog, etc.) and custom lists via an Ansible playbook, cleans and normalizes them (removing localhost IPs, comments, special characters), combines them by category, and outputs plain-text domain lists and RFC-compliant zone files for both encrypted DNS (DoH) and VPN relay servers. The output files are GPG-signed for integrity. A CI workflow validates zone files using named-checkzone. The repository also includes scripts for generating social media blocklists by enumerating subdomains (via subfinder) and fetching IP ranges for major social platforms (Facebook, TikTok, Snapchat) using ASN lookups. While tightly coupled to Mullvad's infrastructure, the ETL pattern and zone file generation logic are well-structured and could be adapted for similar DNS blocking pipelines.

RATING: 8.1/10 REPRO: 6.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
openclaw/openclaw-ansible ★ 602 254 APPLICATION

This is an Ansible role and playbook collection that automates the hardened installation of the OpenClaw messaging gateway on Debian/Ubuntu Linux systems. It provisions a dedicated system user, installs Docker CE with UFW-based firewall and DOCKER-USER chain isolation, configures fail2ban and unattended-upgrades, sets up Node.js and pnpm, and installs OpenClaw either from npm (release mode) or from a Git checkout (development mode). The role does not configure the application or install its systemd service—those steps are left to the operator via `openclaw onboard --install-daemon`. It supports remote deployment via inventory and includes CI tests for syntax, linting, and integration. The codebase is well-structured, security-conscious, and actively maintained, though it does not contain independently extractable components suitable for reuse outside this project.

RATING: 8.1/10 MAINT: active DRIFT: low
iiab/iiab ★ 1952 143 APPLICATION

This repository is the deployment system for Internet-in-a-Box (IIAB): an offline-first learning server for schools and communities without reliable Internet. It is an Ansible configuration-management application that installs and configures a complete local network stack — nginx reverse proxy, PHP-FPM, MySQL/PostgreSQL, hostapd WiFi access point, dnsmasq DNS/DHCP, Squid proxy, captive portal, Samba, CUPS — alongside a catalog of educational services such as Kiwix (offline Wikipedia/ZIM), Kolibri, WordPress, MediaWiki, Nextcloud, Gitea, JupyterHub, Moodle, Calibre-Web, and an offline OpenStreetMap/vector-tile mapping system with geocoding. Python, PHP, and Jinja2 templates generate systemd units, nginx virtual hosts, and app configs for every deployed service. Architecture is a staged Ansible pipeline: eleven role groups (0-init through 9-local-addons, then network) are driven from top-level playbooks (iiab-stages.yml, iiab-from-cmdline.yml) invoked by shell entry points (iiab-install, iiab-configure, iiab-network). Every role follows consistent conventions: defaults in defaults/main.yml, an install.yml and enable-or-disable.yml, boolean *_install/*_enabled flags validated up front with Ansible assert tasks, install state recorded in /etc/iiab/iiab_state.yml, and disk usage audited into iiab.ini. A custom Ansible module (get_curl) performs resumable/atomic downloads used across roles. Content provisioning is data-driven: maps and ZIM catalogs are generated (roles/maps/generate-catalog.py) and fetched at install time; offline search and geometry utilities (FQR, static_search.js) are bundled into the served front end. The project is actively developed (Ubuntu 24.04 and Raspberry Pi OS CI matrices, expected-state integration tests) but carries heavy legacy baggage: a large 0-DEPRECATED-ROLES tree, numerous .unused files, Python 2 support scripts, hardcoded versions/vendor URLs, plaintext default secrets, and fragile per-distro workarounds. The reusable gems — the custom download module, the tested geographic FQR geometry utility, the client-side static geocoder, the Ansible facts script, and the pdsm proot service manager — are isolated enough to extract into new projects. Overall it is a solid, professional infrastructure-as-code project with a few genuinely reusable components, tempered by significant accumulated technical debt.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
JamesTurland/JimsGarage ★ 4652 848 APPLICATION

This repository is a comprehensive collection of infrastructure-as-code configurations for self-hosting a wide variety of services, primarily aimed at homelab enthusiasts and followers of the Jim's Garage YouTube channel. It contains Docker Compose files, Kubernetes manifests, Ansible playbooks, and shell scripts that deploy services such as Traefik, PiHole, Plex, Jellyfin, Immich, Vaultwarden, Gitea, and many more. The central architectural pattern is a reverse proxy (Traefik or Caddy) with Cloudflare DNS-01 certificate challenges, with all services attached to a shared Docker network. The repository is not a single application but a set of modular, copy-paste-friendly deployment blueprints that can be adapted to different environments by changing IP addresses, domain names, and secrets. The codebase demonstrates strong organizational patterns—consistent Traefik labels, Kubernetes IngressRoutes with security middleware, and Ansible roles for cluster provisioning. However, the repository displays technical drift: some scripts pin outdated versions (e.g., kube-vip v0.6.3, MetalLB v0.12.1), and many files use `:latest` image tags, reducing reproducibility. Hardcoded IPs and dummy secrets (annotated with `# gitleaks:allow`) are present throughout, which is acceptable for a tutorial but requires careful sanitization before production use. The inclusion of multiple orchestration options (Docker Compose, Swarm, K3S, RKE2, Ansible) provides flexibility but can confuse users about which path to follow. As a learning resource, the repository is well-structured and actively maintained, with pre-commit hooks, GitHub Actions linting, and gitleaks integration. It is not a reusable library or service but a collection of reference configurations that can be extracted and adapted. The most reusable components are the Ansible roles for RKE2 deployment, the Traefik reverse proxy configuration, and the Kubernetes defaults-headers middleware pattern. Overall, the repository serves its educational purpose effectively while offering practical templates for homelab automation.

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ansible-community/awesome-ansible ★ 1938 182 APPLICATION

This repository is a curated 'awesome' list of Ansible resources, tools, tutorials, books, videos, community links, and integrations. It does not contain any executable application code, data pipelines, or analytical models. The entire content is a single README.md file that categorizes and links to third-party Ansible-related projects. The repository is maintained by the ansible-community organization and is primarily a reference directory for the Ansible ecosystem. There are no software components to analyze; the value lies in the curated content and community contributions. The repository is not a software application or data research project, but is classified as 'application' for the purpose of this analysis due to the lack of a better-fitting category.

RATING: 6.6/10 MAINT: active DRIFT: low
activecm/BeaKer ★ 303 43 APPLICATION

BeaKer is a self-contained threat-hunting deployment for Windows network beacon detection. It provisions an Elasticsearch/Kibana backend with Docker Compose, configures Windows endpoints via a PowerShell agent installer, and ships prebuilt index templates, ingest pipelines, and Kibana dashboards for Sysmon event data. The dominant character is an application/infrastructure project: the core artifacts are deployment scripts, Ansible playbooks, and ELK configuration rather than a library or data analysis framework. A secondary data-pipeline nature is visible in the Elasticsearch ingest pipelines that normalize Windows Security/PowerShell/Sysmon events into ECS, and in the export/import tooling for dashboards and indices.

RATING: 6.6/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
antonputra/tutorials ★ 4702 3110 APPLICATION

This repository is a large collection of tutorial lessons (numbered 006 to 281) focused on DevOps, cloud infrastructure, and backend development. It contains example applications in multiple languages (Go, Rust, Python, Node.js, Java, etc.) demonstrating common patterns like CRUD APIs, database integration, caching, and monitoring. The infrastructure-as-code examples cover Kubernetes (deployments, RBAC, ingress, service meshes), Terraform (AWS, GCP, Azure), Ansible, Helm, and CI/CD with ArgoCD. A significant portion is dedicated to observability with Prometheus, Grafana, and custom exporters. The repository serves as a companion to video tutorials and is not a single production application but a learning resource. It exhibits high duplication across lessons and some pseudo-code, but contains several reusable components for monitoring, infrastructure provisioning, and performance benchmarking.

RATING: 6.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
opencmit/pangee-cluster ★ 1972 204 APPLICATION

Pangee Cluster is a graphical tool for offline Kubernetes cluster lifecycle management, including installation, upgrade, backup, node operations, and SSH access. The backend is a Go REST API (Gin) that orchestrates Ansible playbooks from versioned resource packages. The frontend is a Vue 3 single-page application (with some legacy Vue 2 patterns) that provides a comprehensive UI for cluster planning, operation execution, real-time log tailing, and SSH terminal. The tool is primarily designed for air-gapped environments where clusters are provisioned from pre-packaged resource bundles containing Kubernetes binaries, container runtimes, and Ansible roles. Despite its functional breadth, the codebase shows signs of technical debt: mixed Vue API styles, heavy mixins, no test suite, and tight coupling to a custom-patched Ansible version. The resource package abstraction and generic form editing components are notable for reusability, but overall the architecture is typical of a production tool that has evolved organically rather than being designed for clean reuse.

RATING: 6.3/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
Tikam02/DevOps-Guide ★ 9314 2083 APPLICATION

This repository is a comprehensive DevOps reference guide and cheatsheet collection, not a production application. It contains hundreds of markdown files covering topics such as Docker, Kubernetes, CI/CD tools (Jenkins, GitHub Actions, CircleCI), infrastructure provisioning (Terraform, Ansible, Puppet), cloud providers (AWS, Azure, GCP), networking, Linux, observability (Prometheus, Grafana), and interview preparation. The codebase includes a few illustrative examples (a Node.js Express app with Dockerfile, a bash system management script, Apache configuration snippets) but is overwhelmingly documentation. The content is organized by tool with consistent subdirectories (concepts, commands, tutorials), though many files are stubs or incomplete. The repository serves as a learning roadmap and quick reference, but suffers from outdated references (e.g., Node 10, Python 2), broken links, and inconsistent quality. It is not a runnable system and has no data pipelines or analytical models.

RATING: 5.3/10 MAINT: maintained DRIFT: high
▸ 1 reusable components found
── end of results ──
$ submit: